Skip to content

Commit 6b154c0

Browse files
Lang Yualexdeucher
authored andcommitted
drm/amdgpu/umsch: update UMSCH 4.0 FW interface
Align with FW changes. Signed-off-by: Lang Yu <[email protected]> Reviewed-by: Veerabadhran Gopalakrishnan <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent 0ccc2b3 commit 6b154c0

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,6 @@ enum UMSCH_SWIP_ENGINE_TYPE {
3333
UMSCH_SWIP_ENGINE_TYPE_MAX
3434
};
3535

36-
enum UMSCH_SWIP_AFFINITY_TYPE {
37-
UMSCH_SWIP_AFFINITY_TYPE_ANY = 0,
38-
UMSCH_SWIP_AFFINITY_TYPE_VCN0 = 1,
39-
UMSCH_SWIP_AFFINITY_TYPE_VCN1 = 2,
40-
UMSCH_SWIP_AFFINITY_TYPE_MAX
41-
};
42-
4336
enum UMSCH_CONTEXT_PRIORITY_LEVEL {
4437
CONTEXT_PRIORITY_LEVEL_IDLE = 0,
4538
CONTEXT_PRIORITY_LEVEL_NORMAL = 1,
@@ -51,13 +44,15 @@ enum UMSCH_CONTEXT_PRIORITY_LEVEL {
5144
struct umsch_mm_set_resource_input {
5245
uint32_t vmid_mask_mm_vcn;
5346
uint32_t vmid_mask_mm_vpe;
47+
uint32_t collaboration_mask_vpe;
5448
uint32_t logging_vmid;
5549
uint32_t engine_mask;
5650
union {
5751
struct {
5852
uint32_t disable_reset : 1;
5953
uint32_t disable_umsch_mm_log : 1;
60-
uint32_t reserved : 30;
54+
uint32_t use_rs64mem_for_proc_ctx_csa : 1;
55+
uint32_t reserved : 29;
6156
};
6257
uint32_t uint32_all;
6358
};
@@ -78,22 +73,26 @@ struct umsch_mm_add_queue_input {
7873
uint32_t doorbell_offset_1;
7974
enum UMSCH_SWIP_ENGINE_TYPE engine_type;
8075
uint32_t affinity;
81-
enum UMSCH_SWIP_AFFINITY_TYPE affinity_type;
8276
uint64_t mqd_addr;
8377
uint64_t h_context;
8478
uint64_t h_queue;
8579
uint32_t vm_context_cntl;
8680

81+
uint32_t process_csa_array_index;
82+
uint32_t context_csa_array_index;
83+
8784
struct {
8885
uint32_t is_context_suspended : 1;
89-
uint32_t reserved : 31;
86+
uint32_t collaboration_mode : 1;
87+
uint32_t reserved : 30;
9088
};
9189
};
9290

9391
struct umsch_mm_remove_queue_input {
9492
uint32_t doorbell_offset_0;
9593
uint32_t doorbell_offset_1;
9694
uint64_t context_csa_addr;
95+
uint32_t context_csa_array_index;
9796
};
9897

9998
struct MQD_INFO {
@@ -103,6 +102,7 @@ struct MQD_INFO {
103102
uint32_t wptr_val;
104103
uint32_t rptr_val;
105104
uint32_t unmapped;
105+
uint32_t vmid;
106106
};
107107

108108
struct amdgpu_umsch_mm;

drivers/gpu/drm/amd/include/umsch_mm_4_0_api_def.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,8 @@ union UMSCHAPI__SET_HW_RESOURCES {
234234
uint32_t enable_level_process_quantum_check : 1;
235235
uint32_t is_vcn0_enabled : 1;
236236
uint32_t is_vcn1_enabled : 1;
237-
uint32_t reserved : 27;
237+
uint32_t use_rs64mem_for_proc_ctx_csa : 1;
238+
uint32_t reserved : 26;
238239
};
239240
uint32_t uint32_all;
240241
};
@@ -297,9 +298,12 @@ union UMSCHAPI__ADD_QUEUE {
297298

298299
struct {
299300
uint32_t is_context_suspended : 1;
300-
uint32_t reserved : 31;
301+
uint32_t collaboration_mode : 1;
302+
uint32_t reserved : 30;
301303
};
302304
struct UMSCH_API_STATUS api_status;
305+
uint32_t process_csa_array_index;
306+
uint32_t context_csa_array_index;
303307
};
304308

305309
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -314,6 +318,7 @@ union UMSCHAPI__REMOVE_QUEUE {
314318
uint64_t context_csa_addr;
315319

316320
struct UMSCH_API_STATUS api_status;
321+
uint32_t context_csa_array_index;
317322
};
318323

319324
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -337,6 +342,7 @@ union UMSCHAPI__SUSPEND {
337342
uint32_t suspend_fence_value;
338343

339344
struct UMSCH_API_STATUS api_status;
345+
uint32_t context_csa_array_index;
340346
};
341347

342348
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -356,6 +362,7 @@ union UMSCHAPI__RESUME {
356362
enum UMSCH_ENGINE_TYPE engine_type;
357363

358364
struct UMSCH_API_STATUS api_status;
365+
uint32_t context_csa_array_index;
359366
};
360367

361368
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -404,6 +411,7 @@ union UMSCHAPI__UPDATE_AFFINITY {
404411
union UMSCH_AFFINITY affinity;
405412
uint64_t context_csa_addr;
406413
struct UMSCH_API_STATUS api_status;
414+
uint32_t context_csa_array_index;
407415
};
408416

409417
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];
@@ -417,6 +425,7 @@ union UMSCHAPI__CHANGE_CONTEXT_PRIORITY_LEVEL {
417425
uint64_t context_quantum;
418426
uint64_t context_csa_addr;
419427
struct UMSCH_API_STATUS api_status;
428+
uint32_t context_csa_array_index;
420429
};
421430

422431
uint32_t max_dwords_in_api[API_FRAME_SIZE_IN_DWORDS];

0 commit comments

Comments
 (0)