On Fri, 13 Dec 2024, Jonathan Cavitt <jonathan.cavitt@xxxxxxxxx> wrote: > In intel_dp_aux_wait_done, we call intel_de_wait_custom. This call has > a 10ms timeout before reporting ETIMEDOUT. However, if the display pm > runtime is suspended, then it would be expected for this call to time > out. This may be the case, for example, during an engine reset. > > Do not report ETIMEDOUT here when the pm runtime is suspended. No. Please root cause how you hit this. This should not be possible. intel_dp_aux_xfer() -> intel_display_power_get() -> intel_runtime_pm_get() We hold this over the duration of aux communications. The patch at hand is brushing something more serious under the carpet. BR, Jani. > > Signed-off-by: Jonathan Cavitt <jonathan.cavitt@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_dp_aux.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux.c b/drivers/gpu/drm/i915/display/intel_dp_aux.c > index 04a7acd7f73c..25c37398f930 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_aux.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_aux.c > @@ -66,7 +66,7 @@ intel_dp_aux_wait_done(struct intel_dp *intel_dp) > 0, > 2, timeout_ms, &status); > > - if (ret == -ETIMEDOUT) > + if (ret == -ETIMEDOUT && !pm_runtime_suspended(display->drm->dev)) > drm_err(display->drm, > "%s: did not complete or timeout within %ums (status 0x%08x)\n", > intel_dp->aux.name, timeout_ms, status); -- Jani Nikula, Intel