linux_dsm_epyc7002/drivers/gpu/drm/msm/mdp
Rob Clark 4a0f012da3 drm/msm/mdp5: dynamically assign hw pipes to planes
(re)assign the hw pipes to planes based on required caps, and to handle
situations where we could not modify an in-use plane (ie. SMP block
reallocation).

This means all planes advertise the superset of formats and properties.
Userspace must (as always) use atomic TEST_ONLY step for atomic updates,
as not all planes may be available for use on every frame.

The mapping of hwpipe to plane is stored in mdp5_state, so that state
updates are atomically committed in the same way that plane/etc state
updates are managed.  This is needed because the mdp5_plane_state keeps
a pointer to the hwpipe, and we don't want global state to become out
of sync with the plane state if an atomic update fails, we hit deadlock/
backoff scenario, etc.  The use of state_lock keeps multiple parallel
updates which both re-assign hwpipes properly serialized.

Signed-off-by: Rob Clark <robdclark@gmail.com>
2016-11-27 11:32:33 -05:00
..
mdp4 drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
mdp5 drm/msm/mdp5: dynamically assign hw pipes to planes 2016-11-27 11:32:33 -05:00
mdp_common.xml.h drm/msm: update generated headers 2016-03-03 11:55:27 -05:00
mdp_format.c drm/msm/mdp: Add support for more RGBX formats 2016-05-08 10:22:16 -04:00
mdp_kms.c drm/msm/mdp: Clear pending interrupt status before enable interrupt 2015-08-15 18:27:27 -04:00
mdp_kms.h drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) 2015-10-22 15:39:57 -04:00