The link training is failed when bpc value is 8.
It sure seems like the panel simply doesn't like 8bpp,
Changing the bpc to 6 allows link training to succeed.
The 8bpc log shows that link training failed.
6bpc
----
rate_mhz: 1620
valid rates: 30
bit_rate_khz: 2399760, dp_rate_mhz: 1500, ti_sn_bridge_calc_min_dp_rate_idx return: 1
8bpc
----
rate_mhz: 2160
valid rates: 30
bit_rate_khz: 3199680, dp_rate_mhz: 2000, ti_sn_bridge_calc_min_dp_rate_idx return: 2
Link training failed, link is off.
Disable the PLL if we failed.
Signed-off-by: Ajye Huang <ajye_huang@compal.corp-partner.google.com>
---
drivers/gpu/drm/panel/panel-edp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index da3e8f223ec3..13755168cd75 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -2094,7 +2094,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('S', 'H', 'P', 0x1511, &delay_200_500_e50, "LQ140M1JW48"),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x1523, &delay_80_500_e50, "LQ140M1JW46"),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x153a, &delay_200_500_e50, "LQ140T1JH01"),
- EDP_PANEL_ENTRY('S', 'H', 'P', 0x154c, &delay_200_500_p2e100, "LQ116M1JW10"),
+ EDP_PANEL_ENTRY3('S', 'H', 'P', 0x154c, &delay_200_500_p2e100, "LQ116M1JW10", 6),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x158f, &delay_200_500_p2e100, "LQ134Z1"),
EDP_PANEL_ENTRY('S', 'H', 'P', 0x1593, &delay_200_500_p2e100, "LQ134N1"),
--
2.25.1
Hi, On Wed, Oct 29, 2025 at 1:11 AM Ajye Huang <ajye_huang@compal.corp-partner.google.com> wrote: > > The link training is failed when bpc value is 8. > It sure seems like the panel simply doesn't like 8bpp, > Changing the bpc to 6 allows link training to succeed. > > The 8bpc log shows that link training failed. > 6bpc > ---- > rate_mhz: 1620 > valid rates: 30 > bit_rate_khz: 2399760, dp_rate_mhz: 1500, ti_sn_bridge_calc_min_dp_rate_idx return: 1 > > 8bpc > ---- > rate_mhz: 2160 > valid rates: 30 > bit_rate_khz: 3199680, dp_rate_mhz: 2000, ti_sn_bridge_calc_min_dp_rate_idx return: 2 > Link training failed, link is off. > Disable the PLL if we failed. Though I always appreciate details about the debugging that was done, I suspect that most people reading this won't really understand unless you give them the context that you are using the ti-sn65dsi86 bridge chip and that you are printing out values related to bridge training. I would also note that, to me, the more important test was confirming that even when you pick the same "rate_mhz" for 6bpc and 8bpc that 6bpc works and 8bpc doesn't work. > Signed-off-by: Ajye Huang <ajye_huang@compal.corp-partner.google.com> > --- > drivers/gpu/drm/panel/panel-edp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Unless folks end up preferring EDID_QUIRK_FORCE_6BPC: Reviewed-by: Douglas Anderson <dianders@chromium.org>
Hi Doug,
On Thu, Oct 30, 2025 at 7:25 AM Doug Anderson <dianders@chromium.org> wrote:
>
> Unless folks end up preferring EDID_QUIRK_FORCE_6BPC:
>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
After following your suggestion with the following, the issue goes
away during YouTube playback.
I will send a new patch for drm_edid.c, thank you so much
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index e2e85345aa9a..a73d37fe7ea1 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -250,6 +250,9 @@ static const struct edid_quirk {
EDID_QUIRK('S', 'V', 'R', 0x1019, BIT(EDID_QUIRK_NON_DESKTOP)),
EDID_QUIRK('A', 'U', 'O', 0x1111, BIT(EDID_QUIRK_NON_DESKTOP)),
+ /* LQ116M1JW10 displays noise when 8 bpc, but display fine as 6 bpc */
+ EDID_QUIRK('S', 'H', 'P', 0x154c, EDID_QUIRK_FORCE_6BPC),
+
/*
* @drm_edid_internal_quirk entries end here, following with the
* @drm_edid_quirk entries.
Hi, On Thu, Oct 30, 2025 at 2:58 AM Ajye Huang <ajye_huang@compal.corp-partner.google.com> wrote: > > Hi Doug, > > On Thu, Oct 30, 2025 at 7:25 AM Doug Anderson <dianders@chromium.org> wrote: > > > > > Unless folks end up preferring EDID_QUIRK_FORCE_6BPC: > > > > Reviewed-by: Douglas Anderson <dianders@chromium.org> > > After following your suggestion with the following, the issue goes > away during YouTube playback. > I will send a new patch for drm_edid.c, thank you so much FWIW, it is a bit baffling to me that you report link training seems to be failing yet then talk about the symptom of noise during youtube playback. If link training is failing I'd expect nothing to ever show up on the screen... -Doug
© 2016 - 2025 Red Hat, Inc.