2022-01-19 23:08:49

by Tomohito Esaki

[permalink] [raw]
Subject: [RFC PATCH v4 0/3] Add support modifiers for drivers whose planes only support linear layout

Some drivers whose planes only support linear layout fb do not support format
modifiers.
These drivers should support modifiers, however the DRM core should handle this
rather than open-coding in every driver.

In this patch series, these drivers expose format modifiers based on the
following suggestion[1].

On Thu, Nov 18, 2021 at 01:02:11PM +0000, Daniel Stone wrote:
> I think the best way forward here is:
> - add a new mode_config.cannot_support_modifiers flag, and enable
> this in radeon (plus any other drivers in the same boat)
> - change drm_universal_plane_init() to advertise the LINEAR modifier
> when NULL is passed as the modifier list (including installing a
> default .format_mod_supported hook)
> - remove the mode_config.allow_fb_modifiers hook and always
> advertise modifier support, unless
> mode_config.cannot_support_modifiers is set


[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/[email protected]/#24602575

v4:
* modify documentation for fb_modifiers_not_supported flag in kerneldoc

v3: https://www.spinics.net/lists/dri-devel/msg329102.html
* change the order as follows:
1. add fb_modifiers_not_supported flag
2. add default modifiers
3. remove allow_fb_modifiers flag
* add a conditional disable in amdgpu_dm_plane_init()

v2: https://www.spinics.net/lists/dri-devel/msg328939.html
* rebase to the latest master branch (5.16.0+)
+ "drm/plane: Make format_mod_supported truly optional" patch [2]
[2] https://patchwork.freedesktop.org/patch/467940/?series=98255&rev=3

v1: https://www.spinics.net/lists/dri-devel/msg327352.html
* The initial patch set

Tomohito Esaki (3):
drm: introduce fb_modifiers_not_supported flag in mode_config
drm: add support modifiers for drivers whose planes only support
linear layout
drm: remove allow_fb_modifiers

drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 6 ++---
drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 2 ++
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 2 ++
drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 1 +
drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 ++
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
drivers/gpu/drm/drm_framebuffer.c | 6 ++---
drivers/gpu/drm/drm_ioctl.c | 2 +-
drivers/gpu/drm/drm_plane.c | 22 +++++++++----------
drivers/gpu/drm/nouveau/nouveau_display.c | 6 +++--
drivers/gpu/drm/radeon/radeon_display.c | 2 ++
.../gpu/drm/selftests/test-drm_framebuffer.c | 1 -
include/drm/drm_mode_config.h | 18 +++++----------
include/drm/drm_plane.h | 3 +++
14 files changed, 43 insertions(+), 33 deletions(-)

--
2.25.1


2022-01-20 02:09:54

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [RFC PATCH v4 0/3] Add support modifiers for drivers whose planes only support linear layout

On Tue, Jan 18, 2022 at 05:36:49PM +0900, Tomohito Esaki wrote:
> Some drivers whose planes only support linear layout fb do not support format
> modifiers.
> These drivers should support modifiers, however the DRM core should handle this
> rather than open-coding in every driver.
>
> In this patch series, these drivers expose format modifiers based on the
> following suggestion[1].
>
> On Thu, Nov 18, 2021 at 01:02:11PM +0000, Daniel Stone wrote:
> > I think the best way forward here is:
> > - add a new mode_config.cannot_support_modifiers flag, and enable
> > this in radeon (plus any other drivers in the same boat)
> > - change drm_universal_plane_init() to advertise the LINEAR modifier
> > when NULL is passed as the modifier list (including installing a
> > default .format_mod_supported hook)
> > - remove the mode_config.allow_fb_modifiers hook and always
> > advertise modifier support, unless
> > mode_config.cannot_support_modifiers is set

FWIW,
Reviewed-by: Andy Shevchenko <[email protected]>

> [1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/[email protected]/#24602575
>
> v4:
> * modify documentation for fb_modifiers_not_supported flag in kerneldoc
>
> v3: https://www.spinics.net/lists/dri-devel/msg329102.html
> * change the order as follows:
> 1. add fb_modifiers_not_supported flag
> 2. add default modifiers
> 3. remove allow_fb_modifiers flag
> * add a conditional disable in amdgpu_dm_plane_init()
>
> v2: https://www.spinics.net/lists/dri-devel/msg328939.html
> * rebase to the latest master branch (5.16.0+)
> + "drm/plane: Make format_mod_supported truly optional" patch [2]
> [2] https://patchwork.freedesktop.org/patch/467940/?series=98255&rev=3
>
> v1: https://www.spinics.net/lists/dri-devel/msg327352.html
> * The initial patch set
>
> Tomohito Esaki (3):
> drm: introduce fb_modifiers_not_supported flag in mode_config
> drm: add support modifiers for drivers whose planes only support
> linear layout
> drm: remove allow_fb_modifiers
>
> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 6 ++---
> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 2 ++
> drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 2 ++
> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 1 +
> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 ++
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
> drivers/gpu/drm/drm_framebuffer.c | 6 ++---
> drivers/gpu/drm/drm_ioctl.c | 2 +-
> drivers/gpu/drm/drm_plane.c | 22 +++++++++----------
> drivers/gpu/drm/nouveau/nouveau_display.c | 6 +++--
> drivers/gpu/drm/radeon/radeon_display.c | 2 ++
> .../gpu/drm/selftests/test-drm_framebuffer.c | 1 -
> include/drm/drm_mode_config.h | 18 +++++----------
> include/drm/drm_plane.h | 3 +++
> 14 files changed, 43 insertions(+), 33 deletions(-)
>
> --
> 2.25.1
>

--
With Best Regards,
Andy Shevchenko