diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c index d274ae535530..a33804bd3314 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | |||
@@ -55,6 +55,7 @@ | |||
55 | #define FIRMWARE_POLARIS12 "amdgpu/polaris12_vce.bin" | 55 | #define FIRMWARE_POLARIS12 "amdgpu/polaris12_vce.bin" |
56 | 56 | ||
57 | #define FIRMWARE_VEGA10 "amdgpu/vega10_vce.bin" | 57 | #define FIRMWARE_VEGA10 "amdgpu/vega10_vce.bin" |
58 | #define FIRMWARE_VEGA12 "amdgpu/vega12_vce.bin" | ||
58 | 59 | ||
59 | #ifdef CONFIG_DRM_AMDGPU_CIK | 60 | #ifdef CONFIG_DRM_AMDGPU_CIK |
60 | MODULE_FIRMWARE(FIRMWARE_BONAIRE); | 61 | MODULE_FIRMWARE(FIRMWARE_BONAIRE); |
@@ -72,6 +73,7 @@ MODULE_FIRMWARE(FIRMWARE_POLARIS11); | |||
72 | MODULE_FIRMWARE(FIRMWARE_POLARIS12); | 73 | MODULE_FIRMWARE(FIRMWARE_POLARIS12); |
73 | 74 | ||
74 | MODULE_FIRMWARE(FIRMWARE_VEGA10); | 75 | MODULE_FIRMWARE(FIRMWARE_VEGA10); |
76 | MODULE_FIRMWARE(FIRMWARE_VEGA12); | ||
75 | 77 | ||
76 | static void amdgpu_vce_idle_work_handler(struct work_struct *work); | 78 | static void amdgpu_vce_idle_work_handler(struct work_struct *work); |
77 | 79 | ||
@@ -127,11 +129,14 @@ int amdgpu_vce_sw_init(struct amdgpu_device *adev, unsigned long size) | |||
127 | case CHIP_POLARIS11: | 129 | case CHIP_POLARIS11: |
128 | fw_name = FIRMWARE_POLARIS11; | 130 | fw_name = FIRMWARE_POLARIS11; |
129 | break; | 131 | break; |
132 | case CHIP_POLARIS12: | ||
133 | fw_name = FIRMWARE_POLARIS12; | ||
134 | break; | ||
130 | case CHIP_VEGA10: | 135 | case CHIP_VEGA10: |
131 | fw_name = FIRMWARE_VEGA10; | 136 | fw_name = FIRMWARE_VEGA10; |
132 | break; | 137 | break; |
133 | case CHIP_POLARIS12: | 138 | case CHIP_VEGA12: |
134 | fw_name = FIRMWARE_POLARIS12; | 139 | fw_name = FIRMWARE_VEGA12; |
135 | break; | 140 | break; |
136 | 141 | ||
137 | default: | 142 | default: |
@@ -300,9 +305,6 @@ static void amdgpu_vce_idle_work_handler(struct work_struct *work) | |||
300 | container_of(work, struct amdgpu_device, vce.idle_work.work); | 305 | container_of(work, struct amdgpu_device, vce.idle_work.work); |
301 | unsigned i, count = 0; | 306 | unsigned i, count = 0; |
302 | 307 | ||
303 | if (amdgpu_sriov_vf(adev)) | ||
304 | return; | ||
305 | |||
306 | for (i = 0; i < adev->vce.num_rings; i++) | 308 | for (i = 0; i < adev->vce.num_rings; i++) |
307 | count += amdgpu_fence_count_emitted(&adev->vce.ring[i]); | 309 | count += amdgpu_fence_count_emitted(&adev->vce.ring[i]); |
308 | 310 | ||
@@ -362,7 +364,8 @@ void amdgpu_vce_ring_begin_use(struct amdgpu_ring *ring) | |||
362 | */ | 364 | */ |
363 | void amdgpu_vce_ring_end_use(struct amdgpu_ring *ring) | 365 | void amdgpu_vce_ring_end_use(struct amdgpu_ring *ring) |
364 | { | 366 | { |
365 | schedule_delayed_work(&ring->adev->vce.idle_work, VCE_IDLE_TIMEOUT); | 367 | if (!amdgpu_sriov_vf(ring->adev)) |
368 | schedule_delayed_work(&ring->adev->vce.idle_work, VCE_IDLE_TIMEOUT); | ||
366 | } | 369 | } |
367 | 370 | ||
368 | /** | 371 | /** |