On Thu, 2025-08-28 at 15:20 +0300, Jani Nikula wrote: > Prefer generic poll helpers over i915 custom helpers. > > The functional change is losing the exponentially growing sleep of > wait_for(), which used to be 10, 20, 40, ..., 640, and 1280 us. > > Use an arbitrary constant 500 us sleep instead. The timeout remains > at > 20 ms. > > Signed-off-by: Jani Nikula <jani.nik...@intel.com>
Reviewed-by: Jouni Högander <jouni.hogan...@intel.com> > --- > drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > index 83afe1315e96..f078b9cda96c 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > @@ -25,12 +25,12 @@ > * Yogesh Mohan Marimuthu <yogesh.mohan.marimu...@intel.com> > */ > > +#include <linux/iopoll.h> > #include <linux/kernel.h> > #include <linux/string_helpers.h> > > #include <drm/drm_print.h> > > -#include "i915_utils.h" > #include "intel_de.h" > #include "intel_display_types.h" > #include "intel_dsi.h" > @@ -214,6 +214,8 @@ void vlv_dsi_pll_enable(struct intel_encoder > *encoder, > const struct intel_crtc_state *config) > { > struct intel_display *display = to_intel_display(encoder); > + u32 val; > + int ret; > > drm_dbg_kms(display->drm, "\n"); > > @@ -231,9 +233,10 @@ void vlv_dsi_pll_enable(struct intel_encoder > *encoder, > > vlv_cck_write(display->drm, CCK_REG_DSI_PLL_CONTROL, config- > >dsi_pll.ctrl); > > - if (wait_for(vlv_cck_read(display->drm, > CCK_REG_DSI_PLL_CONTROL) & > - DSI_PLL_LOCK, 20)) { > - > + ret = poll_timeout_us(val = vlv_cck_read(display->drm, > CCK_REG_DSI_PLL_CONTROL), > + val & DSI_PLL_LOCK, > + 500, 20 * 1000, false); > + if (ret) { > vlv_cck_put(display->drm); > drm_err(display->drm, "DSI PLL lock failed\n"); > return;