diff mbox series

[v3,4/6] drm/bridge: tc358767: Disable MIPI_DSI_CLOCK_NON_CONTINUOUS

Message ID 20240623143846.12603-4-marex@denx.de (mailing list archive)
State New, archived
Headers show
Series [v3,1/6] drm/bridge: tc358767: Split tc_pxl_pll_en() into parameter calculation and enablement | expand

Commit Message

Marek Vasut June 23, 2024, 2:38 p.m. UTC
The MIPI_DSI_CLOCK_NON_CONTINUOUS causes visible artifacts in high
resolution modes, disable it. Namely, in DSI->DP mode 1920x1200 24
bpp 59.95 Hz, with DSI bus at maximum 1 Gbps per lane setting, the
image contains jittering empty lines.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Robert Foss <rfoss@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: dri-devel@lists.freedesktop.org
Cc: kernel@dh-electronics.com
---
V2: No change
V3: No change
---
 drivers/gpu/drm/bridge/tc358767.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexander Stein June 24, 2024, 7:45 a.m. UTC | #1
Hi,

Am Sonntag, 23. Juni 2024, 16:38:36 CEST schrieb Marek Vasut:
> The MIPI_DSI_CLOCK_NON_CONTINUOUS causes visible artifacts in high
> resolution modes, disable it. Namely, in DSI->DP mode 1920x1200 24
> bpp 59.95 Hz, with DSI bus at maximum 1 Gbps per lane setting, the
> image contains jittering empty lines.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>

I can't see these artifacts in 1920x1200 24bpp, but still looks good to me
Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com>

> ---
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Robert Foss <rfoss@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: dri-devel@lists.freedesktop.org
> Cc: kernel@dh-electronics.com
> ---
> V2: No change
> V3: No change
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index c4e2455ad95e4..a48454fe2f634 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -2303,7 +2303,7 @@ static int tc_mipi_dsi_host_attach(struct tc_data *tc)
>  	dsi->lanes = dsi_lanes;
>  	dsi->format = MIPI_DSI_FMT_RGB888;
>  	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> -			  MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
> +			  MIPI_DSI_MODE_LPM;
>  
>  	ret = devm_mipi_dsi_attach(dev, dsi);
>  	if (ret < 0) {
>
Alexander Stein June 24, 2024, 9:06 a.m. UTC | #2
Am Montag, 24. Juni 2024, 09:45:13 CEST schrieb Alexander Stein:
> Hi,
> 
> Am Sonntag, 23. Juni 2024, 16:38:36 CEST schrieb Marek Vasut:
> > The MIPI_DSI_CLOCK_NON_CONTINUOUS causes visible artifacts in high
> > resolution modes, disable it. Namely, in DSI->DP mode 1920x1200 24
> > bpp 59.95 Hz, with DSI bus at maximum 1 Gbps per lane setting, the
> > image contains jittering empty lines.
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> 
> I can't see these artifacts in 1920x1200 24bpp, but still looks good to me
> Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com>

I have to retract that. After checking for those mentioned artifacts
I noticed that the DP output was running without any issues.
There is something more going on here. Reverting this patch there wasn't
a single output problem.
This changes actually breaks my DSI connection randomly.
Sometimes it works, sometimes not. I also noticed that there wasn't even
a single DP link training failure, so I assume the DSI clock somehow
affected the internal state machine which even affected DP link training.
Until we know what's going on, NAK form me.

Best regards,
Alexander
> > ---
> > Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > Cc: David Airlie <airlied@gmail.com>
> > Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> > Cc: Jonas Karlman <jonas@kwiboo.se>
> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Neil Armstrong <neil.armstrong@linaro.org>
> > Cc: Robert Foss <rfoss@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: dri-devel@lists.freedesktop.org
> > Cc: kernel@dh-electronics.com
> > ---
> > V2: No change
> > V3: No change
> > ---
> >  drivers/gpu/drm/bridge/tc358767.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> > index c4e2455ad95e4..a48454fe2f634 100644
> > --- a/drivers/gpu/drm/bridge/tc358767.c
> > +++ b/drivers/gpu/drm/bridge/tc358767.c
> > @@ -2303,7 +2303,7 @@ static int tc_mipi_dsi_host_attach(struct tc_data *tc)
> >  	dsi->lanes = dsi_lanes;
> >  	dsi->format = MIPI_DSI_FMT_RGB888;
> >  	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> > -			  MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
> > +			  MIPI_DSI_MODE_LPM;
> >  
> >  	ret = devm_mipi_dsi_attach(dev, dsi);
> >  	if (ret < 0) {
> > 
> 
> 
>
Marek Vasut June 24, 2024, 12:46 p.m. UTC | #3
On 6/24/24 11:06 AM, Alexander Stein wrote:
> Am Montag, 24. Juni 2024, 09:45:13 CEST schrieb Alexander Stein:
>> Hi,
>>
>> Am Sonntag, 23. Juni 2024, 16:38:36 CEST schrieb Marek Vasut:
>>> The MIPI_DSI_CLOCK_NON_CONTINUOUS causes visible artifacts in high
>>> resolution modes, disable it. Namely, in DSI->DP mode 1920x1200 24
>>> bpp 59.95 Hz, with DSI bus at maximum 1 Gbps per lane setting, the
>>> image contains jittering empty lines.
>>>
>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>
>> I can't see these artifacts in 1920x1200 24bpp, but still looks good to me
>> Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> 
> I have to retract that. After checking for those mentioned artifacts
> I noticed that the DP output was running without any issues.
> There is something more going on here. Reverting this patch there wasn't
> a single output problem.
> This changes actually breaks my DSI connection randomly.
> Sometimes it works, sometimes not. I also noticed that there wasn't even
> a single DP link training failure, so I assume the DSI clock somehow
> affected the internal state machine which even affected DP link training.
> Until we know what's going on, NAK form me.

I can temporarily drop this patch and keep the remaining five if that's 
OK with you ?
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
index c4e2455ad95e4..a48454fe2f634 100644
--- a/drivers/gpu/drm/bridge/tc358767.c
+++ b/drivers/gpu/drm/bridge/tc358767.c
@@ -2303,7 +2303,7 @@  static int tc_mipi_dsi_host_attach(struct tc_data *tc)
 	dsi->lanes = dsi_lanes;
 	dsi->format = MIPI_DSI_FMT_RGB888;
 	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
-			  MIPI_DSI_MODE_LPM | MIPI_DSI_CLOCK_NON_CONTINUOUS;
+			  MIPI_DSI_MODE_LPM;
 
 	ret = devm_mipi_dsi_attach(dev, dsi);
 	if (ret < 0) {