From patchwork Wed Feb 19 09:17:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arun R Murthy X-Patchwork-Id: 13981837 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 EC478C19777 for ; Wed, 19 Feb 2025 09:32:09 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6A60810E7CF; Wed, 19 Feb 2025 09:32:07 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="BUCOCpPQ"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8F64B10E79B; Wed, 19 Feb 2025 09:32:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1739957522; x=1771493522; h=from:subject:date:message-id:mime-version: content-transfer-encoding:to:cc; bh=02I7rTuRDa1qaS7mFW6AaYZJ8pc8N8BuFguJuowb6Ps=; b=BUCOCpPQpV5Po3KenHEZpsBmFRLV5sAQInYjKxbU2fHBhJxVZcMKGNOg q4wRKv+bus+N5Oykd2e/FaPjA+/B6+YWakt1J8JiuoRFaccmC+/XADDl2 O2819wWQ3wmQwpFT4oTIJrvrwseEdCQBdOHQXZ0tT5CI6XOaFhcnqQvXM ohh3gw7h4qc4H+/6emSGW+0Hl5UQ1txnbZePx7Q31CACa/4SZ7OvXMDZK D70zNezs5lkzKcAllfPgsujNOMSVvtLsC/7XTuT5Tavm3kTrsedQQM58X WS99PuZ2/hq+Q9G12Szdja4hjEtNYukHc82ycPoSqhjuU0gvbByllFDTI w==; X-CSE-ConnectionGUID: yVSsIeAwTVuuY7wctCp+eQ== X-CSE-MsgGUID: dMcx/kpUTbSsIOozq2Bskw== X-IronPort-AV: E=McAfee;i="6700,10204,11348"; a="40551469" X-IronPort-AV: E=Sophos;i="6.13,298,1732608000"; d="scan'208";a="40551469" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Feb 2025 01:32:00 -0800 X-CSE-ConnectionGUID: tn/YWQuIS8+uiutuV3bUyA== X-CSE-MsgGUID: mqnfOjUiQk+h38o+mIOZig== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="137910319" Received: from srr4-3-linux-106-armuthy.iind.intel.com ([10.190.238.56]) by fmviesa002.fm.intel.com with ESMTP; 19 Feb 2025 01:31:58 -0800 From: Arun R Murthy Subject: [PATCH v6 0/3] Expose modifiers/formats supported by async flips Date: Wed, 19 Feb 2025 14:47:22 +0530 Message-Id: <20250219-asyn-v6-0-b959e6becb3c@intel.com> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAKKhtWcC/02OzQ6DIBAGX8VwLgSUH9tT36PxgIiFpGKzoKkxv ntR06TH2ew3mRVFC95GdCtWBHb20Y8hg7wUyDgdnhb7LjMqaSkooyXWcQm47ZVUFc0XY1B+fYP t/efQPJrMPYwDTg6s/o05Y6ymSlRMEC4lpVfMsIYpECDDBMktdx+SfREzDrvR+ZhGWI6uWezeM 6Fk9ZkwC0yx0kZow3Xbcf23b7Zt+wIGW6ML2gAAAA== X-Change-ID: 20250102-asyn-bf76730501cc To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: chaitanya.kumar.borah@intel.com, Arun R Murthy , Naveen Kumar , Sebastian Brzezinka X-Mailer: b4 0.15-dev X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" All of the formats/modifiers supported by the plane during synchronous flips are nor supported by asynchronous flips. The formats/modifiers exposed to user by IN_FORMATS exposes all formats/modifiers supported by plane and this list varies for async flips. If the async flip supported formats/modifiers are exposed to the user, user based on this list can take decision to proceed or not and avoid flip failures during async flips. Discussion around this can be located @ https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123 Userspace implementation for IN_FORMARTS_ASYNC under review @ https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063 TODO: Upon merge of the patch related to async flip https://patchwork.freedesktop.org/patch/626849/?series=139807&rev=6 the patch 5 in this series will have to make use of the new function pointer can_async_flip(). v3: Add new plane->funcs format_mod_supported_async (Ville) Arun R Murthy (3): drm/plane: Add new plane property IN_FORMATS_ASYNC drm/plane: Expose function to create format/modifier blob drm/i915/display: Populate list of async supported formats/modifiers drivers/gpu/drm/drm_mode_config.c | 7 +++ drivers/gpu/drm/drm_plane.c | 50 ++++++++++++------ .../drm/i915/display/skl_universal_plane.c | 51 +++++++++++++++++++ include/drm/drm_mode_config.h | 6 +++ include/drm/drm_plane.h | 4 ++ 5 files changed, 103 insertions(+), 15 deletions(-) --- 2.25.1 --- Arun R Murthy (5): drm/plane: Add new plane property IN_FORMATS_ASYNC drm/plane: Expose function to create format/modifier blob drm/plane: Function to check async supported modifier/format drm/i915/display: Populate list of async supported formats/modifiers drm/i915/display: Add function for format_mod_supported_async drivers/gpu/drm/drm_mode_config.c | 7 ++ drivers/gpu/drm/drm_plane.c | 72 +++++++++---- drivers/gpu/drm/i915/display/skl_universal_plane.c | 113 ++++++++++++++++++--- include/drm/drm_mode_config.h | 6 ++ include/drm/drm_plane.h | 24 +++++ 5 files changed, 188 insertions(+), 34 deletions(-) --- base-commit: 08bd590935a5258ffd79355c59adffd72fb2c642 change-id: 20250102-asyn-bf76730501cc Best regards, -- Arun R Murthy --- Changes in v6: - EDITME: describe what is new in this series revision. - EDITME: use bulletpoints and terse descriptions. - Link to v5: https://lore.kernel.org/r/20250218-asyn-v5-0-7ac5ac4abd4a@intel.com --- Arun R Murthy (3): drm/plane: Add new plane property IN_FORMATS_ASYNC drm/plane: modify create_in_formats to accommodate async drm/i915/display: Add i915 hook for format_mod_supported_async drivers/gpu/drm/drm_mode_config.c | 7 +++ drivers/gpu/drm/drm_plane.c | 53 +++++++++++++++----- drivers/gpu/drm/i915/display/skl_universal_plane.c | 56 ++++++++++++++++------ include/drm/drm_mode_config.h | 6 +++ include/drm/drm_plane.h | 17 +++++++ 5 files changed, 112 insertions(+), 27 deletions(-) --- base-commit: bc7a84cbc968ce97e581e9e3c2d26fb0ac106482 change-id: 20250102-asyn-bf76730501cc Best regards,