Message ID | 20230108165656.136871-10-dmitry.baryshkov@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | drm/bridge: lt9611: several fixes and improvements | expand |
On 08/01/2023 17:56, Dmitry Baryshkov wrote: > Attaching DVI sink to the lt9611 requires different setup. Fix the > register write to make the DVI displays sync onto the correct sync > pulse. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > drivers/gpu/drm/bridge/lontium-lt9611.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c > index 773d7a56f86f..7f9be74acf0d 100644 > --- a/drivers/gpu/drm/bridge/lontium-lt9611.c > +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c > @@ -352,13 +352,16 @@ static int lt9611_video_check(struct lt9611 *lt9611) > return temp; > } > > -static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611) > +static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611, bool is_hdmi) > { > regmap_write(lt9611->regmap, 0x8443, 0x46 - lt9611->vic); > regmap_write(lt9611->regmap, 0x8447, lt9611->vic); > regmap_write(lt9611->regmap, 0x843d, 0x0a); /* UD1 infoframe */ > > - regmap_write(lt9611->regmap, 0x82d6, 0x8c); > + if (is_hdmi) > + regmap_write(lt9611->regmap, 0x82d6, 0x8c); > + else > + regmap_write(lt9611->regmap, 0x82d6, 0x0c); > regmap_write(lt9611->regmap, 0x82d7, 0x04); > } > > @@ -719,7 +722,7 @@ lt9611_bridge_atomic_enable(struct drm_bridge *bridge, > } > > lt9611_mipi_input_analog(lt9611); > - lt9611_hdmi_tx_digital(lt9611); > + lt9611_hdmi_tx_digital(lt9611, connector->display_info.is_hdmi); > lt9611_hdmi_tx_phy(lt9611); > > msleep(500); Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c index 773d7a56f86f..7f9be74acf0d 100644 --- a/drivers/gpu/drm/bridge/lontium-lt9611.c +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -352,13 +352,16 @@ static int lt9611_video_check(struct lt9611 *lt9611) return temp; } -static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611) +static void lt9611_hdmi_tx_digital(struct lt9611 *lt9611, bool is_hdmi) { regmap_write(lt9611->regmap, 0x8443, 0x46 - lt9611->vic); regmap_write(lt9611->regmap, 0x8447, lt9611->vic); regmap_write(lt9611->regmap, 0x843d, 0x0a); /* UD1 infoframe */ - regmap_write(lt9611->regmap, 0x82d6, 0x8c); + if (is_hdmi) + regmap_write(lt9611->regmap, 0x82d6, 0x8c); + else + regmap_write(lt9611->regmap, 0x82d6, 0x0c); regmap_write(lt9611->regmap, 0x82d7, 0x04); } @@ -719,7 +722,7 @@ lt9611_bridge_atomic_enable(struct drm_bridge *bridge, } lt9611_mipi_input_analog(lt9611); - lt9611_hdmi_tx_digital(lt9611); + lt9611_hdmi_tx_digital(lt9611, connector->display_info.is_hdmi); lt9611_hdmi_tx_phy(lt9611); msleep(500);
Attaching DVI sink to the lt9611 requires different setup. Fix the register write to make the DVI displays sync onto the correct sync pulse. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/bridge/lontium-lt9611.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)