Hi Tomi, Thank you for the patch. On Tue, Mar 26, 2019 at 12:31:33PM +0200, Tomi Valkeinen wrote: > We set up the PXL PLL inside tc_main_link_setup. This is unnecessary, > and makes tc_main_link_setup depend on the video-mode, which should not > be the case. As PXL PLL is used only for the video stream (and only when > using the HW test pattern), let's move the PXL PLL setup into > tc_stream_enable. > > Also, currently the PXL PLL is only disabled if the driver if removed. > Let's disable the PXL PLL when the stream is disabled. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/bridge/tc358767.c | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c > index bfc673bd5986..f8039149a4e8 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -877,14 +877,6 @@ static int tc_main_link_setup(struct tc_data *tc) > tc_write(DP1_PLLCTRL, PLLUPDATE | PLLEN); > tc_wait_pll_lock(tc); > > - /* PXL PLL setup */ > - if (tc_test_pattern) { > - ret = tc_pxl_pll_en(tc, clk_get_rate(tc->refclk), > - 1000 * tc->mode->clock); > - if (ret) > - goto err; > - } > - > /* Reset/Enable Main Links */ > dp_phy_ctrl |= DP_PHY_RST | PHY_M1_RST | PHY_M0_RST; > tc_write(DP_PHY_CTRL, dp_phy_ctrl); > @@ -1020,6 +1012,14 @@ static int tc_stream_enable(struct tc_data *tc) > > dev_dbg(tc->dev, "stream enable\n"); > > + /* PXL PLL setup */ > + if (tc_test_pattern) { > + ret = tc_pxl_pll_en(tc, clk_get_rate(tc->refclk), > + 1000 * tc->mode->clock); > + if (ret) > + goto err; > + } > + > ret = tc_set_video_mode(tc, tc->mode); > if (ret) > goto err; > @@ -1064,6 +1064,8 @@ static int tc_stream_disable(struct tc_data *tc) > > tc_write(DP0CTL, 0); > > + tc_pxl_pll_dis(tc); > + > return 0; > err: > return ret; > @@ -1390,8 +1392,6 @@ static int tc_remove(struct i2c_client *client) > drm_bridge_remove(&tc->bridge); > drm_dp_aux_unregister(&tc->aux); > > - tc_pxl_pll_dis(tc); > - > return 0; > } > -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel