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

Reply via email to