[PATCH] drm/nouveau: fix init with agpgart-uninorth
Michel Dänzer
michel at daenzer.net
Mon Nov 19 02:57:18 PST 2012
On Fre, 2012-11-16 at 20:11 +0200, Aaro Koskinen wrote:
> On Fri, Nov 16, 2012 at 03:16:09PM +0100, Michel Dänzer wrote:
> > On Fre, 2012-11-16 at 11:54 +0200, Aaro Koskinen wrote:
> > > Check that the AGP aperture can be mapped. This follows a similar change
> > > done for Radeon (commit 365048ff, drm/radeon: AGP memory is only I/O if
> > > the aperture can be mapped by the CPU.).
> > >
> > > The patch fixes the following error seen on G5 iMac:
> > >
> > > nouveau E[ DRM] failed to create kernel channel, -12
> > >
> > > Signed-off-by: Aaro Koskinen <aaro.koskinen at iki.fi>
> > > ---
> > > drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> > > index 35ac57f..5f0e7ef 100644
> > > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> > > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> > > @@ -1279,7 +1279,7 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem)
> > > if (drm->agp.stat == ENABLED) {
> > > mem->bus.offset = mem->start << PAGE_SHIFT;
> > > mem->bus.base = drm->agp.base;
> > > - mem->bus.is_iomem = true;
> > > + mem->bus.is_iomem = !dev->agp->cant_use_aperture;
> >
> > Looks good, though radeon also doesn't set TTM_MEMTYPE_FLAG_MAPPABLE for
> > the TT memory type if the aperture can't be mapped directly. Maybe
> > nouveau should do the same, or maybe it doesn't really matter. Not sure.
>
> This would fail with -EINVAL if the MAPPABLE flag is not set. So I think
> it's needed?
>
> Looking at radeon_ttm.c, the MAPPABLE flag seems to be set in both cases:
Ah, indeed, I misread that. Your patch is
Reviewed-by: Michel Dänzer <michel at daenzer.net>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
More information about the dri-devel
mailing list