示例#1
0
static struct ttm_backend*
radeon_create_ttm_backend_entry(struct ttm_bo_device *bdev)
{
	struct radeon_device *rdev;

	rdev = radeon_get_rdev(bdev);
#if __OS_HAS_AGP
	if (rdev->flags & RADEON_IS_AGP) {
		return ttm_agp_backend_init(bdev, rdev->ddev->agp->bridge);
	} else
#endif
	{
		return radeon_ttm_backend_create(rdev);
	}
}
示例#2
0
static struct ttm_backend *
nouveau_bo_create_ttm_backend_entry(struct ttm_bo_device *bdev)
{
    struct drm_nouveau_private *dev_priv = nouveau_bdev(bdev);
    struct drm_device *dev = dev_priv->dev;

    switch (dev_priv->gart_info.type) {
#if __OS_HAS_AGP
    case NOUVEAU_GART_AGP:
        return ttm_agp_backend_init(bdev, dev->agp->bridge);
#endif
    case NOUVEAU_GART_SGDMA:
        return nouveau_sgdma_init_ttm(dev);
    default:
        NV_ERROR(dev, "Unknown GART type %d\n",
                 dev_priv->gart_info.type);
        break;
    }

    return NULL;
}