On Wed, 2 Feb 2022 10:41:06 +1100 Jonathan Gray <[email protected]> wrote:
> > does this diff to provide stolen memory data help? > > I have committed this minus the printf change > would still be interested to hear if it helps This fixed it! I built a new kernel after checking out the latest commits below, and now the MP kernel boots just fine. I double-checked that the pool_debug=2 diff isn't in there anymore, just so you know... > > > > > Index: sys/dev/pci/drm/i915/i915_drv.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_drv.c,v > > retrieving revision 1.135 > > diff -u -p -r1.135 i915_drv.c > > --- sys/dev/pci/drm/i915/i915_drv.c 19 Jan 2022 02:20:06 -0000 1.135 > > +++ sys/dev/pci/drm/i915/i915_drv.c 31 Jan 2022 11:20:04 -0000 > > @@ -2350,6 +2350,7 @@ inteldrm_match(struct device *parent, vo > > } > > > > int drm_gem_init(struct drm_device *); > > +void intel_init_stolen_res(struct inteldrm_softc *); > > > > void > > inteldrm_attach(struct device *parent, struct device *self, void *aux) > > @@ -2469,6 +2470,7 @@ inteldrm_attach(struct device *parent, s > > return; > > } > > dev->pdev->irq = -1; > > + intel_init_stolen_res(dev_priv); > > > > config_mountroot(self, inteldrm_attachhook); > > } > > Index: sys/dev/pci/drm/i915/intel_stolen.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/pci/drm/i915/intel_stolen.c,v > > retrieving revision 1.2 > > diff -u -p -r1.2 intel_stolen.c > > --- sys/dev/pci/drm/i915/intel_stolen.c 14 Jan 2022 06:53:11 -0000 > > 1.2 > > +++ sys/dev/pci/drm/i915/intel_stolen.c 31 Jan 2022 11:25:37 -0000 > > @@ -163,7 +163,7 @@ intel_init_stolen_res(struct inteldrm_so > > > > if (GRAPHICS_VER(dev_priv) >= 3 && GRAPHICS_VER(dev_priv) < 11) > > stolen_base = gen3_stolen_base(dev_priv); > > - else if (GRAPHICS_VER(dev_priv) == 11) > > + else if (GRAPHICS_VER(dev_priv) == 11 || GRAPHICS_VER(dev_priv) == 12) > > stolen_base = gen11_stolen_base(dev_priv); > > > > if (IS_I830(dev_priv) || IS_I845G(dev_priv)) > > @@ -177,7 +177,7 @@ intel_init_stolen_res(struct inteldrm_so > > stolen_size = gen6_stolen_size(dev_priv); > > else if (GRAPHICS_VER(dev_priv) == 8) > > stolen_size = gen8_stolen_size(dev_priv); > > - else if (GRAPHICS_VER(dev_priv) >= 9 && GRAPHICS_VER(dev_priv) < 12) > > + else if (GRAPHICS_VER(dev_priv) >= 9 && GRAPHICS_VER(dev_priv) <= 12) > > stolen_size = gen9_stolen_size(dev_priv); > > > > if (stolen_base == 0 || stolen_size == 0) > > Index: sys/dev/pci/drm/i915/gt/intel_ggtt.c > > =================================================================== > > RCS file: /cvs/src/sys/dev/pci/drm/i915/gt/intel_ggtt.c,v > > retrieving revision 1.4 > > diff -u -p -r1.4 intel_ggtt.c > > --- sys/dev/pci/drm/i915/gt/intel_ggtt.c 26 Jan 2022 01:46:12 -0000 > > 1.4 > > +++ sys/dev/pci/drm/i915/gt/intel_ggtt.c 31 Jan 2022 11:33:05 -0000 > > @@ -1320,10 +1320,10 @@ static int ggtt_probe_hw(struct i915_ggt > > } > > > > /* GMADR is the PCI mmio aperture into the global GTT. */ > > - drm_dbg(&i915->drm, "GGTT size = %lluM\n", ggtt->vm.total >> 20); > > - drm_dbg(&i915->drm, "GMADR size = %lluM\n", > > + drm_warn(&i915->drm, "GGTT size = %lluM\n", ggtt->vm.total >> 20); > > + drm_warn(&i915->drm, "GMADR size = %lluM\n", > > (u64)ggtt->mappable_end >> 20); > > - drm_dbg(&i915->drm, "DSM size = %lluM\n", > > + drm_warn(&i915->drm, "DSM size = %lluM\n", > > (u64)resource_size(&intel_graphics_stolen_res) >> 20); > > > > return 0; > > > >
