Hi Tomi,

Thank you for the patch.

On Tue, Mar 26, 2019 at 12:31:32PM +0200, Tomi Valkeinen wrote:
> It is nicer to have enable/disable functions instead of set(bool enable)
> style function.

When the two functions have nothing in common, yes.

> Split tc_main_link_stream into tc_stream_enable and tc_stream_disable.

Should you keep the tc_main_link_ prefix ? I suppose it is implied in a
way, as the stream is carried over the main link.

> Signed-off-by: Tomi Valkeinen <tomi.valkei...@ti.com>
> ---
>  drivers/gpu/drm/bridge/tc358767.c | 81 +++++++++++++++++--------------
>  1 file changed, 45 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/tc358767.c 
> b/drivers/gpu/drm/bridge/tc358767.c
> index 86b272422281..bfc673bd5986 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1013,47 +1013,56 @@ static int tc_main_link_setup(struct tc_data *tc)
>       return ret;
>  }
>  
> -static int tc_main_link_stream(struct tc_data *tc, int state)
> +static int tc_stream_enable(struct tc_data *tc)
>  {
>       int ret;
>       u32 value;
>  
> -     dev_dbg(tc->dev, "stream: %d\n", state);
> +     dev_dbg(tc->dev, "stream enable\n");

Maybe "enable video stream\n" (and similarly for the tc_stream_disable()
function) ?

>  
> -     if (state) {
> -             ret = tc_set_video_mode(tc, tc->mode);
> -             if (ret)
> -                     goto err;
> +     ret = tc_set_video_mode(tc, tc->mode);
> +     if (ret)
> +             goto err;

Let's return ret directly and remove the err label.

With these issues addressed,

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

>  
> -             /* Set M/N */
> -             ret = tc_stream_clock_calc(tc);
> -             if (ret)
> -                     goto err;
> +     /* Set M/N */
> +     ret = tc_stream_clock_calc(tc);
> +     if (ret)
> +             goto err;
>  
> -             value = VID_MN_GEN | DP_EN;
> -             if (tc->link.base.capabilities & DP_LINK_CAP_ENHANCED_FRAMING)
> -                     value |= EF_EN;
> -             tc_write(DP0CTL, value);
> -             /*
> -              * VID_EN assertion should be delayed by at least N * LSCLK
> -              * cycles from the time VID_MN_GEN is enabled in order to
> -              * generate stable values for VID_M. LSCLK is 270 MHz or
> -              * 162 MHz, VID_N is set to 32768 in  tc_stream_clock_calc(),
> -              * so a delay of at least 203 us should suffice.
> -              */
> -             usleep_range(500, 1000);
> -             value |= VID_EN;
> -             tc_write(DP0CTL, value);
> -             /* Set input interface */
> -             value = DP0_AUDSRC_NO_INPUT;
> -             if (tc_test_pattern)
> -                     value |= DP0_VIDSRC_COLOR_BAR;
> -             else
> -                     value |= DP0_VIDSRC_DPI_RX;
> -             tc_write(SYSCTRL, value);
> -     } else {
> -             tc_write(DP0CTL, 0);
> -     }
> +     value = VID_MN_GEN | DP_EN;
> +     if (tc->link.base.capabilities & DP_LINK_CAP_ENHANCED_FRAMING)
> +             value |= EF_EN;
> +     tc_write(DP0CTL, value);
> +     /*
> +      * VID_EN assertion should be delayed by at least N * LSCLK
> +      * cycles from the time VID_MN_GEN is enabled in order to
> +      * generate stable values for VID_M. LSCLK is 270 MHz or
> +      * 162 MHz, VID_N is set to 32768 in  tc_stream_clock_calc(),
> +      * so a delay of at least 203 us should suffice.
> +      */
> +     usleep_range(500, 1000);
> +     value |= VID_EN;
> +     tc_write(DP0CTL, value);
> +     /* Set input interface */
> +     value = DP0_AUDSRC_NO_INPUT;
> +     if (tc_test_pattern)
> +             value |= DP0_VIDSRC_COLOR_BAR;
> +     else
> +             value |= DP0_VIDSRC_DPI_RX;
> +     tc_write(SYSCTRL, value);
> +
> +     return 0;
> +err:
> +     return ret;
> +}
> +
> +static int tc_stream_disable(struct tc_data *tc)
> +{
> +     int ret;
> +
> +     dev_dbg(tc->dev, "stream disable\n");
> +
> +     tc_write(DP0CTL, 0);
>  
>       return 0;
>  err:
> @@ -1078,7 +1087,7 @@ static void tc_bridge_enable(struct drm_bridge *bridge)
>               return;
>       }
>  
> -     ret = tc_main_link_stream(tc, 1);
> +     ret = tc_stream_enable(tc);
>       if (ret < 0) {
>               dev_err(tc->dev, "main link stream start error: %d\n", ret);
>               return;
> @@ -1094,7 +1103,7 @@ static void tc_bridge_disable(struct drm_bridge *bridge)
>  
>       drm_panel_disable(tc->panel);
>  
> -     ret = tc_main_link_stream(tc, 0);
> +     ret = tc_stream_disable(tc);
>       if (ret < 0)
>               dev_err(tc->dev, "main link stream stop error: %d\n", ret);
>  }

-- 
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to