[PATCH 11/14] drm/bridge: analogix_dp: don't wait for PLL lock too early
Robert Foss
rfoss at kernel.org
Mon Jun 10 04:48:13 PDT 2024
On Fri, May 3, 2024 at 5:12 PM Lucas Stach <l.stach at pengutronix.de> wrote:
>
> The PLL will be reconfigured later, which may cause it to go out of lock
> anyways, so there is no point in waiting for the PLL to lock here. Instead
> we can continue execution of the link setup, which will properly set the
> PLL parameters and will wait for the PLL to lock at the appropriate times.
>
> Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> ---
> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
> index d267cf05cbca..e9c643a8b6fc 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
> @@ -356,7 +356,6 @@ void analogix_dp_set_analog_power_down(struct analogix_dp_device *dp,
> int analogix_dp_init_analog_func(struct analogix_dp_device *dp)
> {
> u32 reg;
> - int timeout_loop = 0;
>
> analogix_dp_set_analog_power_down(dp, POWER_ALL, 0);
>
> @@ -368,18 +367,7 @@ int analogix_dp_init_analog_func(struct analogix_dp_device *dp)
> writel(reg, dp->reg_base + ANALOGIX_DP_DEBUG_CTL);
>
> /* Power up PLL */
> - if (analogix_dp_get_pll_lock_status(dp) == PLL_UNLOCKED) {
> - analogix_dp_set_pll_power_down(dp, 0);
> -
> - while (analogix_dp_get_pll_lock_status(dp) == PLL_UNLOCKED) {
> - timeout_loop++;
> - if (DP_TIMEOUT_LOOP_COUNT < timeout_loop) {
> - dev_err(dp->dev, "failed to get pll lock status\n");
> - return -ETIMEDOUT;
> - }
> - usleep_range(10, 20);
> - }
> - }
> + analogix_dp_set_pll_power_down(dp, 0);
>
> /* Enable Serdes FIFO function and Link symbol clock domain module */
> reg = readl(dp->reg_base + ANALOGIX_DP_FUNC_EN_2);
> --
> 2.39.2
>
Reviewed-by: Robert Foss <rfoss at kernel.org>
More information about the Linux-rockchip
mailing list