On Fri, Jan 28, 2022 at 03:08:33PM +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
[1] https://patchwork.kernel.org/project/linux-renesas-soc/patch/20190509054518....
v6:
- add Reviewed-by and Acked-by
- add a changelog per-patch
Thanks for resending with all that added, makes my life so much easier!
All applied, thanks a bunch.
Cheers, Daniel
v5: https://www.spinics.net/lists/dri-devel/msg330860.html
rebase to the latest master branch (5.17-rc1+)
- "drm/plane: Make format_mod_supported truly optional" patch [2]
[2] https://patchwork.freedesktop.org/patch/467940/?series=98255&rev=3
change default_modifiers array from non-static to static
remove terminator in default_modifiers array
use ARRAY_SIZE to get the format_modifier_count
keep a sanity check in plane init func
modify several kerneldocs
v4: https://www.spinics.net/lists/dri-devel/msg329508.html
- 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:
- add fb_modifiers_not_supported flag
- add default modifiers
- 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]
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 | 23 +++++++++++-------- 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, 45 insertions(+), 32 deletions(-)
-- 2.25.1