Message ID | 5339589121b05c0db7ee4befdc48c7e4ab4f1653.1649230434.git.Sandor.yu@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | DRM: Bridge: DW_HDMI: Add new features and bug fix | expand |
Hi, On 06/04/2022 10:48, Sandor.yu@nxp.com wrote: > From: Sandor Yu <Sandor.yu@nxp.com> > > iMX865 HDMI (v2.13a) have been identified as needing the workaround. > Tests show that one iteration is enough. > > Without the workaround, iMX865 HDMI audio may not work > after cable plugout/in, because HDMI mode is not really set in > register HDMI_FC_INVIDCONF. > > Signed-off-by: Sandor Yu <Sandor.yu@nxp.com> > --- > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > index 4befc104d220..b11577de4836 100644 > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > @@ -2087,9 +2087,9 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) > * > * The number of iterations matters and depends on the HDMI TX revision > * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL > - * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been identified > - * as needing the workaround, with 4 iterations for v1.30a and 1 > - * iteration for others. > + * (v1.31a), iMX865(v2.13a) and multiple Allwinner SoCs (v1.32a) > + * have been identified as needing the workaround, > + * with 4 iterations for v1.30a and 1 iteration for others. > * The Amlogic Meson GX SoCs (v2.01a) have been identified as needing > * the workaround with a single iteration. > * The Rockchip RK3288 SoC (v2.00a) and RK3328/RK3399 SoCs (v2.11a) have > @@ -2106,6 +2106,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) > case 0x201a: > case 0x211a: > case 0x212a: > + case 0x213a: > count = 1; > break; At some point we must consider only v1.30a needs 4, and other needs 1. It would be simpler to put the "count = 1" in a default case. The comment change is still welcome so we can track. Thanks, Neil > default:
Hi, > -----Original Message----- > From: Neil Armstrong <narmstrong@baylibre.com> > Sent: 2022年4月6日 17:17 > To: Sandor Yu <sandor.yu@nxp.com>; dri-devel@lists.freedesktop.org; > linux-kernel@vger.kernel.org; andrzej.hajda@intel.com; > robert.foss@linaro.org; Laurent.pinchart@ideasonboard.com; > jonas@kwiboo.se; jernej.skrabec@gmail.com > Cc: S.J. Wang <shengjiu.wang@nxp.com>; cai.huoqing@linux.dev; > maxime@cerno.tech; harry.wentland@amd.com; hverkuil-cisco@xs4all.nl; > amuel@sholland.org > Subject: [EXT] Re: [PATCH v1 2/5] drm: bridge: dw_hdmi: enable overflow > workaround for v2.13a > > Caution: EXT Email > > Hi, > > On 06/04/2022 10:48, Sandor.yu@nxp.com wrote: > > From: Sandor Yu <Sandor.yu@nxp.com> > > > > iMX865 HDMI (v2.13a) have been identified as needing the workaround. > > Tests show that one iteration is enough. > > > > Without the workaround, iMX865 HDMI audio may not work after cable > > plugout/in, because HDMI mode is not really set in register > > HDMI_FC_INVIDCONF. > > > > Signed-off-by: Sandor Yu <Sandor.yu@nxp.com> > > --- > > drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > index 4befc104d220..b11577de4836 100644 > > --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c > > @@ -2087,9 +2087,9 @@ static void dw_hdmi_clear_overflow(struct > dw_hdmi *hdmi) > > * > > * The number of iterations matters and depends on the HDMI TX > revision > > * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL > > - * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been > identified > > - * as needing the workaround, with 4 iterations for v1.30a and 1 > > - * iteration for others. > > + * (v1.31a), iMX865(v2.13a) and multiple Allwinner SoCs (v1.32a) > > + * have been identified as needing the workaround, > > + * with 4 iterations for v1.30a and 1 iteration for others. > > * The Amlogic Meson GX SoCs (v2.01a) have been identified as > needing > > * the workaround with a single iteration. > > * The Rockchip RK3288 SoC (v2.00a) and RK3328/RK3399 SoCs > > (v2.11a) have @@ -2106,6 +2106,7 @@ static void > dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) > > case 0x201a: > > case 0x211a: > > case 0x212a: > > + case 0x213a: > > count = 1; > > break; > > At some point we must consider only v1.30a needs 4, and other needs 1. > > It would be simpler to put the "count = 1" in a default case. > Agree, I will put the "count = 1 " to default case. > The comment change is still welcome so we can track. > > Thanks, > Neil > > > default: Thanks Sandor
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 4befc104d220..b11577de4836 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2087,9 +2087,9 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) * * The number of iterations matters and depends on the HDMI TX revision * (and possibly on the platform). So far i.MX6Q (v1.30a), i.MX6DL - * (v1.31a) and multiple Allwinner SoCs (v1.32a) have been identified - * as needing the workaround, with 4 iterations for v1.30a and 1 - * iteration for others. + * (v1.31a), iMX865(v2.13a) and multiple Allwinner SoCs (v1.32a) + * have been identified as needing the workaround, + * with 4 iterations for v1.30a and 1 iteration for others. * The Amlogic Meson GX SoCs (v2.01a) have been identified as needing * the workaround with a single iteration. * The Rockchip RK3288 SoC (v2.00a) and RK3328/RK3399 SoCs (v2.11a) have @@ -2106,6 +2106,7 @@ static void dw_hdmi_clear_overflow(struct dw_hdmi *hdmi) case 0x201a: case 0x211a: case 0x212a: + case 0x213a: count = 1; break; default: