On Fri, 30 May 2025 20:09:02 +1000 Jonathan Gray <[email protected]> wrote: > 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.
Yes, I see. > Currently, GuC submission is disabled. Does this diff which enables > it, still have GuC failing to init? xenodm shows only black with the message followings. there is only the mouse cursor. *** drm:pid40316:ct_write *ERROR* [drm] *ERROR* GT0: GUC: CT: Corrupted descriptor head=127 tail=127 status=0x7f i915_capture_error_state: stub drm:pid25790:intel_gt_reset *NOTICE* [drm] GT0: Resetting chip for stopped heartbeat on rcs0 drm:pid25790:__uc_init_hw *ERROR* [drm] *ERROR* GT0: GuC initialization failed 0xfffffffffffffffae drm:pid25790:intel_gt_init_hw *ERROR* [drm] *ERROR* GT0: Enabling uc failed (-5) drm:pid25790:intel_gt_reset *ERROR* [drm] *ERROR* GT0: Failed to initialise HW following reset (-5) drm:pid25790:add_taint_for_CI *NOTICE* [drm] CI tainted: 0x1 by 0xffffffff81ad2358S *** Also I forgot to report this. With your 2nd diff (paritially reverting one), I got the following message. *** drm:pid30716:guc_capture_prep_lists *WARNING* [drm] GT0: GUC: ADS capture alloc size changed from 32768 to 36864 *** Thank you for your help. > 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; > > >
