On Mon, Jul 31, 2023 at 09:49:30PM +0200, Claudio Jeker wrote:
> On Mon, Jul 31, 2023 at 08:03:41PM +0300, Vitaliy Makkoveev wrote:
> > This is the culprit:
> > 
> > schedule_timeout_uninterruptible(long timeout)
> > {
> >         tsleep(curproc, PWAIT, "schtou", timeout);
> >         return 0;
> > }
> > 
> 
> Please give this a try. I think on initialization
> intel_dp_wait_source_oui() is called before intel_dp->last_oui_write is
> set and this results in a 10min timeout because our jiffies are set to
> ULONG_MAX - (10 * 60 * HZ);
> 
> -- 
> :wq Claudio
> 
> Index: intel_dp.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/i915/display/intel_dp.c,v
> retrieving revision 1.14
> diff -u -p -r1.14 intel_dp.c
> --- intel_dp.c        28 Jul 2023 06:56:32 -0000      1.14
> +++ intel_dp.c        31 Jul 2023 19:39:37 -0000
> @@ -2228,6 +2228,8 @@ void intel_dp_wait_source_oui(struct int
>       struct drm_i915_private *i915 = dp_to_i915(intel_dp);
>  
>       drm_dbg_kms(&i915->drm, "Performing OUI wait\n");
> +     if (intel_dp->last_oui_write == 0)
> +             intel_dp->last_oui_write = jiffies;
>       wait_remaining_ms_from_jiffies(intel_dp->last_oui_write, 30);
>  }
>  

I tested this on top of initial uvm_meter() diff. Your third jiffies
diff was not applied. Works fine on affected gen 12 ALDERLAKE_P and
unaffected gen 4 core2quad. Also the inteldrm delay is shorter on
ALDERLAKE_P.

Will do separate test for jiffies diff.

Reply via email to