diff options
| author | Aradhya Bhatia <[email protected]> | 2025-06-05 17:15:24 +0000 |
|---|---|---|
| committer | Maxime Ripard <[email protected]> | 2025-06-06 12:24:57 +0000 |
| commit | 3e4e1f2543c060cd8cf8ededc68ea50c49b4b28a (patch) | |
| tree | f87a6a075ace099ad12fdca5a5169549b7003be6 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
| parent | drm/atomic-helper: Re-order bridge chain pre-enable and post-disable (diff) | |
| download | kernel-3e4e1f2543c060cd8cf8ededc68ea50c49b4b28a.tar.gz kernel-3e4e1f2543c060cd8cf8ededc68ea50c49b4b28a.zip | |
drm/bridge: cdns-dsi: Use pre_enable/post_disable to enable/disable
The cdns-dsi controller requires that it be turned on completely before
the input DPI's source has begun streaming[0]. Not having that, allows
for a small window before cdns-dsi enable and after cdns-dsi disable
where the previous entity (in this case tidss's videoport) to continue
streaming DPI video signals. This small window where cdns-dsi is
disabled but is still receiving signals causes the input FIFO of
cdns-dsi to get corrupted. This causes the colors to shift on the output
display. The colors can either shift by one color component (R->G, G->B,
B->R), or by two color components (R->B, G->R, B->G).
Since tidss's videoport starts streaming via crtc enable hooks, we need
cdns-dsi to be up and running before that. Now that the bridges are
pre_enabled before crtc is enabled, and post_disabled after crtc is
disabled, use the pre_enable and post_disable hooks to get cdns-dsi
ready and running before the tidss videoport to get pass the color shift
issues.
[0]: See section 12.6.5.7.3 "Start-up Procedure" in J721E SoC TRM
TRM Link: http://www.ti.com/lit/pdf/spruil1
Reviewed-by: Tomi Valkeinen <[email protected]>
Tested-by: Tomi Valkeinen <[email protected]>
Signed-off-by: Aradhya Bhatia <[email protected]>
Signed-off-by: Aradhya Bhatia <[email protected]>
Tested-by: Devarsh Thakkar <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Maxime Ripard <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
0 files changed, 0 insertions, 0 deletions
