On Tue, 28 Jan 2014 10:14:03 +0100
Daniel Vetter <dan...@ffwll.ch> wrote:

> On Tue, Jan 28, 2014 at 10:10 AM, Goel, Akash <akash.g...@intel.com> wrote:
> > Hi Daniel,
> >
> > Please let us know about this patch, will this be up-streamed.
> 
> 1. I've just sent out the merge confirmation mail minutes ago.
> 2. Please _never_ drop mailing lists when poking me (or in general,
> really). See the internally documented bkm in the patch submission
> guidelines.
> 
> Cheers, Daniel
> 
> >
> > Best Regards
> > Akash
> >
> > -----Original Message-----
> > From: Goel, Akash
> > Sent: Monday, January 13, 2014 4:25 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: Goel, Akash
> > Subject: [PATCH 2/7] drm/i915: Resolving the memory region conflict for 
> > Stolen area
> >
> > From: Akash Goel <akash.g...@intel.com>
> >
> > There is a conflict seen when requesting the kernel to reserve the physical 
> > space used for the stolen area. This is because some BIOS are wrapping the 
> > stolen area in the root PCI bus, but have an off-by-one error. As a 
> > workaround we retry the reservation with an offset of 1 instead of 0.
> >
> > v2: updated commit message & the comment in source file (Daniel)
> >
> > Signed-off-by: Akash Goel <akash.g...@intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_gem_stolen.c | 20 +++++++++++++++++---
> >  1 file changed, 17 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c 
> > b/drivers/gpu/drm/i915/i915_gem_stolen.c
> > index 1a24e84..114a806 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_stolen.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
> > @@ -82,9 +82,23 @@ static unsigned long i915_stolen_to_physical(struct 
> > drm_device *dev)
> >         r = devm_request_mem_region(dev->dev, base, 
> > dev_priv->gtt.stolen_size,
> >                                     "Graphics Stolen Memory");
> >         if (r == NULL) {
> > -               DRM_ERROR("conflict detected with stolen region: [0x%08x - 
> > 0x%08x]\n",
> > -                         base, base + (uint32_t)dev_priv->gtt.stolen_size);
> > -               base = 0;
> > +               /*
> > +                * One more attempt but this time requesting region from
> > +                * base + 1, as we have seen that this resolves the region
> > +                * conflict with the PCI Bus.
> > +                * This is a BIOS w/a: Some BIOS wrap stolen in the root
> > +                * PCI bus, but have an off-by-one error. Hence retry the
> > +                * reservation starting from 1 instead of 0.
> > +                */
> > +               r = devm_request_mem_region(dev->dev, base + 1,
> > +                                           dev_priv->gtt.stolen_size - 1,
> > +                                           "Graphics Stolen Memory");
> > +               if (r == NULL) {
> > +                       DRM_ERROR("conflict detected with stolen region:"\
> > +                                 "[0x%08x - 0x%08x]\n",
> > +                                 base, base + 
> > (uint32_t)dev_priv->gtt.stolen_size);
> > +                       base = 0;
> > +               }
> >         }
> >
> >         return base;

It doesn't look like this was actually merged, and it belongs in -fixes
with a cc: stable since it affects existing machines with these BIOS
issues.

Cc'ing Jani so he can pick it up when he returns.

-- 
Jesse Barnes, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to