[PATCH v4 0/6] drm: zpos normalization cleanup and omapdrm to use it
Peter Ujfalusi
peter.ujfalusi at ti.com
Tue Feb 6 12:05:50 UTC 2018
Hi,
Changes since v3:
- Moved the new normalize_zpos bool to be around another bools
- Extended the commit message for sti that the drm_atomic_helper_check() is
going to ask for async_update due to the legacy cursor usage.
Changes since v2:
- Fixed commit messages (s/drm_device/drm_mode_config)
- Added ack from Benjamin Gaignard to drm/sti patch
Changes since v1:
- normalize_zpos flag moved to drm_mode_config
- Added comment to note the side effect of normalization and updated the comment
for normalized_zpos in the header file as well.
- Added Acked-by from Daniel to patch 2-6 but not for patch 1 as I'm not sure if
the comments I have added matches with what is expected to be.
The first patch is adding a flag to drm_device that drivers can set if they want
the zpos to be normalized.
Then convert exynos, tegra, sti and rcar-du to use this flag instead of
re-implementing the drm_atomic_helper_check() locally just to add the call to
drm_atomic_normalize_zpos().
The last patch is moving omapdrm to use the zpos normalization as well to comply
with the UAPI documentation regarding to zpos.
Laurent's note in an earlier thread:
https://marc.info/?l=dri-devel&m=151567355225029&w=2
"The problem is that zpos normalization requires accessing the state of all
enabled planes for a CRTC in order to compute (and store) the normalized zpos
values. This thus forces all planes to be added to the commit state, even when
the commit doesn't touch the zpos property. I assume this caused issues
(possibly performance issues) in drivers that then performed hardware setup of
all planes as a result."
can be addressed later in the core for all users of drm_atomic_normalize_zpos()
Regards,
Peter
---
Peter Ujfalusi (6):
drm: Add drm_mode_config->normalize_zpos boolean
drm/exynos: Let core take care of normalizing the zpos
drm/tegra: Let core take care of normalizing the zpos
drm/sti: Let core take care of normalizing the zpos
drm: rcar-du: Let core take care of normalizing the zpos
drm/omap: Use normalized zpos for plane placement
drivers/gpu/drm/drm_atomic_helper.c | 11 +++++++++++
drivers/gpu/drm/exynos/exynos_drm_drv.c | 20 --------------------
drivers/gpu/drm/exynos/exynos_drm_drv.h | 1 -
drivers/gpu/drm/exynos/exynos_drm_fb.c | 4 +++-
drivers/gpu/drm/omapdrm/omap_drv.c | 3 +++
drivers/gpu/drm/omapdrm/omap_plane.c | 2 +-
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 11 ++---------
drivers/gpu/drm/sti/sti_drv.c | 24 +++---------------------
drivers/gpu/drm/tegra/drm.c | 27 +++------------------------
include/drm/drm_mode_config.h | 8 ++++++++
include/drm/drm_plane.h | 4 ++--
11 files changed, 36 insertions(+), 79 deletions(-)
--
Peter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
More information about the dri-devel
mailing list