summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_blend.c
diff options
context:
space:
mode:
authorRob Clark2016-11-01 16:56:54 +0100
committerRob Clark2016-11-27 17:32:33 +0100
commit4a0f012da3e21174f34637ae3b6818c0da60f2f9 (patch)
treeed8e3069eb1f86883032bab6c5f0a12c72d0cebb /drivers/gpu/drm/drm_blend.c
parentdrm/msm/mdp5: add skeletal mdp5_state (diff)
downloadkernel-qcow2-linux-4a0f012da3e21174f34637ae3b6818c0da60f2f9.tar.gz
kernel-qcow2-linux-4a0f012da3e21174f34637ae3b6818c0da60f2f9.tar.xz
kernel-qcow2-linux-4a0f012da3e21174f34637ae3b6818c0da60f2f9.zip
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>
Diffstat (limited to 'drivers/gpu/drm/drm_blend.c')
0 files changed, 0 insertions, 0 deletions