diff options
author | Andrey Grodzovsky <andrey.grodzovsky@amd.com> | 2018-05-25 10:45:34 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-07-13 15:45:43 -0400 |
commit | 44a99b65fc27474b66f7173b971bfbd67ca6ba74 (patch) | |
tree | 8524f91b9b18dfa95f837d6f6c6d1288095a9fae /drivers/gpu | |
parent | ba61bb17496d1664bf7c5c2fd650d5fd78bd0a92 (diff) |
drm/amd: Use newly added interrupt source defs for SOC15.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 10 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c | 8 |
7 files changed, 29 insertions, 15 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index e6d19e7fbfbd..a12da4a66b01 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | |||
@@ -38,6 +38,8 @@ | |||
38 | #include "clearstate_gfx9.h" | 38 | #include "clearstate_gfx9.h" |
39 | #include "v9_structs.h" | 39 | #include "v9_structs.h" |
40 | 40 | ||
41 | #include "ivsrcid/gfx/irqsrcs_gfx_9_0.h" | ||
42 | |||
41 | #define GFX9_NUM_GFX_RINGS 1 | 43 | #define GFX9_NUM_GFX_RINGS 1 |
42 | #define GFX9_MEC_HPD_SIZE 2048 | 44 | #define GFX9_MEC_HPD_SIZE 2048 |
43 | #define RLCG_UCODE_LOADING_START_ADDRESS 0x00002000L | 45 | #define RLCG_UCODE_LOADING_START_ADDRESS 0x00002000L |
@@ -1488,23 +1490,23 @@ static int gfx_v9_0_sw_init(void *handle) | |||
1488 | adev->gfx.mec.num_queue_per_pipe = 8; | 1490 | adev->gfx.mec.num_queue_per_pipe = 8; |
1489 | 1491 | ||
1490 | /* KIQ event */ | 1492 | /* KIQ event */ |
1491 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, 178, &adev->gfx.kiq.irq); | 1493 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, GFX_9_0__SRCID__CP_IB2_INTERRUPT_PKT, &adev->gfx.kiq.irq); |
1492 | if (r) | 1494 | if (r) |
1493 | return r; | 1495 | return r; |
1494 | 1496 | ||
1495 | /* EOP Event */ | 1497 | /* EOP Event */ |
1496 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, 181, &adev->gfx.eop_irq); | 1498 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, GFX_9_0__SRCID__CP_EOP_INTERRUPT, &adev->gfx.eop_irq); |
1497 | if (r) | 1499 | if (r) |
1498 | return r; | 1500 | return r; |
1499 | 1501 | ||
1500 | /* Privileged reg */ | 1502 | /* Privileged reg */ |
1501 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, 184, | 1503 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, GFX_9_0__SRCID__CP_PRIV_REG_FAULT, |
1502 | &adev->gfx.priv_reg_irq); | 1504 | &adev->gfx.priv_reg_irq); |
1503 | if (r) | 1505 | if (r) |
1504 | return r; | 1506 | return r; |
1505 | 1507 | ||
1506 | /* Privileged inst */ | 1508 | /* Privileged inst */ |
1507 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, 185, | 1509 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_GRBM_CP, GFX_9_0__SRCID__CP_PRIV_INSTR_FAULT, |
1508 | &adev->gfx.priv_inst_irq); | 1510 | &adev->gfx.priv_inst_irq); |
1509 | if (r) | 1511 | if (r) |
1510 | return r; | 1512 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c index 7f238149ba54..9df94b45d17d 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | |||
@@ -43,6 +43,8 @@ | |||
43 | #include "gfxhub_v1_0.h" | 43 | #include "gfxhub_v1_0.h" |
44 | #include "mmhub_v1_0.h" | 44 | #include "mmhub_v1_0.h" |
45 | 45 | ||
46 | #include "ivsrcid/vmc/irqsrcs_vmc_1_0.h" | ||
47 | |||
46 | /* add these here since we already include dce12 headers and these are for DCN */ | 48 | /* add these here since we already include dce12 headers and these are for DCN */ |
47 | #define mmHUBP0_DCSURF_PRI_VIEWPORT_DIMENSION 0x055d | 49 | #define mmHUBP0_DCSURF_PRI_VIEWPORT_DIMENSION 0x055d |
48 | #define mmHUBP0_DCSURF_PRI_VIEWPORT_DIMENSION_BASE_IDX 2 | 50 | #define mmHUBP0_DCSURF_PRI_VIEWPORT_DIMENSION_BASE_IDX 2 |
@@ -877,9 +879,9 @@ static int gmc_v9_0_sw_init(void *handle) | |||
877 | } | 879 | } |
878 | 880 | ||
879 | /* This interrupt is VMC page fault.*/ | 881 | /* This interrupt is VMC page fault.*/ |
880 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VMC, 0, | 882 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VMC, VMC_1_0__SRCID__VM_FAULT, |
881 | &adev->gmc.vm_fault); | 883 | &adev->gmc.vm_fault); |
882 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_UTCL2, 0, | 884 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_UTCL2, UTCL2_1_0__SRCID__FAULT, |
883 | &adev->gmc.vm_fault); | 885 | &adev->gmc.vm_fault); |
884 | 886 | ||
885 | if (r) | 887 | if (r) |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c index 572ca63cf676..e7ca4623cfb9 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | |||
@@ -38,6 +38,9 @@ | |||
38 | #include "soc15.h" | 38 | #include "soc15.h" |
39 | #include "vega10_sdma_pkt_open.h" | 39 | #include "vega10_sdma_pkt_open.h" |
40 | 40 | ||
41 | #include "ivsrcid/sdma0/irqsrcs_sdma0_4_0.h" | ||
42 | #include "ivsrcid/sdma1/irqsrcs_sdma1_4_0.h" | ||
43 | |||
41 | MODULE_FIRMWARE("amdgpu/vega10_sdma.bin"); | 44 | MODULE_FIRMWARE("amdgpu/vega10_sdma.bin"); |
42 | MODULE_FIRMWARE("amdgpu/vega10_sdma1.bin"); | 45 | MODULE_FIRMWARE("amdgpu/vega10_sdma1.bin"); |
43 | MODULE_FIRMWARE("amdgpu/vega12_sdma.bin"); | 46 | MODULE_FIRMWARE("amdgpu/vega12_sdma.bin"); |
@@ -1225,13 +1228,13 @@ static int sdma_v4_0_sw_init(void *handle) | |||
1225 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; | 1228 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
1226 | 1229 | ||
1227 | /* SDMA trap event */ | 1230 | /* SDMA trap event */ |
1228 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_SDMA0, 224, | 1231 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_SDMA0, SDMA0_4_0__SRCID__SDMA_TRAP, |
1229 | &adev->sdma.trap_irq); | 1232 | &adev->sdma.trap_irq); |
1230 | if (r) | 1233 | if (r) |
1231 | return r; | 1234 | return r; |
1232 | 1235 | ||
1233 | /* SDMA trap event */ | 1236 | /* SDMA trap event */ |
1234 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_SDMA1, 224, | 1237 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_SDMA1, SDMA1_4_0__SRCID__SDMA_TRAP, |
1235 | &adev->sdma.trap_irq); | 1238 | &adev->sdma.trap_irq); |
1236 | if (r) | 1239 | if (r) |
1237 | return r; | 1240 | return r; |
diff --git a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c index ba244d3b74db..ce360ad16856 100644 --- a/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include "hdp/hdp_4_0_offset.h" | 39 | #include "hdp/hdp_4_0_offset.h" |
40 | #include "mmhub/mmhub_1_0_offset.h" | 40 | #include "mmhub/mmhub_1_0_offset.h" |
41 | #include "mmhub/mmhub_1_0_sh_mask.h" | 41 | #include "mmhub/mmhub_1_0_sh_mask.h" |
42 | #include "ivsrcid/uvd/irqsrcs_uvd_7_0.h" | ||
42 | 43 | ||
43 | #define UVD7_MAX_HW_INSTANCES_VEGA20 2 | 44 | #define UVD7_MAX_HW_INSTANCES_VEGA20 2 |
44 | 45 | ||
@@ -402,13 +403,13 @@ static int uvd_v7_0_sw_init(void *handle) | |||
402 | 403 | ||
403 | for (j = 0; j < adev->uvd.num_uvd_inst; j++) { | 404 | for (j = 0; j < adev->uvd.num_uvd_inst; j++) { |
404 | /* UVD TRAP */ | 405 | /* UVD TRAP */ |
405 | r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], 124, &adev->uvd.inst[j].irq); | 406 | r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], UVD_7_0__SRCID__UVD_SYSTEM_MESSAGE_INTERRUPT, &adev->uvd.inst[j].irq); |
406 | if (r) | 407 | if (r) |
407 | return r; | 408 | return r; |
408 | 409 | ||
409 | /* UVD ENC TRAP */ | 410 | /* UVD ENC TRAP */ |
410 | for (i = 0; i < adev->uvd.num_enc_rings; ++i) { | 411 | for (i = 0; i < adev->uvd.num_enc_rings; ++i) { |
411 | r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], i + 119, &adev->uvd.inst[j].irq); | 412 | r = amdgpu_irq_add_id(adev, amdgpu_ih_clientid_uvds[j], i + UVD_7_0__SRCID__UVD_ENC_GEN_PURP, &adev->uvd.inst[j].irq); |
412 | if (r) | 413 | if (r) |
413 | return r; | 414 | return r; |
414 | } | 415 | } |
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c b/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c index 575bf9709389..65f8860169e9 100644 --- a/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vce_v4_0.c | |||
@@ -39,6 +39,8 @@ | |||
39 | #include "mmhub/mmhub_1_0_offset.h" | 39 | #include "mmhub/mmhub_1_0_offset.h" |
40 | #include "mmhub/mmhub_1_0_sh_mask.h" | 40 | #include "mmhub/mmhub_1_0_sh_mask.h" |
41 | 41 | ||
42 | #include "ivsrcid/vce/irqsrcs_vce_4_0.h" | ||
43 | |||
42 | #define VCE_STATUS_VCPU_REPORT_FW_LOADED_MASK 0x02 | 44 | #define VCE_STATUS_VCPU_REPORT_FW_LOADED_MASK 0x02 |
43 | 45 | ||
44 | #define VCE_V4_0_FW_SIZE (384 * 1024) | 46 | #define VCE_V4_0_FW_SIZE (384 * 1024) |
diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c index ca4265bc10b9..2ce91a748c40 100644 --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | |||
@@ -35,6 +35,8 @@ | |||
35 | #include "mmhub/mmhub_9_1_offset.h" | 35 | #include "mmhub/mmhub_9_1_offset.h" |
36 | #include "mmhub/mmhub_9_1_sh_mask.h" | 36 | #include "mmhub/mmhub_9_1_sh_mask.h" |
37 | 37 | ||
38 | #include "ivsrcid/vcn/irqsrcs_vcn_1_0.h" | ||
39 | |||
38 | static int vcn_v1_0_stop(struct amdgpu_device *adev); | 40 | static int vcn_v1_0_stop(struct amdgpu_device *adev); |
39 | static void vcn_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev); | 41 | static void vcn_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev); |
40 | static void vcn_v1_0_set_enc_ring_funcs(struct amdgpu_device *adev); | 42 | static void vcn_v1_0_set_enc_ring_funcs(struct amdgpu_device *adev); |
@@ -77,13 +79,13 @@ static int vcn_v1_0_sw_init(void *handle) | |||
77 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; | 79 | struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
78 | 80 | ||
79 | /* VCN DEC TRAP */ | 81 | /* VCN DEC TRAP */ |
80 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, 124, &adev->vcn.irq); | 82 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, VCN_1_0__SRCID__UVD_SYSTEM_MESSAGE_INTERRUPT, &adev->vcn.irq); |
81 | if (r) | 83 | if (r) |
82 | return r; | 84 | return r; |
83 | 85 | ||
84 | /* VCN ENC TRAP */ | 86 | /* VCN ENC TRAP */ |
85 | for (i = 0; i < adev->vcn.num_enc_rings; ++i) { | 87 | for (i = 0; i < adev->vcn.num_enc_rings; ++i) { |
86 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, i + 119, | 88 | r = amdgpu_irq_add_id(adev, SOC15_IH_CLIENTID_VCN, i + VCN_1_0__SRCID__UVD_ENC_GENERAL_PURPOSE, |
87 | &adev->vcn.irq); | 89 | &adev->vcn.irq); |
88 | if (r) | 90 | if (r) |
89 | return r; | 91 | return r; |
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c index 3effb5583d1f..8eea49e4c74d 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include "ppatomctrl.h" | 25 | #include "ppatomctrl.h" |
26 | #include "ppsmc.h" | 26 | #include "ppsmc.h" |
27 | #include "atom.h" | 27 | #include "atom.h" |
28 | #include "ivsrcid/thm/irqsrcs_thm_9_0.h" | ||
29 | #include "ivsrcid/smuio/irqsrcs_smuio_9_0.h" | ||
28 | 30 | ||
29 | uint8_t convert_to_vid(uint16_t vddc) | 31 | uint8_t convert_to_vid(uint16_t vddc) |
30 | { | 32 | { |
@@ -594,17 +596,17 @@ int smu9_register_irq_handlers(struct pp_hwmgr *hwmgr) | |||
594 | 596 | ||
595 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), | 597 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), |
596 | SOC15_IH_CLIENTID_THM, | 598 | SOC15_IH_CLIENTID_THM, |
597 | 0, | 599 | THM_9_0__SRCID__THM_DIG_THERM_L2H, |
598 | source); | 600 | source); |
599 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), | 601 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), |
600 | SOC15_IH_CLIENTID_THM, | 602 | SOC15_IH_CLIENTID_THM, |
601 | 1, | 603 | THM_9_0__SRCID__THM_DIG_THERM_H2L, |
602 | source); | 604 | source); |
603 | 605 | ||
604 | /* Register CTF(GPIO_19) interrupt */ | 606 | /* Register CTF(GPIO_19) interrupt */ |
605 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), | 607 | amdgpu_irq_add_id((struct amdgpu_device *)(hwmgr->adev), |
606 | SOC15_IH_CLIENTID_ROM_SMUIO, | 608 | SOC15_IH_CLIENTID_ROM_SMUIO, |
607 | 83, | 609 | SMUIO_9_0__SRCID__SMUIO_GPIO19, |
608 | source); | 610 | source); |
609 | 611 | ||
610 | return 0; | 612 | return 0; |