Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3032024pxf; Mon, 5 Apr 2021 01:00:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxphXagC3YYiMPF1vdmrf+gbikLLwL2PsmmOr/TVKVTJ/LlAOKLdffDIWzOW5DDrUZxXrgK X-Received: by 2002:a17:906:4d41:: with SMTP id b1mr5122615ejv.67.1617609600178; Mon, 05 Apr 2021 01:00:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617609600; cv=none; d=google.com; s=arc-20160816; b=Sjkjvz2RATtTr9V9f/5XwRVM93tQtOCRUyqcZsNFfevZF/C2v+v5IAnGW/HLMUvpQ+ IvfhLR+X5tJSe8f5rU7AVhFF3puEGAyGjCklri/3kSGJwL7z1y/hLp1nJmhVvXJG3wdq gx0dJNNeLCZAm3GbNfjPTpGVPQFWSkOk9TrNglRWnzXBxn4BACesJGafEftR/nlF0nVW 67UQvWYlmqMcLCTwfP1iFLpr8LUpj4EGBseDDL9HWvl1TS536SbI/jHMXcRc1wWpOxNs GUsjO+xZ1CIi+bKCjGKTg7dF8hBml7zfV7GARuGKr2+1vMZO5a8/nGJE+VgUBIBbzPcs iNhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-disposition:mime-version:message-id :subject:cc:to:from:date:dkim-signature; bh=NlN6KbhYqIPvr2/7x4/KY0Pw6vbwxZNfvJPFeHzAzZk=; b=WaKXtWJ/rmneX0fL5s5Obq085rscuw8gr3W4Uc9BbOHGxIs6hUawVPTlv/uPWKgnA8 XkFgO8RAUJ2k8LzDpnUFXm86izs29G8orK1ub1UGyjlfVoAoXdxKdQ+vdtrDkXorXtTW oxqePPg1+DrFvwyN0YgLzbb4Rxje4s9REiUsXadkUVPznY4yFJYWYcUE1GAl6tJN03Lb FH2cav9mLbCsQLIzjsmdvJn5+JXUm1bb/Us7xqPfqBNntOT9hQ58wfWqblVDztuYLfTh oojD0H6zYSjsQIfYVU2aRsXUfmSWvTtEk8XuYC0xBn+WZ74zOltsmE1tP1zRnPHJW5+9 RF0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LRMiUHwA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ec10si12665905ejb.386.2021.04.05.00.59.35; Mon, 05 Apr 2021 01:00:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LRMiUHwA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229660AbhDEGMF (ORCPT + 99 others); Mon, 5 Apr 2021 02:12:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229454AbhDEGME (ORCPT ); Mon, 5 Apr 2021 02:12:04 -0400 Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com [IPv6:2607:f8b0:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C4C97C061756 for ; Sun, 4 Apr 2021 23:11:57 -0700 (PDT) Received: by mail-pg1-x535.google.com with SMTP id w10so2011844pgh.5 for ; Sun, 04 Apr 2021 23:11:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:mime-version:content-disposition; bh=NlN6KbhYqIPvr2/7x4/KY0Pw6vbwxZNfvJPFeHzAzZk=; b=LRMiUHwAA79sCFDI4KhMhVXxTJ+JsUd4r1tdGwcTZmrYoa/ZZjhdTZMKKszcwU5pYi jG/DDKzc2+ZWeT5odmKIlrJPGTsVvkTyczbjqFPz5tFYqRsUhxySiBvaCRwm2LuL6Gg1 p+i4xZsMFjxOP5UmN0GoPdwocaQbMQDUJsHhpmcspEPmZaHdGB5C7y3ce8dExJYLyuMl 4C9rYnQmuMaFW+eMXukIBsqusUVk0XddKm15aBcbTkHNmuWNozjioeqTyH3v1VaseE9i JeVSn1NK9KjeRL2AJfaq69rhvW6qoqCH8E6jE7aND7B4HAOaknKdfKKewtMIqgmrh7ai P5LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition; bh=NlN6KbhYqIPvr2/7x4/KY0Pw6vbwxZNfvJPFeHzAzZk=; b=Q7mNJcvDT76ovK0TCWw9am0wzNTMMcvhSfSqRGOUOjn4qwtwIhT1S165QjeWQj1GuM l9wfZVjgdtaHh0zvlvI/Yt8v6O5xAEiji38xzyjHTtqXhY3dEXBaVFbrjb8oKX270Fxy eE6RcbXMDqlQ7S5QgIddAN5a4Xvs7t3kbZD9T5RM/81Z5jtDrZT4wRnofWoXWUjNUFJx deibm8KeWpOkiquWY5KyGUTDjsIVyytFlmsYWHeF/IBwQBgwcoU9I/LVHNFnSjmxfMEX eBU5sGrUvxGh1+dtyWNWQJbDsuls6AHN96p3akBHd+s6EnSXVsPGFG+inh6W1hnIAApd iFaA== X-Gm-Message-State: AOAM530YJIeAnXGP6y4YCO70d1S3A2InI2buHtxPD2YKovIcC4wnmkg0 kya3Rpl50czM6MXpo6IpEoQ= X-Received: by 2002:a65:4083:: with SMTP id t3mr21660869pgp.150.1617603117041; Sun, 04 Apr 2021 23:11:57 -0700 (PDT) Received: from adolin ([49.207.194.193]) by smtp.gmail.com with ESMTPSA id c128sm14425727pfc.76.2021.04.04.23.11.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Apr 2021 23:11:56 -0700 (PDT) Date: Mon, 5 Apr 2021 11:41:50 +0530 From: Sumera Priyadarsini To: melissa.srw@gmail.com Cc: rodrigosiqueiramelo@gmail.com, hamohammed.sa@gmail.com, daniel@ffwll.ch, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH V4 0/2] Add virtual hardware module Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patchset adds support for emulating virtual hardware with VKMS. The virtual hardware mode can be enabled by using the following command while loading the module: sudo modprobe vkms enable_virtual_hw=1 The first patch is prep work for adding virtual_hw mode and refactors the plane composition in vkms by adding a helper function vkms_composer_common() which can be used for both vblank mode and virtual mode. The second patch adds virtual hardware support as a module option. It adds new atomic helper functions for the virtual mode and modifies the existing atomic helpers for usage by the vblank mode This gives us two sets of drm_crtc_helper_funcs struct for both modes, making the code flow cleaner and easier to debug. This patchset has been tested with the igt tests- kms_writeback, kms_atomic, kms_lease, kms_flip, kms_pipe_get_crc and preserves results except for subtests related to crc reads and skips tests that rely on vertical blanking. This patchset must be tested after incorporating the igt-tests patch: https://lists.freedesktop.org/archives/igt-dev/2021-February/029355.html Sumera Priyadarsini (2): drm/vkms: Refactor vkms_composer_worker() to prep for virtual_hw mode drm/vkms: Add support for virtual hardware mode drivers/gpu/drm/vkms/vkms_composer.c | 88 +++++++++++++++++----------- drivers/gpu/drm/vkms/vkms_crtc.c | 51 +++++++++++----- drivers/gpu/drm/vkms/vkms_drv.c | 18 ++++-- drivers/gpu/drm/vkms/vkms_drv.h | 4 ++ 4 files changed, 109 insertions(+), 52 deletions(-) -- 2.25.1