diff options
author | Tomohito Esaki <etom@igel.co.jp> | 2022-01-28 15:08:34 +0900 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2022-01-31 21:45:23 +0100 |
commit | 2af104290da5e4858e8caefa068827d7392c6a09 (patch) | |
tree | 4760e7ee41888b74c664dc9bee58fd8b28a7b10f /include/drm/drm_mode_config.h | |
parent | 9987151a90567785beebcbd5c8ac58d05f254137 (diff) | |
download | linux-2af104290da5e4858e8caefa068827d7392c6a09.tar.gz linux-2af104290da5e4858e8caefa068827d7392c6a09.tar.bz2 linux-2af104290da5e4858e8caefa068827d7392c6a09.zip |
drm: introduce fb_modifiers_not_supported flag in mode_config
If only linear modifier is advertised, since there are many drivers that
only linear supported, the DRM core should handle this rather than
open-coding in every driver. However, there are legacy drivers such as
radeon that do not support modifiers but infer the actual layout of the
underlying buffer. Therefore, a new flag fb_modifiers_not_supported is
introduced for these legacy drivers, and allow_fb_modifiers is replaced
with this new flag.
v3:
- 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()
v4:
- modify kernel docs
v5:
- modify kernel docs
Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220128060836.11216-2-etom@igel.co.jp
Diffstat (limited to 'include/drm/drm_mode_config.h')
-rw-r--r-- | include/drm/drm_mode_config.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index 91ca575a78de..4a93dac91cf9 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -934,6 +934,16 @@ struct drm_mode_config { bool allow_fb_modifiers; /** + * @fb_modifiers_not_supported: + * + * When this flag is set, the DRM device will not expose modifier + * support to userspace. This is only used by legacy drivers that infer + * the buffer layout through heuristics without using modifiers. New + * drivers shall not set fhis flag. + */ + bool fb_modifiers_not_supported; + + /** * @normalize_zpos: * * If true the drm core will call drm_atomic_normalize_zpos() as part of |