On Thu, 26 Jun 2025, Jani Nikula <[email protected]> wrote: > Prefer the register read specific wait function over i915 wait_for_us(). > > Signed-off-by: Jani Nikula <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_ddi.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c > b/drivers/gpu/drm/i915/display/intel_ddi.c > index 0405396c7750..39613f86f1ce 100644 > --- a/drivers/gpu/drm/i915/display/intel_ddi.c > +++ b/drivers/gpu/drm/i915/display/intel_ddi.c > @@ -2561,6 +2561,7 @@ mtl_ddi_enable_d2d(struct intel_encoder *encoder) > enum port port = encoder->port; > i915_reg_t reg; > u32 set_bits, wait_bits; > + int ret; > > if (DISPLAY_VER(display) < 14) > return; > @@ -2576,7 +2577,11 @@ mtl_ddi_enable_d2d(struct intel_encoder *encoder) > } > > intel_de_rmw(display, reg, 0, set_bits); > - if (wait_for_us(intel_de_read(display, reg) & wait_bits, 100)) { > + > + ret = intel_de_wait_custom(display, reg, > + wait_bits, wait_bits, > + 100, 0, NULL); > + if (ret) { > drm_err(display->drm, "Timeout waiting for D2D Link enable for > DDI/PORT_BUF_CTL %c\n", > port_name(port)); > } > @@ -3058,6 +3063,7 @@ mtl_ddi_disable_d2d(struct intel_encoder *encoder) > enum port port = encoder->port; > i915_reg_t reg; > u32 clr_bits, wait_bits; > + int ret; > > if (DISPLAY_VER(display) < 14) > return; > @@ -3073,7 +3079,11 @@ mtl_ddi_disable_d2d(struct intel_encoder *encoder) > } > > intel_de_rmw(display, reg, clr_bits, 0); > - if (wait_for_us(!(intel_de_read(display, reg) & wait_bits), 100)) > + > + ret = intel_de_wait_custom(display, reg, > + wait_bits, wait_bits,
As reported by Xe BAT, this should be "wait_bits, 0,". Missed the ! in the original. > + 100, 0, NULL); > + if (ret) > drm_err(display->drm, "Timeout waiting for D2D Link disable for > DDI/PORT_BUF_CTL %c\n", > port_name(port)); > } -- Jani Nikula, Intel
