drm/i915/power: use intel_de_wait_custom() instead of wait_for_us()
Prefer the register read specific wait function over i915 wait_for_us(). Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://lore.kernel.org/r/154b681d9545b26453920b155656a65ce685da2a.1753956266.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
@@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user