@@ -2555,40 +2555,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
25552555
25562556 switch (adev -> asic_type ) {
25572557 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.
25672561 */
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 );
25922563 vega10_reg_base_init (adev );
25932564 adev -> sdma .num_instances = 2 ;
25942565 adev -> gmc .num_umc = 4 ;
@@ -2611,6 +2582,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
26112582 adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 0 , 0 );
26122583 break ;
26132584 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 );
26142590 vega10_reg_base_init (adev );
26152591 adev -> sdma .num_instances = 2 ;
26162592 adev -> gmc .num_umc = 4 ;
@@ -2633,6 +2609,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
26332609 adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 0 , 1 );
26342610 break ;
26352611 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 );
26362617 vega10_reg_base_init (adev );
26372618 adev -> sdma .num_instances = 1 ;
26382619 adev -> vcn .num_vcn_inst = 1 ;
@@ -2674,6 +2655,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
26742655 }
26752656 break ;
26762657 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 );
26772663 vega20_reg_base_init (adev );
26782664 adev -> sdma .num_instances = 2 ;
26792665 adev -> gmc .num_umc = 8 ;
@@ -2697,6 +2683,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
26972683 adev -> ip_versions [DCI_HWIP ][0 ] = IP_VERSION (12 , 1 , 0 );
26982684 break ;
26992685 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 );
27002691 arct_reg_base_init (adev );
27012692 adev -> sdma .num_instances = 8 ;
27022693 adev -> vcn .num_vcn_inst = 2 ;
@@ -2725,6 +2716,11 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
27252716 adev -> ip_versions [UVD_HWIP ][1 ] = IP_VERSION (2 , 5 , 0 );
27262717 break ;
27272718 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 );
27282724 aldebaran_reg_base_init (adev );
27292725 adev -> sdma .num_instances = 5 ;
27302726 adev -> vcn .num_vcn_inst = 2 ;
@@ -2751,6 +2747,16 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
27512747 adev -> ip_versions [XGMI_HWIP ][0 ] = IP_VERSION (6 , 1 , 0 );
27522748 break ;
27532749 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 );
27542760 break ;
27552761 }
27562762
0 commit comments