Merge tag 'amd-drm-next-5.19-2022-05-18' of https://gitlab.freedesktop.org/agd5f...
[sfrench/cifs-2.6.git] / drivers / gpu / drm / amd / amdkfd / kfd_priv.h
index 10bb3bb46246bd36367aaed08196d9582c426465..2585d6e61d4229535fe69e001aead80a3b328c9e 100644 (file)
@@ -229,6 +229,8 @@ struct kfd_device_info {
        bool needs_pci_atomics;
        uint32_t no_atomic_fw_version;
        unsigned int num_sdma_queues_per_engine;
+       unsigned int num_reserved_sdma_queues_per_engine;
+       uint64_t reserved_sdma_queues_bitmap;
 };
 
 unsigned int kfd_get_num_sdma_engines(struct kfd_dev *kdev);
@@ -565,6 +567,10 @@ struct queue {
 
        /* procfs */
        struct kobject kobj;
+
+       void *gang_ctx_bo;
+       uint64_t gang_ctx_gpu_addr;
+       void *gang_ctx_cpu_ptr;
 };
 
 enum KFD_MQD_TYPE {
@@ -780,6 +786,10 @@ struct kfd_process_device {
         * checkpointed node to refer to this device.
         */
        uint32_t user_gpu_id;
+
+       void *proc_ctx_bo;
+       uint64_t proc_ctx_gpu_addr;
+       void *proc_ctx_cpu_ptr;
 };
 
 #define qpd_to_pdd(x) container_of(x, struct kfd_process_device, qpd)
@@ -1171,6 +1181,8 @@ struct mqd_manager *mqd_manager_init_v9(enum KFD_MQD_TYPE type,
                struct kfd_dev *dev);
 struct mqd_manager *mqd_manager_init_v10(enum KFD_MQD_TYPE type,
                struct kfd_dev *dev);
+struct mqd_manager *mqd_manager_init_v11(enum KFD_MQD_TYPE type,
+               struct kfd_dev *dev);
 struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev);
 void device_queue_manager_uninit(struct device_queue_manager *dqm);
 struct kernel_queue *kernel_queue_init(struct kfd_dev *dev,
@@ -1293,6 +1305,7 @@ uint64_t kfd_get_number_elems(struct kfd_dev *kfd);
 /* Events */
 extern const struct kfd_event_interrupt_class event_interrupt_class_cik;
 extern const struct kfd_event_interrupt_class event_interrupt_class_v9;
+extern const struct kfd_event_interrupt_class event_interrupt_class_v11;
 
 extern const struct kfd_device_global_init_class device_global_init_class_cik;