mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-04 19:56:40 +07:00
8480adacfd
Dynamically assign a right mixer to mdp5_crtc_state in the CRTC's atomic_check path. Assigning the right mixer has some constraints, i.e, only a few LMs can be paired together. Update mdp5_mixer_assign to handle these constraints. Firstly, we need to identify whether we need a right mixer or not. At the moment, there are 2 scenarios where a right mixer might be needed: - If any of the planes connected to this CRTC is too wide (i.e, is comprised of 2 hwpipes). - If the CRTC's mode itself is too wide (i.e, a 4K mode on HDMI). We implement both these checks in the mdp5_crtc_atomic_check(), and pass 'need_right_mixer' to mdp5_setup_pipeline. If a CRTC is already assigned a single mixer, and a new atomic commit brings in a drm_plane that needs 2 hwpipes, we can successfully commit this mode without requiring a full modeset, provided that we still use the previously assigned mixer as the left mixer. If such an assignment isn't possible, we'd need to do a full modeset. This scenario has been ignored for now. The mixer assignment code is a bit messy, considering we have at most 4 LM instances in hardware. This can probably be re-visited later with simplified logic. Signed-off-by: Archit Taneja <architt@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com> |
||
---|---|---|
.. | ||
adreno | ||
dsi | ||
edp | ||
hdmi | ||
mdp | ||
Kconfig | ||
Makefile | ||
msm_atomic.c | ||
msm_debugfs.c | ||
msm_debugfs.h | ||
msm_drv.c | ||
msm_drv.h | ||
msm_fb.c | ||
msm_fbdev.c | ||
msm_fence.c | ||
msm_fence.h | ||
msm_gem_prime.c | ||
msm_gem_shrinker.c | ||
msm_gem_submit.c | ||
msm_gem_vma.c | ||
msm_gem.c | ||
msm_gem.h | ||
msm_gpu.c | ||
msm_gpu.h | ||
msm_iommu.c | ||
msm_kms.h | ||
msm_mmu.h | ||
msm_perf.c | ||
msm_rd.c | ||
msm_ringbuffer.c | ||
msm_ringbuffer.h | ||
NOTES |