@@ -2555,40 +2555,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2555
2555
2556
2556
switch (adev -> asic_type ) {
2557
2557
case CHIP_VEGA10 :
2558
- case CHIP_VEGA12 :
2559
- case CHIP_RAVEN :
2560
- case CHIP_VEGA20 :
2561
- case CHIP_ARCTURUS :
2562
- case CHIP_ALDEBARAN :
2563
- /* this is not fatal. We have a fallback below
2564
- * if the new firmwares are not present. some of
2565
- * this will be overridden below to keep things
2566
- * consistent with the current behavior.
2558
+ /* This is not fatal. We only need the discovery
2559
+ * binary for sysfs. We don't need it for a
2560
+ * functional system.
2567
2561
*/
2568
- r = amdgpu_discovery_reg_base_init (adev );
2569
- if (!r ) {
2570
- amdgpu_discovery_harvest_ip (adev );
2571
- amdgpu_discovery_get_gfx_info (adev );
2572
- amdgpu_discovery_get_mall_info (adev );
2573
- amdgpu_discovery_get_vcn_info (adev );
2574
- }
2575
- break ;
2576
- default :
2577
- r = amdgpu_discovery_reg_base_init (adev );
2578
- if (r ) {
2579
- drm_err (& adev -> ddev , "discovery failed: %d\n" , r );
2580
- return r ;
2581
- }
2582
-
2583
- amdgpu_discovery_harvest_ip (adev );
2584
- amdgpu_discovery_get_gfx_info (adev );
2585
- amdgpu_discovery_get_mall_info (adev );
2586
- amdgpu_discovery_get_vcn_info (adev );
2587
- break ;
2588
- }
2589
-
2590
- switch (adev -> asic_type ) {
2591
- case CHIP_VEGA10 :
2562
+ amdgpu_discovery_init (adev );
2592
2563
vega10_reg_base_init (adev );
2593
2564
adev -> sdma .num_instances = 2 ;
2594
2565
adev -> gmc .num_umc = 4 ;
@@ -2611,6 +2582,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2611
2582
adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 0 , 0 );
2612
2583
break ;
2613
2584
case CHIP_VEGA12 :
2585
+ /* This is not fatal. We only need the discovery
2586
+ * binary for sysfs. We don't need it for a
2587
+ * functional system.
2588
+ */
2589
+ amdgpu_discovery_init (adev );
2614
2590
vega10_reg_base_init (adev );
2615
2591
adev -> sdma .num_instances = 2 ;
2616
2592
adev -> gmc .num_umc = 4 ;
@@ -2633,6 +2609,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2633
2609
adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 0 , 1 );
2634
2610
break ;
2635
2611
case CHIP_RAVEN :
2612
+ /* This is not fatal. We only need the discovery
2613
+ * binary for sysfs. We don't need it for a
2614
+ * functional system.
2615
+ */
2616
+ amdgpu_discovery_init (adev );
2636
2617
vega10_reg_base_init (adev );
2637
2618
adev -> sdma .num_instances = 1 ;
2638
2619
adev -> vcn .num_vcn_inst = 1 ;
@@ -2674,6 +2655,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2674
2655
}
2675
2656
break ;
2676
2657
case CHIP_VEGA20 :
2658
+ /* This is not fatal. We only need the discovery
2659
+ * binary for sysfs. We don't need it for a
2660
+ * functional system.
2661
+ */
2662
+ amdgpu_discovery_init (adev );
2677
2663
vega20_reg_base_init (adev );
2678
2664
adev -> sdma .num_instances = 2 ;
2679
2665
adev -> gmc .num_umc = 8 ;
@@ -2697,6 +2683,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2697
2683
adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 1 , 0 );
2698
2684
break ;
2699
2685
case CHIP_ARCTURUS :
2686
+ /* This is not fatal. We only need the discovery
2687
+ * binary for sysfs. We don't need it for a
2688
+ * functional system.
2689
+ */
2690
+ amdgpu_discovery_init (adev );
2700
2691
arct_reg_base_init (adev );
2701
2692
adev -> sdma .num_instances = 8 ;
2702
2693
adev -> vcn .num_vcn_inst = 2 ;
@@ -2725,6 +2716,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2725
2716
adev -> ip_versions [UVD_HWIP ][1 ] = IP_VERSION (2 , 5 , 0 );
2726
2717
break ;
2727
2718
case CHIP_ALDEBARAN :
2719
+ /* This is not fatal. We only need the discovery
2720
+ * binary for sysfs. We don't need it for a
2721
+ * functional system.
2722
+ */
2723
+ amdgpu_discovery_init (adev );
2728
2724
aldebaran_reg_base_init (adev );
2729
2725
adev -> sdma .num_instances = 5 ;
2730
2726
adev -> vcn .num_vcn_inst = 2 ;
@@ -2751,6 +2747,16 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
2751
2747
adev -> ip_versions [XGMI_HWIP ][0 ] = IP_VERSION (6 , 1 , 0 );
2752
2748
break ;
2753
2749
default :
2750
+ r = amdgpu_discovery_reg_base_init (adev );
2751
+ if (r ) {
2752
+ drm_err (& adev -> ddev , "discovery failed: %d\n" , r );
2753
+ return r ;
2754
+ }
2755
+
2756
+ amdgpu_discovery_harvest_ip (adev );
2757
+ amdgpu_discovery_get_gfx_info (adev );
2758
+ amdgpu_discovery_get_mall_info (adev );
2759
+ amdgpu_discovery_get_vcn_info (adev );
2754
2760
break ;
2755
2761
}
2756
2762
0 commit comments