@@ -335,6 +335,117 @@ struct _vcs_dpi_soc_bounding_box_st dcn2_0_soc = {
335
335
.use_urgent_burst_bw = 0
336
336
};
337
337
338
+ struct _vcs_dpi_soc_bounding_box_st dcn2_0_nv14_soc = {
339
+ .clock_limits = {
340
+ {
341
+ .state = 0 ,
342
+ .dcfclk_mhz = 560.0 ,
343
+ .fabricclk_mhz = 560.0 ,
344
+ .dispclk_mhz = 513.0 ,
345
+ .dppclk_mhz = 513.0 ,
346
+ .phyclk_mhz = 540.0 ,
347
+ .socclk_mhz = 560.0 ,
348
+ .dscclk_mhz = 171.0 ,
349
+ .dram_speed_mts = 8960.0 ,
350
+ },
351
+ {
352
+ .state = 1 ,
353
+ .dcfclk_mhz = 694.0 ,
354
+ .fabricclk_mhz = 694.0 ,
355
+ .dispclk_mhz = 642.0 ,
356
+ .dppclk_mhz = 642.0 ,
357
+ .phyclk_mhz = 600.0 ,
358
+ .socclk_mhz = 694.0 ,
359
+ .dscclk_mhz = 214.0 ,
360
+ .dram_speed_mts = 11104.0 ,
361
+ },
362
+ {
363
+ .state = 2 ,
364
+ .dcfclk_mhz = 875.0 ,
365
+ .fabricclk_mhz = 875.0 ,
366
+ .dispclk_mhz = 734.0 ,
367
+ .dppclk_mhz = 734.0 ,
368
+ .phyclk_mhz = 810.0 ,
369
+ .socclk_mhz = 875.0 ,
370
+ .dscclk_mhz = 245.0 ,
371
+ .dram_speed_mts = 14000.0 ,
372
+ },
373
+ {
374
+ .state = 3 ,
375
+ .dcfclk_mhz = 1000.0 ,
376
+ .fabricclk_mhz = 1000.0 ,
377
+ .dispclk_mhz = 1100.0 ,
378
+ .dppclk_mhz = 1100.0 ,
379
+ .phyclk_mhz = 810.0 ,
380
+ .socclk_mhz = 1000.0 ,
381
+ .dscclk_mhz = 367.0 ,
382
+ .dram_speed_mts = 16000.0 ,
383
+ },
384
+ {
385
+ .state = 4 ,
386
+ .dcfclk_mhz = 1200.0 ,
387
+ .fabricclk_mhz = 1200.0 ,
388
+ .dispclk_mhz = 1284.0 ,
389
+ .dppclk_mhz = 1284.0 ,
390
+ .phyclk_mhz = 810.0 ,
391
+ .socclk_mhz = 1200.0 ,
392
+ .dscclk_mhz = 428.0 ,
393
+ .dram_speed_mts = 16000.0 ,
394
+ },
395
+ /*Extra state, no dispclk ramping*/
396
+ {
397
+ .state = 5 ,
398
+ .dcfclk_mhz = 1200.0 ,
399
+ .fabricclk_mhz = 1200.0 ,
400
+ .dispclk_mhz = 1284.0 ,
401
+ .dppclk_mhz = 1284.0 ,
402
+ .phyclk_mhz = 810.0 ,
403
+ .socclk_mhz = 1200.0 ,
404
+ .dscclk_mhz = 428.0 ,
405
+ .dram_speed_mts = 16000.0 ,
406
+ },
407
+ },
408
+ .num_states = 5 ,
409
+ .sr_exit_time_us = 8.6 ,
410
+ .sr_enter_plus_exit_time_us = 10.9 ,
411
+ .urgent_latency_us = 4.0 ,
412
+ .urgent_latency_pixel_data_only_us = 4.0 ,
413
+ .urgent_latency_pixel_mixed_with_vm_data_us = 4.0 ,
414
+ .urgent_latency_vm_data_only_us = 4.0 ,
415
+ .urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096 ,
416
+ .urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096 ,
417
+ .urgent_out_of_order_return_per_channel_vm_only_bytes = 4096 ,
418
+ .pct_ideal_dram_sdp_bw_after_urgent_pixel_only = 40.0 ,
419
+ .pct_ideal_dram_sdp_bw_after_urgent_pixel_and_vm = 40.0 ,
420
+ .pct_ideal_dram_sdp_bw_after_urgent_vm_only = 40.0 ,
421
+ .max_avg_sdp_bw_use_normal_percent = 40.0 ,
422
+ .max_avg_dram_bw_use_normal_percent = 40.0 ,
423
+ .writeback_latency_us = 12.0 ,
424
+ .ideal_dram_bw_after_urgent_percent = 40.0 ,
425
+ .max_request_size_bytes = 256 ,
426
+ .dram_channel_width_bytes = 2 ,
427
+ .fabric_datapath_to_dcn_data_return_bytes = 64 ,
428
+ .dcn_downspread_percent = 0.5 ,
429
+ .downspread_percent = 0.38 ,
430
+ .dram_page_open_time_ns = 50.0 ,
431
+ .dram_rw_turnaround_time_ns = 17.5 ,
432
+ .dram_return_buffer_per_channel_bytes = 8192 ,
433
+ .round_trip_ping_latency_dcfclk_cycles = 131 ,
434
+ .urgent_out_of_order_return_per_channel_bytes = 256 ,
435
+ .channel_interleave_bytes = 256 ,
436
+ .num_banks = 8 ,
437
+ .num_chans = 8 ,
438
+ .vmm_page_size_bytes = 4096 ,
439
+ .dram_clock_change_latency_us = 404.0 ,
440
+ .dummy_pstate_latency_us = 5.0 ,
441
+ .writeback_dram_clock_change_latency_us = 23.0 ,
442
+ .return_bus_width_bytes = 64 ,
443
+ .dispclk_dppclk_vco_speed_mhz = 3850 ,
444
+ .xfc_bus_transport_time_us = 20 ,
445
+ .xfc_xbuf_latency_tolerance_us = 4 ,
446
+ .use_urgent_burst_bw = 0
447
+ };
448
+
338
449
struct _vcs_dpi_soc_bounding_box_st dcn2_0_nv12_soc = { 0 };
339
450
340
451
#ifndef mmDP0_DP_DPHY_INTERNAL_CTRL
@@ -3291,6 +3402,9 @@ void dcn20_patch_bounding_box(struct dc *dc, struct _vcs_dpi_soc_bounding_box_st
3291
3402
static struct _vcs_dpi_soc_bounding_box_st * get_asic_rev_soc_bb (
3292
3403
uint32_t hw_internal_rev )
3293
3404
{
3405
+ if (ASICREV_IS_NAVI14_M (hw_internal_rev ))
3406
+ return & dcn2_0_nv14_soc ;
3407
+
3294
3408
if (ASICREV_IS_NAVI12_P (hw_internal_rev ))
3295
3409
return & dcn2_0_nv12_soc ;
3296
3410
0 commit comments