[PATCH] drm/nouveau: fix init with agpgart-uninorth
Aaro Koskinen
aaro.koskinen at iki.fi
Fri Nov 16 10:11:20 PST 2012
Hi,
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:
141 man->flags = TTM_MEMTYPE_FLAG_MAPPABLE | TTM_MEMTYPE_FLAG_CMA;
142 #if __OS_HAS_AGP
143 if (rdev->flags & RADEON_IS_AGP) {
144 if (!(drm_core_has_AGP(rdev->ddev) && rdev->ddev->agp)) {
145 DRM_ERROR("AGP is not enabled for memory type %u\n",
146 (unsigned)type);
147 return -EINVAL;
148 }
149 if (!rdev->ddev->agp->cant_use_aperture)
150 man->flags = TTM_MEMTYPE_FLAG_MAPPABLE;
A.
More information about the dri-devel
mailing list