[PATCH] drm/amd/display: optimize code runtime a bit

Alex Deucher alexdeucher at gmail.com
Tue Sep 15 19:18:26 UTC 2020


Applied.  Thanks!

Alex

On Thu, Sep 10, 2020 at 3:23 AM Bernard Zhao <bernard at vivo.com> wrote:
>
> In fnction is_cr_done & is_ch_eq_done, when done = false
> happened once, no need to circle left ln_count.
> This change is to make the code run a bit fast.
>
> Signed-off-by: Bernard Zhao <bernard at vivo.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 14 +++++---------
>  1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> index b2be6ad5101d..53e30be8b66a 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
> @@ -373,34 +373,30 @@ static void dpcd_set_lt_pattern_and_lane_settings(
>  static bool is_cr_done(enum dc_lane_count ln_count,
>         union lane_status *dpcd_lane_status)
>  {
> -       bool done = true;
>         uint32_t lane;
>         /*LANEx_CR_DONE bits All 1's?*/
>         for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
>                 if (!dpcd_lane_status[lane].bits.CR_DONE_0)
> -                       done = false;
> +                       return false;
>         }
> -       return done;
> -
> +       return true;
>  }
>
>  static bool is_ch_eq_done(enum dc_lane_count ln_count,
>         union lane_status *dpcd_lane_status,
>         union lane_align_status_updated *lane_status_updated)
>  {
> -       bool done = true;
>         uint32_t lane;
>         if (!lane_status_updated->bits.INTERLANE_ALIGN_DONE)
> -               done = false;
> +               return false;
>         else {
>                 for (lane = 0; lane < (uint32_t)(ln_count); lane++) {
>                         if (!dpcd_lane_status[lane].bits.SYMBOL_LOCKED_0 ||
>                                 !dpcd_lane_status[lane].bits.CHANNEL_EQ_DONE_0)
> -                               done = false;
> +                               return false;
>                 }
>         }
> -       return done;
> -
> +       return true;
>  }
>
>  static void update_drive_settings(
> --
> 2.28.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the amd-gfx mailing list