]> Git Repo - J-linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_irq.h
Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[J-linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_irq.h
index 3375ad778edce4723ad6b09ee5410933d91fe2db..f6ce171cb8aa76a3ba38ba396ee0ad2d7b5b153d 100644 (file)
 #define __AMDGPU_IRQ_H__
 
 #include <linux/irqdomain.h>
+#include "soc15_ih_clientid.h"
 #include "amdgpu_ih.h"
 
-#define AMDGPU_MAX_IRQ_SRC_ID  0x100
+#define AMDGPU_MAX_IRQ_SRC_ID          0x100
 #define AMDGPU_MAX_IRQ_CLIENT_ID       0x100
 
+#define AMDGPU_IRQ_CLIENTID_LEGACY     0
+#define AMDGPU_IRQ_CLIENTID_MAX                SOC15_IH_CLIENTID_MAX
+
+#define AMDGPU_IRQ_SRC_DATA_MAX_SIZE_DW        4
+
 struct amdgpu_device;
-struct amdgpu_iv_entry;
 
 enum amdgpu_interrupt_state {
        AMDGPU_IRQ_STATE_DISABLE,
        AMDGPU_IRQ_STATE_ENABLE,
 };
 
+struct amdgpu_iv_entry {
+       unsigned client_id;
+       unsigned src_id;
+       unsigned ring_id;
+       unsigned vmid;
+       unsigned vmid_src;
+       uint64_t timestamp;
+       unsigned timestamp_src;
+       unsigned pasid;
+       unsigned pasid_src;
+       unsigned src_data[AMDGPU_IRQ_SRC_DATA_MAX_SIZE_DW];
+       const uint32_t *iv_entry;
+};
+
 struct amdgpu_irq_src {
        unsigned                                num_types;
        atomic_t                                *enabled_types;
@@ -63,7 +82,7 @@ struct amdgpu_irq {
        bool                            installed;
        spinlock_t                      lock;
        /* interrupt sources */
-       struct amdgpu_irq_client        client[AMDGPU_IH_CLIENTID_MAX];
+       struct amdgpu_irq_client        client[AMDGPU_IRQ_CLIENTID_MAX];
 
        /* status, etc. */
        bool                            msi_enabled; /* msi enabled */
This page took 0.029328 seconds and 4 git commands to generate.