[PATCH v2 1/3] drm/mediatek: dp: Reduce indentation in mtk_dp_bdg_detect()

Chun-Kuang Hu chunkuang.hu at kernel.org
Sat Sep 17 20:13:01 PDT 2022


Bo-Chen Chen <rex-bc.chen at mediatek.com> 於 2022年9月16日 週五 晚上9:38寫道:
>
> In order to improve human readability, reduce the indentation by
> returning early if the dp/edp cable is not plugged in.

Acked-by: Chun-Kuang Hu <chunkuang.hu at kernel.org>

>
> Signed-off-by: Bo-Chen Chen <rex-bc.chen at mediatek.com>
> ---
>  drivers/gpu/drm/mediatek/mtk_dp.c | 66 ++++++++++++++++---------------
>  1 file changed, 34 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c
> index dfa942ca62da..c72c646e25e9 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dp.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dp.c
> @@ -1933,39 +1933,41 @@ static enum drm_connector_status mtk_dp_bdg_detect(struct drm_bridge *bridge)
>         bool enabled = mtk_dp->enabled;
>         u8 sink_count = 0;
>
> -       if (mtk_dp->train_info.cable_plugged_in) {
> -               if (!enabled) {
> -                       /* power on aux */
> -                       mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> -                                          DP_PWR_STATE_BANDGAP_TPLL_LANE,
> -                                          DP_PWR_STATE_MASK);
> -
> -                       /* power on panel */
> -                       drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> -                       usleep_range(2000, 5000);
> -               }
> -               /*
> -                * Some dongles still source HPD when they do not connect to any
> -                * sink device. To avoid this, we need to read the sink count
> -                * to make sure we do connect to sink devices. After this detect
> -                * function, we just need to check the HPD connection to check
> -                * whether we connect to a sink device.
> -                */
> -               drm_dp_dpcd_readb(&mtk_dp->aux, DP_SINK_COUNT, &sink_count);
> -               if (DP_GET_SINK_COUNT(sink_count))
> -                       ret = connector_status_connected;
> -
> -               if (!enabled) {
> -                       /* power off panel */
> -                       drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D3);
> -                       usleep_range(2000, 3000);
> -
> -                       /* power off aux */
> -                       mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> -                                          DP_PWR_STATE_BANDGAP_TPLL,
> -                                          DP_PWR_STATE_MASK);
> -               }
> +       if (!mtk_dp->train_info.cable_plugged_in)
> +               return ret;
> +
> +       if (!enabled) {
> +               /* power on aux */
> +               mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> +                                  DP_PWR_STATE_BANDGAP_TPLL_LANE,
> +                                  DP_PWR_STATE_MASK);
> +
> +               /* power on panel */
> +               drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
> +               usleep_range(2000, 5000);
>         }
> +       /*
> +        * Some dongles still source HPD when they do not connect to any
> +        * sink device. To avoid this, we need to read the sink count
> +        * to make sure we do connect to sink devices. After this detect
> +        * function, we just need to check the HPD connection to check
> +        * whether we connect to a sink device.
> +        */
> +       drm_dp_dpcd_readb(&mtk_dp->aux, DP_SINK_COUNT, &sink_count);
> +       if (DP_GET_SINK_COUNT(sink_count))
> +               ret = connector_status_connected;
> +
> +       if (!enabled) {
> +               /* power off panel */
> +               drm_dp_dpcd_writeb(&mtk_dp->aux, DP_SET_POWER, DP_SET_POWER_D3);
> +               usleep_range(2000, 3000);
> +
> +               /* power off aux */
> +               mtk_dp_update_bits(mtk_dp, MTK_DP_TOP_PWR_STATE,
> +                                  DP_PWR_STATE_BANDGAP_TPLL,
> +                                  DP_PWR_STATE_MASK);
> +       }
> +
>         return ret;
>  }
>
> --
> 2.18.0
>



More information about the linux-arm-kernel mailing list