169
169
#define AMDGPU_VCN_SMU_VERSION_INFO_FLAG (1 << 11)
170
170
#define AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG (1 << 11)
171
171
#define AMDGPU_VCN_VF_RB_SETUP_FLAG (1 << 14)
172
+ #define AMDGPU_VCN_VF_RB_DECOUPLE_FLAG (1 << 15)
173
+
174
+ #define MAX_NUM_VCN_RB_SETUP 4
172
175
173
176
#define AMDGPU_VCN_IB_FLAG_DECODE_BUFFER 0x00000001
174
177
#define AMDGPU_VCN_CMD_FLAG_MSG_BUFFER 0x00000001
@@ -335,22 +338,42 @@ struct amdgpu_fw_shared {
335
338
struct amdgpu_fw_shared_smu_interface_info smu_interface_info ;
336
339
};
337
340
341
+ struct amdgpu_vcn_rb_setup_info {
342
+ uint32_t rb_addr_lo ;
343
+ uint32_t rb_addr_hi ;
344
+ uint32_t rb_size ;
345
+ };
346
+
338
347
struct amdgpu_fw_shared_rb_setup {
339
348
uint32_t is_rb_enabled_flags ;
340
- uint32_t rb_addr_lo ;
341
- uint32_t rb_addr_hi ;
342
- uint32_t rb_size ;
343
- uint32_t rb4_addr_lo ;
344
- uint32_t rb4_addr_hi ;
345
- uint32_t rb4_size ;
346
- uint32_t reserved [6 ];
349
+
350
+ union {
351
+ struct {
352
+ uint32_t rb_addr_lo ;
353
+ uint32_t rb_addr_hi ;
354
+ uint32_t rb_size ;
355
+ uint32_t rb4_addr_lo ;
356
+ uint32_t rb4_addr_hi ;
357
+ uint32_t rb4_size ;
358
+ uint32_t reserved [6 ];
359
+ };
360
+
361
+ struct {
362
+ struct amdgpu_vcn_rb_setup_info rb_info [MAX_NUM_VCN_RB_SETUP ];
363
+ };
364
+ };
347
365
};
348
366
349
367
struct amdgpu_fw_shared_drm_key_wa {
350
368
uint8_t method ;
351
369
uint8_t reserved [3 ];
352
370
};
353
371
372
+ struct amdgpu_fw_shared_queue_decouple {
373
+ uint8_t is_enabled ;
374
+ uint8_t reserved [7 ];
375
+ };
376
+
354
377
struct amdgpu_vcn4_fw_shared {
355
378
uint32_t present_flag_0 ;
356
379
uint8_t pad [12 ];
@@ -361,6 +384,8 @@ struct amdgpu_vcn4_fw_shared {
361
384
struct amdgpu_fw_shared_rb_setup rb_setup ;
362
385
struct amdgpu_fw_shared_smu_interface_info smu_dpm_interface ;
363
386
struct amdgpu_fw_shared_drm_key_wa drm_key_wa ;
387
+ uint8_t pad3 [9 ];
388
+ struct amdgpu_fw_shared_queue_decouple decouple ;
364
389
};
365
390
366
391
struct amdgpu_vcn_fwlog {
@@ -378,6 +403,15 @@ struct amdgpu_vcn_decode_buffer {
378
403
uint32_t pad [30 ];
379
404
};
380
405
406
+ struct amdgpu_vcn_rb_metadata {
407
+ uint32_t size ;
408
+ uint32_t present_flag_0 ;
409
+
410
+ uint8_t version ;
411
+ uint8_t ring_id ;
412
+ uint8_t pad [26 ];
413
+ };
414
+
381
415
#define VCN_BLOCK_ENCODE_DISABLE_MASK 0x80
382
416
#define VCN_BLOCK_DECODE_DISABLE_MASK 0x40
383
417
#define VCN_BLOCK_QUEUE_DISABLE_MASK 0xC0
0 commit comments