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.valkei...@ti.com>

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

> ---
>  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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to