Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+10 -4
+10 -4
drivers/gpu/drm/i915/display/intel_display_power.c
··· 1278 1278 bool switch_to_fclk, bool allow_power_down) 1279 1279 { 1280 1280 u32 val; 1281 + int ret; 1281 1282 1282 1283 assert_can_disable_lcpll(display); 1283 1284 ··· 1288 1287 val |= LCPLL_CD_SOURCE_FCLK; 1289 1288 intel_de_write(display, LCPLL_CTL, val); 1290 1289 1291 - if (wait_for_us(intel_de_read(display, LCPLL_CTL) & 1292 - LCPLL_CD_SOURCE_FCLK_DONE, 1)) 1290 + ret = intel_de_wait_custom(display, LCPLL_CTL, 1291 + LCPLL_CD_SOURCE_FCLK_DONE, LCPLL_CD_SOURCE_FCLK_DONE, 1292 + 1, 0, NULL); 1293 + if (ret) 1293 1294 drm_err(display->drm, "Switching to FCLK failed\n"); 1294 1295 1295 1296 val = intel_de_read(display, LCPLL_CTL); ··· 1327 1324 { 1328 1325 struct drm_i915_private __maybe_unused *dev_priv = to_i915(display->drm); 1329 1326 u32 val; 1327 + int ret; 1330 1328 1331 1329 val = intel_de_read(display, LCPLL_CTL); 1332 1330 ··· 1362 1358 if (val & LCPLL_CD_SOURCE_FCLK) { 1363 1359 intel_de_rmw(display, LCPLL_CTL, LCPLL_CD_SOURCE_FCLK, 0); 1364 1360 1365 - if (wait_for_us((intel_de_read(display, LCPLL_CTL) & 1366 - LCPLL_CD_SOURCE_FCLK_DONE) == 0, 1)) 1361 + ret = intel_de_wait_custom(display, LCPLL_CTL, 1362 + LCPLL_CD_SOURCE_FCLK_DONE, 0, 1363 + 1, 0, NULL); 1364 + if (ret) 1367 1365 drm_err(display->drm, 1368 1366 "Switching back to LCPLL failed\n"); 1369 1367 }