On Fri, May 30, 2025 at 05:13:34PM +0900, YASUOKA Masahiko wrote:
> > Here is the other part of your initial diff.
> > 
> > The non-printf parts are a revert of
> > 'drm/i915/guc: Change wa and EU_PERF_CNTL registers to MCR type'
> > linux 835e4d9bb3a13879031942ca6692d5a82ec00158
> 
> This doesn't fix the problem.
> 
> > It would also be helpful if you could try raise the value
> > of GUC_LOAD_RETRY_LIMIT in intel_guc_fw.c without other patches,
> > to find a value that works.
> 
> Also I tried GUC_LOAD_RETRY_LIMIT=20 with the diff, it doesn't fix as
> well..

I unfortunately can't reproduce this problem on an Alder Lake machine.

Currently, GuC submission is disabled.  Does this diff which enables
it, still have GuC failing to init?

The new_guc_id() change is needed as an mtx is held
(submission_state.lock), and the pool_get() in idr_alloc() will
use PR_WAITOK otherwise.

Index: sys/dev/pci/drm/i915/i915_driver.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_driver.c,v
diff -u -p -r1.22 i915_driver.c
--- sys/dev/pci/drm/i915/i915_driver.c  19 May 2025 21:48:28 -0000      1.22
+++ sys/dev/pci/drm/i915/i915_driver.c  30 May 2025 09:09:06 -0000
@@ -2278,10 +2278,12 @@ inteldrm_attach(struct device *parent, s
        intel_display_device_probe(dev_priv);
 
        /* uc_expand_default_options() with no GuC submission */
+#if 0
        if (GRAPHICS_VER(dev_priv) >= 12 &&
            (INTEL_INFO(dev_priv)->platform != INTEL_TIGERLAKE) &&
            (INTEL_INFO(dev_priv)->platform != INTEL_ROCKETLAKE))
                dev_priv->params.enable_guc = ENABLE_GUC_LOAD_HUC;
+#endif
 
        mmio_bar = (GRAPHICS_VER(dev_priv) == 2) ? 0x14 : 0x10;
 
Index: sys/dev/pci/drm/i915/gt/uc/intel_guc_submission.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/i915/gt/uc/intel_guc_submission.c,v
diff -u -p -r1.21 intel_guc_submission.c
--- sys/dev/pci/drm/i915/gt/uc/intel_guc_submission.c   28 Feb 2025 00:33:45 
-0000      1.21
+++ sys/dev/pci/drm/i915/gt/uc/intel_guc_submission.c   30 May 2025 09:27:09 
-0000
@@ -2256,7 +2256,7 @@ static int new_guc_id(struct intel_guc *
                ret = ida_alloc_range(&guc->submission_state.guc_ids,
                                      NUMBER_MULTI_LRC_GUC_ID(guc),
                                      guc->submission_state.num_guc_ids - 1,
-                                     GFP_KERNEL | __GFP_RETRY_MAYFAIL | 
__GFP_NOWARN);
+                                     GFP_KERNEL | __GFP_RETRY_MAYFAIL | 
__GFP_NOWARN | GFP_NOWAIT);
        if (unlikely(ret < 0))
                return ret;
 

Reply via email to