Hi all,
This small series makes Exynos KMS a bit more robust and better aligned
with common DRM layering:
- Patch 1 treats fully off-screen planes as not visible and routes them
through the explicit disable path instead of programming zero-sized
dimensions in ->atomic_update(). This ensures the proper disable
semantics run when a plane contributes nothing to the frame, and avoids
keeping a logically enabled window around.
- Patch 2 converts mode-config initialization to
drmm_mode_config_init(), tying the lifetime to drm_device and dropping
the now-unnecessary manual drm_mode_config_cleanup() in error/unbind
paths.
- Patch 3 moves the device-wide mode_config setup (funcs/helpers and
limits) from exynos_drm_fb.c to exynos_drm_drv.c and calls
drm_mode_config_init() from inside exynos_drm_mode_config_init().
Historically Exynos put this in fb.c when the driver grew around fbdev
helpers; today it obscures ownership and ordering. Placing it in drv.c
matches other vendors, makes the init order explicit (before creating
CRTC/planes/connectors and binding components), and centralizes device-
level policy in the core driver.
No userspace ABI changes. Comments and reviews are very welcome.
Thanks,
Hoyoung Lee.
Hoyoung Lee (3):
drm/exynos: plane: Disable fully off-screen planes instead of
zero-sized update
drm/exynos: Convert to drmm_mode_config_init() and drop manual cleanup
drm/exynos: Move mode_config setup from fb.c to drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.c | 49 +++++++++++++++++++----
drivers/gpu/drm/exynos/exynos_drm_fb.c | 34 +---------------
drivers/gpu/drm/exynos/exynos_drm_fb.h | 7 +++-
drivers/gpu/drm/exynos/exynos_drm_plane.c | 12 +++++-
4 files changed, 60 insertions(+), 42 deletions(-)
--
2.34.1