* [PATCH] drm: vc4: Fix pixel-wrap issue with DVP teardown
@ 2021-06-28 13:05 Maxime Ripard
2021-07-06 9:25 ` Maxime Ripard
0 siblings, 1 reply; 2+ messages in thread
From: Maxime Ripard @ 2021-06-28 13:05 UTC (permalink / raw)
To: dri-devel, Daniel Vetter, David Airlie, Maarten Lankhorst,
Thomas Zimmermann, Maxime Ripard
Cc: Emma Anholt, Daniel Vetter, Maxime Ripard, linux-kernel,
Nicolas Saenz Julienne, linux-rpi-kernel,
bcm-kernel-feedback-list, Dave Stevenson, Phil Elwell, Tim Gover,
Dom Cobley
From: Tim Gover <tim.gover@raspberrypi.com>
Adjust the DVP enable/disable sequence to avoid a pixel getting stuck
in an internal, non resettable FIFO within PixelValve when changing
HDMI resolution.
The blank pixels features of the DVP can prevent signals back to
pixelvalve causing it to not clear the FIFO. Adjust the ordering
and timing of operations to ensure the clear signal makes it through to
pixelvalve.
Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
---
drivers/gpu/drm/vc4/vc4_hdmi.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c
index 4ebe216b10a9..472a9d6b5866 100644
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
@@ -605,12 +605,12 @@ static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder,
HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, 0);
- HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) |
- VC4_HD_VID_CTL_CLRRGB | VC4_HD_VID_CTL_CLRSYNC);
+ HDMI_WRITE(HDMI_VID_CTL, HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_CLRRGB);
+
+ mdelay(1);
HDMI_WRITE(HDMI_VID_CTL,
- HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_BLANKPIX);
-
+ HDMI_READ(HDMI_VID_CTL) & ~VC4_HD_VID_CTL_ENABLE);
vc4_hdmi_disable_scrambling(encoder);
}
@@ -620,12 +620,12 @@ static void vc4_hdmi_encoder_post_crtc_powerdown(struct drm_encoder *encoder,
struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder);
int ret;
+ HDMI_WRITE(HDMI_VID_CTL,
+ HDMI_READ(HDMI_VID_CTL) | VC4_HD_VID_CTL_BLANKPIX);
+
if (vc4_hdmi->variant->phy_disable)
vc4_hdmi->variant->phy_disable(vc4_hdmi);
- HDMI_WRITE(HDMI_VID_CTL,
- HDMI_READ(HDMI_VID_CTL) & ~VC4_HD_VID_CTL_ENABLE);
-
clk_disable_unprepare(vc4_hdmi->pixel_bvb_clock);
clk_disable_unprepare(vc4_hdmi->hsm_clock);
clk_disable_unprepare(vc4_hdmi->pixel_clock);
@@ -1017,6 +1017,7 @@ static void vc4_hdmi_encoder_post_crtc_enable(struct drm_encoder *encoder,
HDMI_WRITE(HDMI_VID_CTL,
VC4_HD_VID_CTL_ENABLE |
+ VC4_HD_VID_CTL_CLRRGB |
VC4_HD_VID_CTL_UNDERFLOW_ENABLE |
VC4_HD_VID_CTL_FRAME_COUNTER_RESET |
(vsync_pos ? 0 : VC4_HD_VID_CTL_VSYNC_LOW) |
--
2.31.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] drm: vc4: Fix pixel-wrap issue with DVP teardown
2021-06-28 13:05 [PATCH] drm: vc4: Fix pixel-wrap issue with DVP teardown Maxime Ripard
@ 2021-07-06 9:25 ` Maxime Ripard
0 siblings, 0 replies; 2+ messages in thread
From: Maxime Ripard @ 2021-07-06 9:25 UTC (permalink / raw)
To: dri-devel, Daniel Vetter, David Airlie, Maarten Lankhorst,
Thomas Zimmermann
Cc: Emma Anholt, Daniel Vetter, linux-kernel, Nicolas Saenz Julienne,
linux-rpi-kernel, bcm-kernel-feedback-list, Dave Stevenson,
Phil Elwell, Tim Gover, Dom Cobley
[-- Attachment #1: Type: text/plain, Size: 642 bytes --]
On Mon, Jun 28, 2021 at 03:05:33PM +0200, Maxime Ripard wrote:
> From: Tim Gover <tim.gover@raspberrypi.com>
>
> Adjust the DVP enable/disable sequence to avoid a pixel getting stuck
> in an internal, non resettable FIFO within PixelValve when changing
> HDMI resolution.
>
> The blank pixels features of the DVP can prevent signals back to
> pixelvalve causing it to not clear the FIFO. Adjust the ordering
> and timing of operations to ensure the clear signal makes it through to
> pixelvalve.
>
> Signed-off-by: Tim Gover <tim.gover@raspberrypi.com>
> Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Applied
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-07-06 9:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28 13:05 [PATCH] drm: vc4: Fix pixel-wrap issue with DVP teardown Maxime Ripard
2021-07-06 9:25 ` Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®