drm/vc4: hdmi: Correct HDMI timing registers for interlaced modes
For interlaced modes the timings were not being correctly
programmed into the HDMI block, so correct them.
Fixes: 8323989140
("drm/vc4: hdmi: Support the BCM2711 HDMI controllers")
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://lore.kernel.org/r/20220613144800.326124-33-maxime@cerno.tech
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
parent
c94cd0620a
commit
fb10dc451c
|
@ -1036,13 +1036,13 @@ static void vc5_hdmi_set_timings(struct vc4_hdmi *vc4_hdmi,
|
|||
VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
|
||||
VC5_HDMI_VERTA_VFP) |
|
||||
VC4_SET_FIELD(mode->crtc_vdisplay, VC5_HDMI_VERTA_VAL));
|
||||
u32 vertb = (VC4_SET_FIELD(0, VC5_HDMI_VERTB_VSPO) |
|
||||
VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end +
|
||||
interlaced,
|
||||
u32 vertb = (VC4_SET_FIELD(mode->htotal >> (2 - pixel_rep),
|
||||
VC5_HDMI_VERTB_VSPO) |
|
||||
VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end,
|
||||
VC4_HDMI_VERTB_VBP));
|
||||
u32 vertb_even = (VC4_SET_FIELD(0, VC5_HDMI_VERTB_VSPO) |
|
||||
VC4_SET_FIELD(mode->crtc_vtotal -
|
||||
mode->crtc_vsync_end,
|
||||
mode->crtc_vsync_end - interlaced,
|
||||
VC4_HDMI_VERTB_VBP));
|
||||
unsigned long flags;
|
||||
unsigned char gcp;
|
||||
|
|
Loading…
Reference in New Issue