diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_kms.c')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_kms.c | 64 |
1 files changed, 2 insertions, 62 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c index 1986eba..bd58af6 100644 --- a/drivers/gpu/drm/radeon/radeon_kms.c +++ b/drivers/gpu/drm/radeon/radeon_kms.c @@ -57,12 +57,10 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) } dev->dev_private = (void *)rdev; - pci_set_master(dev->pdev); - /* update BUS flag */ if (drm_pci_device_is_agp(dev)) { flags |= RADEON_IS_AGP; - } else if (pci_is_pcie(dev->pdev)) { + } else if (drm_pci_device_is_pcie(dev)) { flags |= RADEON_IS_PCIE; } else { flags |= RADEON_IS_PCI; @@ -239,31 +237,6 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) case RADEON_INFO_FUSION_GART_WORKING: value = 1; break; - case RADEON_INFO_BACKEND_MAP: - if (rdev->family >= CHIP_CAYMAN) - value = rdev->config.cayman.backend_map; - else if (rdev->family >= CHIP_CEDAR) - value = rdev->config.evergreen.backend_map; - else if (rdev->family >= CHIP_RV770) - value = rdev->config.rv770.backend_map; - else if (rdev->family >= CHIP_R600) - value = rdev->config.r600.backend_map; - else { - return -EINVAL; - } - break; - case RADEON_INFO_VA_START: - /* this is where we report if vm is supported or not */ - if (rdev->family < CHIP_CAYMAN) - return -EINVAL; - value = RADEON_VA_RESERVED_SIZE; - break; - case RADEON_INFO_IB_VM_MAX_SIZE: - /* this is where we report if vm is supported or not */ - if (rdev->family < CHIP_CAYMAN) - return -EINVAL; - value = RADEON_IB_VM_MAX_SIZE; - break; default: DRM_DEBUG_KMS("Invalid request %d\n", info->request); return -EINVAL; @@ -284,6 +257,7 @@ int radeon_driver_firstopen_kms(struct drm_device *dev) return 0; } + void radeon_driver_lastclose_kms(struct drm_device *dev) { vga_switcheroo_process_delayed_switch(); @@ -291,45 +265,12 @@ void radeon_driver_lastclose_kms(struct drm_device *dev) int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv) { - struct radeon_device *rdev = dev->dev_private; - - file_priv->driver_priv = NULL; - - /* new gpu have virtual address space support */ - if (rdev->family >= CHIP_CAYMAN) { - struct radeon_fpriv *fpriv; - int r; - - fpriv = kzalloc(sizeof(*fpriv), GFP_KERNEL); - if (unlikely(!fpriv)) { - return -ENOMEM; - } - - r = radeon_vm_init(rdev, &fpriv->vm); - if (r) { - radeon_vm_fini(rdev, &fpriv->vm); - kfree(fpriv); - return r; - } - - file_priv->driver_priv = fpriv; - } return 0; } void radeon_driver_postclose_kms(struct drm_device *dev, struct drm_file *file_priv) { - struct radeon_device *rdev = dev->dev_private; - - /* new gpu have virtual address space support */ - if (rdev->family >= CHIP_CAYMAN && file_priv->driver_priv) { - struct radeon_fpriv *fpriv = file_priv->driver_priv; - - radeon_vm_fini(rdev, &fpriv->vm); - kfree(fpriv); - file_priv->driver_priv = NULL; - } } void radeon_driver_preclose_kms(struct drm_device *dev, @@ -497,6 +438,5 @@ struct drm_ioctl_desc radeon_ioctls_kms[] = { DRM_IOCTL_DEF_DRV(RADEON_GEM_SET_TILING, radeon_gem_set_tiling_ioctl, DRM_AUTH|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(RADEON_GEM_GET_TILING, radeon_gem_get_tiling_ioctl, DRM_AUTH|DRM_UNLOCKED), DRM_IOCTL_DEF_DRV(RADEON_GEM_BUSY, radeon_gem_busy_ioctl, DRM_AUTH|DRM_UNLOCKED), - DRM_IOCTL_DEF_DRV(RADEON_GEM_VA, radeon_gem_va_ioctl, DRM_AUTH|DRM_UNLOCKED), }; int radeon_max_kms_ioctl = DRM_ARRAY_SIZE(radeon_ioctls_kms); |