linux_dsm_epyc7002/drivers/gpu/drm/msm/mdp
Rob Clark 49ec5b2e5a drm/msm/mdp5: handle SMP block allocations "atomically"
Previously, SMP block allocation was not checked in the plane's
atomic_check() fxn, so we could fail allocation SMP block allocation at
atomic_update() time.  Re-work the block allocation to request blocks
during atomic_check(), but not update the hw until committing the atomic
update.

Since SMP blocks allocated at atomic_check() time, we need to manage the
SMP state as part of mdp5_state (global atomic state).  This actually
ends up significantly simplifying the SMP management, as the SMP module
does not need to manage the intermediate state between assigning new
blocks before setting flush bits and releasing old blocks after vblank.
(The SMP registers and SMP allocation is not double-buffered, so newly
allocated blocks need to be updated in kms->prepare_commit() released
blocks in kms->complete_commit().)

Signed-off-by: Rob Clark <robdclark@gmail.com>
2016-11-27 11:32:34 -05:00
..
mdp4 drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
mdp5 drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -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