[PATCH v11 0/5] Expose modifiers/formats supported by async flips

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Mar 31 15:57:44 UTC 2025


On Fri, Mar 28, 2025 at 09:26:19PM +0530, Arun R Murthy wrote:
> 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.

The kernel stuff seems pretty much ready. But the userspace story
seems more unclear...

> Discussion around this can be located @
> https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123
> Mutter implementation for IN_FORMARTS_ASYNC under review @
> https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3797
seems to be the actual async flip MR for mutter. And from a quick
glance it doesn't look actually ready yet?

> Xorg/modesetting patch
> https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1816

I think this one should be in a decent state now (been running it
for a month or so). Would need some actual eyes on it now.

So I guess now we get to wait until at least one of those makes
some real progress. But in the meantime we should merge the
i915 intel_plane_can_async_flip() changes so that they don't bitrot.

> 
> 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 <arun.r.murthy at intel.com>
> 
> ---
> Changes in v11:
> - EDITME: describe what is new in this series revision.
> - EDITME: use bulletpoints and terse descriptions.
> - Link to v10: https://lore.kernel.org/r/20250328-asyn-v10-0-8b8ad12cfc97@intel.com
> 
> Changes in v9:
> - EDITME: describe what is new in this series revision.
> - EDITME: use bulletpoints and terse descriptions.
> - Link to v8: https://lore.kernel.org/r/20250312-asyn-v8-0-0c4cbe5a066d@intel.com
> 
> 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,
> --
> Arun R Murthy <arun.r.murthy at 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                        | 49 ++++++++++++++++------
>  drivers/gpu/drm/i915/display/i9xx_plane.c          |  6 ++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c  | 30 ++++++++++++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.h  |  6 ++-
>  drivers/gpu/drm/i915/display/intel_display.c       | 11 +----
>  drivers/gpu/drm/i915/display/skl_universal_plane.c |  5 ++-
>  include/drm/drm_mode_config.h                      |  6 +++
>  include/drm/drm_plane.h                            | 17 ++++++++
>  9 files changed, 111 insertions(+), 26 deletions(-)
> ---
> base-commit: be5a404c3344b7d794766f045b8f94aa93c42069
> change-id: 20250102-asyn-bf76730501cc
> 
> Best regards,
> --
> Arun R Murthy <arun.r.murthy at 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                        | 52 ++++++++++++++++------
>  drivers/gpu/drm/i915/display/i9xx_plane.c          |  6 ++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c  | 32 ++++++++++++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.h  |  6 ++-
>  drivers/gpu/drm/i915/display/intel_display.c       | 14 ++----
>  drivers/gpu/drm/i915/display/skl_universal_plane.c |  5 ++-
>  include/drm/drm_mode_config.h                      |  6 +++
>  include/drm/drm_plane.h                            | 17 +++++++
>  9 files changed, 117 insertions(+), 28 deletions(-)
> ---
> base-commit: aba848f9b752cf51474c0c3b1abcf0f572f774dc
> change-id: 20250102-asyn-bf76730501cc
> 
> Best regards,
> --
> Arun R Murthy <arun.r.murthy at intel.com>
> 
> ---
> Arun R Murthy (5):
>       drm/plane: Add new plane property IN_FORMATS_ASYNC
>       drm/plane: modify create_in_formats to acommodate async
>       drm/i915/display: Acomodate format check in can_async_flip()
>       drm/i915/display: Add i915 hook for format_mod_supported_async
>       drm/i915/display: Indexed 8bit format does not support async flip
> 
>  drivers/gpu/drm/drm_mode_config.c                  |  7 +++
>  drivers/gpu/drm/drm_plane.c                        | 52 ++++++++++++++++------
>  drivers/gpu/drm/i915/display/i9xx_plane.c          |  6 ++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c  | 22 ++++++++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.h  |  6 ++-
>  drivers/gpu/drm/i915/display/intel_display.c       | 14 ++----
>  drivers/gpu/drm/i915/display/skl_universal_plane.c |  5 ++-
>  include/drm/drm_mode_config.h                      |  6 +++
>  include/drm/drm_plane.h                            | 17 +++++++
>  9 files changed, 107 insertions(+), 28 deletions(-)
> ---
> base-commit: c1893793c7d3868fe083bdab33999178337b5561
> change-id: 20250102-asyn-bf76730501cc
> 
> Best regards,
> --
> Arun R Murthy <arun.r.murthy at intel.com>
> 
> ---
> Arun R Murthy (5):
>       drm/plane: Add new plane property IN_FORMATS_ASYNC
>       drm/plane: modify create_in_formats to acommodate async
>       drm/i915/display: Acomodate format check in intel_plane_can_async_flip()
>       drm/i915/display: Add i915 hook for format_mod_supported_async
>       drm/i915/display: Indexed 8bit format does not support async flip
> 
>  drivers/gpu/drm/drm_mode_config.c                  |  7 +++
>  drivers/gpu/drm/drm_plane.c                        | 52 ++++++++++++++++------
>  drivers/gpu/drm/i915/display/i9xx_plane.c          |  6 ++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.c  | 18 +++++++-
>  drivers/gpu/drm/i915/display/intel_atomic_plane.h  |  6 ++-
>  drivers/gpu/drm/i915/display/intel_display.c       | 14 ++----
>  drivers/gpu/drm/i915/display/skl_universal_plane.c |  5 ++-
>  include/drm/drm_mode_config.h                      |  6 +++
>  include/drm/drm_plane.h                            | 17 +++++++
>  9 files changed, 103 insertions(+), 28 deletions(-)
> ---
> base-commit: 8a0f86f7106709c73acb1477af9ad5f267d7a340
> change-id: 20250102-asyn-bf76730501cc
> 
> Best regards,
> -- 
> Arun R Murthy <arun.r.murthy at intel.com>

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list