aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>2018-05-25 10:45:34 -0400
committerAlex Deucher <alexander.deucher@amd.com>2018-07-13 15:45:43 -0400
commit44a99b65fc27474b66f7173b971bfbd67ca6ba74 (patch)
tree8524f91b9b18dfa95f837d6f6c6d1288095a9fae /drivers/gpu
parentba61bb17496d1664bf7c5c2fd650d5fd78bd0a92 (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.c10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c6
-rw-r--r--drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c7
-rw-r--r--drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c5
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vce_v4_0.c2
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c6
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/smu_helper.c8
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
41MODULE_FIRMWARE("amdgpu/vega10_sdma.bin"); 44MODULE_FIRMWARE("amdgpu/vega10_sdma.bin");
42MODULE_FIRMWARE("amdgpu/vega10_sdma1.bin"); 45MODULE_FIRMWARE("amdgpu/vega10_sdma1.bin");
43MODULE_FIRMWARE("amdgpu/vega12_sdma.bin"); 46MODULE_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
38static int vcn_v1_0_stop(struct amdgpu_device *adev); 40static int vcn_v1_0_stop(struct amdgpu_device *adev);
39static void vcn_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev); 41static void vcn_v1_0_set_dec_ring_funcs(struct amdgpu_device *adev);
40static void vcn_v1_0_set_enc_ring_funcs(struct amdgpu_device *adev); 42static 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
29uint8_t convert_to_vid(uint16_t vddc) 31uint8_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;