[PATCH] drm/nouveau: fix init with agpgart-uninorth

Michel Dänzer michel at daenzer.net
Fri Nov 16 06:16:09 PST 2012


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.


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the dri-devel mailing list