diff options
author | Christian König <christian.koenig@amd.com> | 2018-09-17 09:29:28 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-09-26 22:09:22 -0400 |
commit | 1ffdeca64856e0149e7fb341617f47cb038df543 (patch) | |
tree | eab2c608b0234a632de60d4598c33e8702a8d902 /drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | |
parent | 1f8969463bca23327eedadab0fef0d28c9b6f29f (diff) |
drm/amdgpu: move more defines into amdgpu_irq.h
Everything that isn't related to the IH ring.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h index 3375ad778edc..f6ce171cb8aa 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h | |||
@@ -25,19 +25,38 @@ | |||
25 | #define __AMDGPU_IRQ_H__ | 25 | #define __AMDGPU_IRQ_H__ |
26 | 26 | ||
27 | #include <linux/irqdomain.h> | 27 | #include <linux/irqdomain.h> |
28 | #include "soc15_ih_clientid.h" | ||
28 | #include "amdgpu_ih.h" | 29 | #include "amdgpu_ih.h" |
29 | 30 | ||
30 | #define AMDGPU_MAX_IRQ_SRC_ID 0x100 | 31 | #define AMDGPU_MAX_IRQ_SRC_ID 0x100 |
31 | #define AMDGPU_MAX_IRQ_CLIENT_ID 0x100 | 32 | #define AMDGPU_MAX_IRQ_CLIENT_ID 0x100 |
32 | 33 | ||
34 | #define AMDGPU_IRQ_CLIENTID_LEGACY 0 | ||
35 | #define AMDGPU_IRQ_CLIENTID_MAX SOC15_IH_CLIENTID_MAX | ||
36 | |||
37 | #define AMDGPU_IRQ_SRC_DATA_MAX_SIZE_DW 4 | ||
38 | |||
33 | struct amdgpu_device; | 39 | struct amdgpu_device; |
34 | struct amdgpu_iv_entry; | ||
35 | 40 | ||
36 | enum amdgpu_interrupt_state { | 41 | enum amdgpu_interrupt_state { |
37 | AMDGPU_IRQ_STATE_DISABLE, | 42 | AMDGPU_IRQ_STATE_DISABLE, |
38 | AMDGPU_IRQ_STATE_ENABLE, | 43 | AMDGPU_IRQ_STATE_ENABLE, |
39 | }; | 44 | }; |
40 | 45 | ||
46 | struct amdgpu_iv_entry { | ||
47 | unsigned client_id; | ||
48 | unsigned src_id; | ||
49 | unsigned ring_id; | ||
50 | unsigned vmid; | ||
51 | unsigned vmid_src; | ||
52 | uint64_t timestamp; | ||
53 | unsigned timestamp_src; | ||
54 | unsigned pasid; | ||
55 | unsigned pasid_src; | ||
56 | unsigned src_data[AMDGPU_IRQ_SRC_DATA_MAX_SIZE_DW]; | ||
57 | const uint32_t *iv_entry; | ||
58 | }; | ||
59 | |||
41 | struct amdgpu_irq_src { | 60 | struct amdgpu_irq_src { |
42 | unsigned num_types; | 61 | unsigned num_types; |
43 | atomic_t *enabled_types; | 62 | atomic_t *enabled_types; |
@@ -63,7 +82,7 @@ struct amdgpu_irq { | |||
63 | bool installed; | 82 | bool installed; |
64 | spinlock_t lock; | 83 | spinlock_t lock; |
65 | /* interrupt sources */ | 84 | /* interrupt sources */ |
66 | struct amdgpu_irq_client client[AMDGPU_IH_CLIENTID_MAX]; | 85 | struct amdgpu_irq_client client[AMDGPU_IRQ_CLIENTID_MAX]; |
67 | 86 | ||
68 | /* status, etc. */ | 87 | /* status, etc. */ |
69 | bool msi_enabled; /* msi enabled */ | 88 | bool msi_enabled; /* msi enabled */ |