]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_mes.h
index 2d6ac30b7135b894674224b826356c30ec3c8f3d..a27b424ffe0056a498b55b52c9b8453863748b19 100644 (file)
@@ -27,6 +27,7 @@
 #include "amdgpu_irq.h"
 #include "kgd_kfd_interface.h"
 #include "amdgpu_gfx.h"
+#include "amdgpu_doorbell.h"
 #include <linux/sched/mm.h>
 
 #define AMDGPU_MES_MAX_COMPUTE_PIPES        8
@@ -76,7 +77,6 @@ struct amdgpu_mes {
        uint32_t                        kiq_version;
 
        uint32_t                        total_max_queue;
-       uint32_t                        doorbell_id_offset;
        uint32_t                        max_doorbell_slices;
 
        uint64_t                        default_process_quantum;
@@ -128,6 +128,11 @@ struct amdgpu_mes {
        int                             (*kiq_hw_init)(struct amdgpu_device *adev);
        int                             (*kiq_hw_fini)(struct amdgpu_device *adev);
 
+       /* MES doorbells */
+       uint32_t                        db_start_dw_offset;
+       uint32_t                        num_mes_dbs;
+       unsigned long                   *doorbell_bitmap;
+
        /* ip specific functions */
        const struct amdgpu_mes_funcs   *funcs;
 };
@@ -142,7 +147,6 @@ struct amdgpu_mes_process {
        uint64_t                process_quantum;
        struct                  list_head gang_list;
        uint32_t                doorbell_index;
-       unsigned long           *doorbell_bitmap;
        struct mutex            doorbell_lock;
 };
 
@@ -224,6 +228,7 @@ struct mes_add_queue_input {
        uint32_t        is_kfd_process;
        uint32_t        is_aql_queue;
        uint32_t        queue_size;
+       uint32_t        exclusively_scheduled;
 };
 
 struct mes_remove_queue_input {
@@ -386,14 +391,6 @@ int amdgpu_mes_ctx_unmap_meta_data(struct amdgpu_device *adev,
 
 int amdgpu_mes_self_test(struct amdgpu_device *adev);
 
-int amdgpu_mes_alloc_process_doorbells(struct amdgpu_device *adev,
-                                       unsigned int *doorbell_index);
-void amdgpu_mes_free_process_doorbells(struct amdgpu_device *adev,
-                                       unsigned int doorbell_index);
-unsigned int amdgpu_mes_get_doorbell_dw_offset_in_bar(
-                                       struct amdgpu_device *adev,
-                                       uint32_t doorbell_index,
-                                       unsigned int doorbell_id);
 int amdgpu_mes_doorbell_process_slice(struct amdgpu_device *adev);
 
 /*
This page took 0.035581 seconds and 4 git commands to generate.