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);
 }
 

Reply via email to