Commit b53a6ebc authored by James Zhu's avatar James Zhu Committed by Alex Deucher

drm/amdgpu/vg20:Enable the 2nd instance IRQ for uvd 7.2

For Vega20, the 2nd instance uvd IRQ using different client id.
Enable the 2nd instance IRQ for uvd 7.2
Signed-off-by: default avatarJames Zhu <James.Zhu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 915893fd
...@@ -49,6 +49,11 @@ static int uvd_v7_0_start(struct amdgpu_device *adev); ...@@ -49,6 +49,11 @@ static int uvd_v7_0_start(struct amdgpu_device *adev);
static void uvd_v7_0_stop(struct amdgpu_device *adev); static void uvd_v7_0_stop(struct amdgpu_device *adev);
static int uvd_v7_0_sriov_start(struct amdgpu_device *adev); static int uvd_v7_0_sriov_start(struct amdgpu_device *adev);
static int amdgpu_ih_clientid_uvds[] = {
SOC15_IH_CLIENTID_UVD,
SOC15_IH_CLIENTID_UVD1
};
/** /**
* uvd_v7_0_ring_get_rptr - get read pointer * uvd_v7_0_ring_get_rptr - get read pointer
* *
...@@ -397,13 +402,13 @@ static int uvd_v7_0_sw_init(void *handle) ...@@ -397,13 +402,13 @@ static int uvd_v7_0_sw_init(void *handle)
for (j = 0; j < adev->uvd.num_uvd_inst; j++) { for (j = 0; j < adev->uvd.num_uvd_inst; j++) {
/* UVD TRAP */ /* UVD TRAP */
r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_UVD, 124, &adev->uvd.inst[j].irq); r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], 124, &adev->uvd.inst[j].irq);
if (r) if (r)
return r; return r;
/* UVD ENC TRAP */ /* UVD ENC TRAP */
for (i = 0; i < adev->uvd.num_enc_rings; ++i) { for (i = 0; i < adev->uvd.num_enc_rings; ++i) {
r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_UVD, i + 119, &adev->uvd.inst[j].irq); r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], i + 119, &adev->uvd.inst[j].irq);
if (r) if (r)
return r; return r;
} }
...@@ -1480,6 +1485,9 @@ static int uvd_v7_0_process_interrupt(struct amdgpu_device *adev, ...@@ -1480,6 +1485,9 @@ static int uvd_v7_0_process_interrupt(struct amdgpu_device *adev,
case SOC15_IH_CLIENTID_UVD: case SOC15_IH_CLIENTID_UVD:
ip_instance = 0; ip_instance = 0;
break; break;
case SOC15_IH_CLIENTID_UVD1:
ip_instance = 1;
break;
default: default:
DRM_ERROR("Unhandled client id: %d\n", entry->client_id); DRM_ERROR("Unhandled client id: %d\n", entry->client_id);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment