]> Pileus Git - ~andy/linux/blobdiff - drivers/gpu/drm/radeon/radeon_uvd.c
Merge branches 'acpi-resources', 'acpi-ec' and 'acpi-sleep'
[~andy/linux] / drivers / gpu / drm / radeon / radeon_uvd.c
index b9c0529b4a2e1e9d8f69e51f6742d023492a0040..3e6804b2b2ef748e9727e34817243aa31e7f9210 100644 (file)
@@ -91,6 +91,7 @@ int radeon_uvd_init(struct radeon_device *rdev)
        case CHIP_VERDE:
        case CHIP_PITCAIRN:
        case CHIP_ARUBA:
+       case CHIP_OLAND:
                fw_name = FIRMWARE_TAHITI;
                break;
 
@@ -170,6 +171,8 @@ void radeon_uvd_fini(struct radeon_device *rdev)
 
        radeon_bo_unref(&rdev->uvd.vcpu_bo);
 
+       radeon_ring_fini(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX]);
+
        release_firmware(rdev->uvd_fw);
 }
 
@@ -778,6 +781,8 @@ static void radeon_uvd_idle_work_handler(struct work_struct *work)
 
        if (radeon_fence_count_emitted(rdev, R600_RING_TYPE_UVD_INDEX) == 0) {
                if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled) {
+                       radeon_uvd_count_handles(rdev, &rdev->pm.dpm.sd,
+                                                &rdev->pm.dpm.hd);
                        radeon_dpm_enable_uvd(rdev, false);
                } else {
                        radeon_set_uvd_clocks(rdev, 0, 0);