linux_dsm_epyc7002/drivers/gpu/drm/msm/mdp/mdp5
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
..
mdp5_cfg.c drm/msm: support multiple address spaces 2016-11-27 11:23:09 -05:00
mdp5_cfg.h drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) 2015-10-22 15:39:57 -04:00
mdp5_cmd_encoder.c drm/msm/mdp5: Use updated MDP5 register names 2016-07-16 10:08:57 -04:00
mdp5_crtc.c drm/msm/mdp5: dynamically assign hw pipes to planes 2016-11-27 11:32:33 -05:00
mdp5_ctl.c drm/msm/mdp5: Use updated MDP5 register names 2016-07-16 10:08:57 -04:00
mdp5_ctl.h drm/msm/mdp5: Allocate CTL0/1 for dual DSI single FLUSH 2015-08-15 18:27:16 -04:00
mdp5_encoder.c drm/msm/mdp5: Use updated MDP5 register names 2016-07-16 10:08:57 -04:00
mdp5_irq.c drm/msm: module param to dump state on error irq 2016-11-08 16:38:03 -05:00
mdp5_kms.c drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_kms.h drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_mdss.c drm/msm: Call pm_runtime_enable/disable for newly created devices 2016-07-16 10:08:58 -04:00
mdp5_pipe.c drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_pipe.h drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_plane.c drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_smp.c drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5_smp.h drm/msm/mdp5: handle SMP block allocations "atomically" 2016-11-27 11:32:34 -05:00
mdp5.xml.h drm/msm/mdp5: Use updated MDP5 register names 2016-07-16 10:08:57 -04:00