Hi All,

I would like to drop this patch as [1] and [2] fixes the issue.

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/gpu/drm/bridge/adv7511/adv7533.c?h=next-20230406&id=9a0cdcd6649b76f0b7ceec0e55b0a718321e34d3

[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/gpu/drm/bridge/adv7511/adv7533.c?h=next-20230406&id=ee0285e13455fdbce5de315bdbe91b5f198a2a06

Cheers,
Biju

> -----Original Message-----
> From: Biju Das <[email protected]>
> Sent: Wednesday, March 9, 2022 3:11 PM
> To: Andrzej Hajda <[email protected]>; Neil Armstrong
> <[email protected]>; Robert Foss <[email protected]>; David
> Airlie <[email protected]>; Daniel Vetter <[email protected]>
> Cc: Biju Das <[email protected]>; Laurent Pinchart
> <[email protected]>; Jonas Karlman <[email protected]>; Jernej
> Skrabec <[email protected]>; Maxime Ripard <[email protected]>; Sam
> Ravnborg <[email protected]>; Sia Jee Heng <[email protected]>; Abhinav
> Kumar <[email protected]>; Nicolas Boichat <[email protected]>;
> [email protected]; Geert Uytterhoeven
> <[email protected]>; Chris Paterson <[email protected]>;
> Biju Das <[email protected]>; Prabhakar Mahadev Lad
> <[email protected]>; [email protected]
> Subject: [PATCH 2/2] drm/bridge: adv7533: Add option to disable lane
> switching
> 
> On Renesas RZ/{G2L,V2L} platforms changing the lanes from 4 to 3 at lower
> frequencies causes display instability. On such platforms, it is better to
> avoid switching lanes from 4 to 3 as it needs different set of PLL parameter
> constraints to make the display stable with 3 lanes.
> 
> This patch adds an option to disable lane switching if 'adi,disable-lanes-
> override' property is present in DT.
> 
> Signed-off-by: Biju Das <[email protected]>
> Reviewed-by: Lad Prabhakar <[email protected]>
> ---
>  drivers/gpu/drm/bridge/adv7511/adv7511.h | 1 +
> drivers/gpu/drm/bridge/adv7511/adv7533.c | 5 ++++-
>  2 files changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511.h
> b/drivers/gpu/drm/bridge/adv7511/adv7511.h
> index 592ecfcf00ca..7505601f10fb 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511.h
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511.h
> @@ -368,6 +368,7 @@ struct adv7511 {
>       struct mipi_dsi_device *dsi;
>       u8 num_dsi_lanes;
>       bool use_timing_gen;
> +     bool override_lanes;
> 
>       enum adv7511_type type;
>       struct platform_device *audio_pdev;
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c
> b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> index eb7579dec40a..7f6a8e95d70e 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> @@ -108,7 +108,7 @@ void adv7533_mode_set(struct adv7511 *adv, const struct
> drm_display_mode *mode)
>       if (adv->num_dsi_lanes != 4)
>               return;
> 
> -     if (mode->clock > 80000)
> +     if (!adv->override_lanes || mode->clock > 80000)
>               lanes = 4;
>       else
>               lanes = 3;
> @@ -195,6 +195,9 @@ int adv7533_parse_dt(struct device_node *np, struct
> adv7511 *adv)
>       adv->use_timing_gen = !of_property_read_bool(np,
>                                               "adi,disable-timing-generator");
> 
> +     adv->override_lanes = !of_property_read_bool(np,
> +                                             "adi,disable-lanes-override");
> +
>       /* TODO: Check if these need to be parsed by DT or not */
>       adv->rgb = true;
>       adv->embedded_sync = false;
> --
> 2.17.1

Reply via email to