linux/drivers/gpu/drm/msm/mdp
Archit Taneja 0f379b79ab drm/msm/mdp5: Write to SMP registers even if allocations don't change
Requests for assigning/freeing SMP blocks by planes are collected during
the atomic check phase, and represented by mdp5_smp_state's 'assigned'
and 'released' members.

Once the atomic state is committed, these members are reset to 0,
indicating that the existing configuration satisfies all the planes.
Future atomic commits will copy the old mdp5_smp_state, and the 'assigned'
and 'released' members would be updated only if there was a change in
the plane configurations.

When we disable and re-enable display, we lose the values we wrote to the
SMP registers, but the code doesn't program the registers because there
isn't any change in mdp5_smp_state.

Fix this by writing to the registers irrespective of whether there was
a change in SMP state or not. We do this by keeping a cache of the
register values, and write them every time we commit a state.

Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
2017-08-02 07:53:46 -04:00
..
mdp4 drm/msm: Separate locking of buffer resources from struct_mutex 2017-06-17 08:03:07 -04:00
mdp5 drm/msm/mdp5: Write to SMP registers even if allocations don't change 2017-08-02 07:53:46 -04:00
mdp_common.xml.h drm/msm: update generated headers 2017-06-16 11:16:07 -04: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: Add a CAP for Source Split 2017-04-08 06:59:34 -04:00