hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/gpu/drm/amd/amdgpu/vce_v2_0.c
....@@ -26,7 +26,7 @@
2626 */
2727
2828 #include <linux/firmware.h>
29
-#include <drm/drmP.h>
29
+
3030 #include "amdgpu.h"
3131 #include "amdgpu_vce.h"
3232 #include "cikd.h"
....@@ -283,7 +283,7 @@
283283 }
284284
285285 if (vce_v2_0_wait_for_idle(adev)) {
286
- DRM_INFO("VCE is busy, Can't set clock gateing");
286
+ DRM_INFO("VCE is busy, Can't set clock gating");
287287 return 0;
288288 }
289289
....@@ -417,7 +417,7 @@
417417 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
418418
419419 /* VCE */
420
- r = amdgpu_irq_add_id(adev, AMDGPU_IH_CLIENTID_LEGACY, 167, &adev->vce.irq);
420
+ r = amdgpu_irq_add_id(adev, AMDGPU_IRQ_CLIENTID_LEGACY, 167, &adev->vce.irq);
421421 if (r)
422422 return r;
423423
....@@ -434,7 +434,8 @@
434434 ring = &adev->vce.ring[i];
435435 sprintf(ring->name, "vce%d", i);
436436 r = amdgpu_ring_init(adev, ring, 512,
437
- &adev->vce.irq, 0);
437
+ &adev->vce.irq, 0,
438
+ AMDGPU_RING_PRIO_DEFAULT);
438439 if (r)
439440 return r;
440441 }
....@@ -463,15 +464,11 @@
463464
464465 amdgpu_asic_set_vce_clocks(adev, 10000, 10000);
465466 vce_v2_0_enable_mgcg(adev, true, false);
466
- for (i = 0; i < adev->vce.num_rings; i++)
467
- adev->vce.ring[i].ready = false;
468467
469468 for (i = 0; i < adev->vce.num_rings; i++) {
470
- r = amdgpu_ring_test_ring(&adev->vce.ring[i]);
469
+ r = amdgpu_ring_test_helper(&adev->vce.ring[i]);
471470 if (r)
472471 return r;
473
- else
474
- adev->vce.ring[i].ready = true;
475472 }
476473
477474 DRM_INFO("VCE initialized successfully.\n");
....@@ -609,6 +606,7 @@
609606 .align_mask = 0xf,
610607 .nop = VCE_CMD_NO_OP,
611608 .support_64bit_ptrs = false,
609
+ .no_user_fence = true,
612610 .get_rptr = vce_v2_0_ring_get_rptr,
613611 .get_wptr = vce_v2_0_ring_get_wptr,
614612 .set_wptr = vce_v2_0_ring_set_wptr,