[PATCH v2 5/7] drm/i915/power: use intel_de_wait_custom() instead of wait_for_us()

Gustavo Sousa gustavo.sousa at intel.com
Thu Jul 31 13:25:28 UTC 2025


Quoting Jani Nikula (2025-07-31 07:05:12-03:00)
>Prefer the register read specific wait function over i915 wait_for_us().
>
>Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Reviewed-by: Gustavo Sousa <gustavo.sousa at intel.com>

>---
> drivers/gpu/drm/i915/display/intel_display_power.c | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
>index 273054c22325..2c2b23a138cc 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_power.c
>+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
>@@ -1278,6 +1278,7 @@ static void hsw_disable_lcpll(struct intel_display *display,
>                               bool switch_to_fclk, bool allow_power_down)
> {
>         u32 val;
>+        int ret;
> 
>         assert_can_disable_lcpll(display);
> 
>@@ -1287,8 +1288,10 @@ static void hsw_disable_lcpll(struct intel_display *display,
>                 val |= LCPLL_CD_SOURCE_FCLK;
>                 intel_de_write(display, LCPLL_CTL, val);
> 
>-                if (wait_for_us(intel_de_read(display, LCPLL_CTL) &
>-                                LCPLL_CD_SOURCE_FCLK_DONE, 1))
>+                ret = intel_de_wait_custom(display, LCPLL_CTL,
>+                                           LCPLL_CD_SOURCE_FCLK_DONE, LCPLL_CD_SOURCE_FCLK_DONE,
>+                                           1, 0, NULL);
>+                if (ret)
>                         drm_err(display->drm, "Switching to FCLK failed\n");
> 
>                 val = intel_de_read(display, LCPLL_CTL);
>@@ -1324,6 +1327,7 @@ static void hsw_restore_lcpll(struct intel_display *display)
> {
>         struct drm_i915_private __maybe_unused *dev_priv = to_i915(display->drm);
>         u32 val;
>+        int ret;
> 
>         val = intel_de_read(display, LCPLL_CTL);
> 
>@@ -1358,8 +1362,10 @@ static void hsw_restore_lcpll(struct intel_display *display)
>         if (val & LCPLL_CD_SOURCE_FCLK) {
>                 intel_de_rmw(display, LCPLL_CTL, LCPLL_CD_SOURCE_FCLK, 0);
> 
>-                if (wait_for_us((intel_de_read(display, LCPLL_CTL) &
>-                                 LCPLL_CD_SOURCE_FCLK_DONE) == 0, 1))
>+                ret = intel_de_wait_custom(display, LCPLL_CTL,
>+                                           LCPLL_CD_SOURCE_FCLK_DONE, 0,
>+                                           1, 0, NULL);
>+                if (ret)
>                         drm_err(display->drm,
>                                 "Switching back to LCPLL failed\n");
>         }
>-- 
>2.39.5
>


More information about the Intel-xe mailing list