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

drm/i915/dsi: use generic poll_timeout_us() instead of wait_for_us()

Prefer generic poll helpers over i915 custom helpers.

The sleep and timeout remain the same as for wait_for_us().

Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
Link: https://lore.kernel.org/r/02ebcd2864819b7eaf9cf455aa2b968980a2f671.1756383233.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

+14 -4
+14 -4
drivers/gpu/drm/i915/display/icl_dsi.c
··· 25 25 * Jani Nikula <jani.nikula@intel.com> 26 26 */ 27 27 28 + #include <linux/iopoll.h> 29 + 28 30 #include <drm/display/drm_dsc_helper.h> 29 31 #include <drm/drm_atomic_helper.h> 30 32 #include <drm/drm_fixed.h> ··· 74 72 static bool wait_for_header_credits(struct intel_display *display, 75 73 enum transcoder dsi_trans, int hdr_credit) 76 74 { 77 - if (wait_for_us(header_credits_available(display, dsi_trans) >= 78 - hdr_credit, 100)) { 75 + int ret, available; 76 + 77 + ret = poll_timeout_us(available = header_credits_available(display, dsi_trans), 78 + available >= hdr_credit, 79 + 10, 100, false); 80 + if (ret) { 79 81 drm_err(display->drm, "DSI header credits not released\n"); 80 82 return false; 81 83 } ··· 90 84 static bool wait_for_payload_credits(struct intel_display *display, 91 85 enum transcoder dsi_trans, int payld_credit) 92 86 { 93 - if (wait_for_us(payload_credits_available(display, dsi_trans) >= 94 - payld_credit, 100)) { 87 + int ret, available; 88 + 89 + ret = poll_timeout_us(available = payload_credits_available(display, dsi_trans), 90 + available >= payld_credit, 91 + 10, 100, false); 92 + if (ret) { 95 93 drm_err(display->drm, "DSI payload credits not released\n"); 96 94 return false; 97 95 }