From patchwork Tue May 9 15:04:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ma=C3=ADra_Canal?= X-Patchwork-Id: 13235860 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BC46EC77B7C for ; Tue, 9 May 2023 15:05:57 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 88AAA10E386; Tue, 9 May 2023 15:05:56 +0000 (UTC) Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by gabe.freedesktop.org (Postfix) with ESMTPS id D588E10E023 for ; Tue, 9 May 2023 15:05:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=jHa6CPDFuj+jx40hNfLAmMtwCq8EHXIxRo6PzzN2Gck=; b=SYCyeIQ2QII/9xh5k1eXBEa1A5 dku+ea1M7sPSF/XGUHPk++tZjXsCfKaPJxVZZwI+R930jfdz787J0ROOW3nLvG9fahZNeuPXpFtSD Oe3SgJa3NzbNbYQCCxJO5cP/r4HN9rkTkSqj82YAqfm7iz9i7wgobKJYVv0UjvuXzyuZParCzuF6Z u6+K+OUz4lJ1L600NUErLjj1cByn/CPK2z63K40um3O+piJCqsZpxlNl8BETEjeW3eUQYou0NI7WW rK/d8jaYh+0aEOSS0X+ceO4eGoGtOnlTruY+MqQPbV1FtAaM15CfxBpSSupCOsh/Ct8RT0y4EI+AC 22Hzgu7g==; Received: from 179-241-20-132.3g.claro.net.br ([179.241.20.132] helo=bowie..) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1pwOuQ-004xfg-MO; Tue, 09 May 2023 17:05:47 +0200 From: =?utf-8?q?Ma=C3=ADra_Canal?= To: David Airlie , Daniel Vetter , Rodrigo Siqueira , Melissa Wen , Haneen Mohammed , Arthur Grillo Subject: [PATCH 0/2] drm/vkms: Enable Virtual Hardware support Date: Tue, 9 May 2023 12:04:59 -0300 Message-Id: <20230509150501.81875-1-mcanal@igalia.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Ma=C3=ADra_Canal?= , dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This patchset is a rebase of a series sent a while ago that intended to enable virtual hardware support on the VKMS. The original patchset, developed by Sumera Priyadarsini, is available on [1]. From the original patchset, not much has changed. It was essentially just rebasing the code to the new VKMS composition structure. The virtual hardware mode can be enabled by using the following command: modprobe vkms enable_virtual_hw=1 The first patch is prep-work for adding the virtual HW mode. It refactors the plane composition in VKMS by adding a helper function vkms_composer_common() which can be used for both vblank-mode and vblankless-mode. The second patch adds the virtual hardware support as a module parameter option. It adds a new atomic helper functions for the virtual mode and uses the existing atomic helpers for vblank mode. This gives us two sets of drm_crtc_funcs and drm_crtc_helper_funcs structs for both modes, making the code flow cleaner and easier to debug. This patchset has been tested with the following IGT tests: kms_writeback, kms_atomic, kms_lease, and kms_flip and preserves results, except for subtests related to CRC reads and vertical blanking. In which case, tests skip or fail. [1] https://patchwork.freedesktop.org/series/93277/ Best Regards, - Maíra Canal Maíra Canal (1): drm/vkms: Refactor vkms_composer_worker() as preparation for virtual HW Sumera Priyadarsini (1): drm/vkms: Add support for Virtual Hardware mode drivers/gpu/drm/vkms/vkms_composer.c | 55 ++++++++++++++++++++------- drivers/gpu/drm/vkms/vkms_crtc.c | 38 ++++++++++++++++-- drivers/gpu/drm/vkms/vkms_drv.c | 16 ++++++-- drivers/gpu/drm/vkms/vkms_drv.h | 2 + drivers/gpu/drm/vkms/vkms_writeback.c | 8 +++- 5 files changed, 97 insertions(+), 22 deletions(-)