@@ -3766,6 +3766,7 @@ static int per_family_init(struct amd64_pvt *pvt)
37663766 pvt -> stepping = boot_cpu_data .x86_stepping ;
37673767 pvt -> model = boot_cpu_data .x86_model ;
37683768 pvt -> fam = boot_cpu_data .x86 ;
3769+ char * tmp_name = NULL ;
37693770 pvt -> max_mcs = 2 ;
37703771
37713772 /*
@@ -3779,7 +3780,7 @@ static int per_family_init(struct amd64_pvt *pvt)
37793780
37803781 switch (pvt -> fam ) {
37813782 case 0xf :
3782- pvt -> ctl_name = (pvt -> ext_model >= K8_REV_F ) ?
3783+ tmp_name = (pvt -> ext_model >= K8_REV_F ) ?
37833784 "K8 revF or later" : "K8 revE or earlier" ;
37843785 pvt -> f1_id = PCI_DEVICE_ID_AMD_K8_NB_ADDRMAP ;
37853786 pvt -> f2_id = PCI_DEVICE_ID_AMD_K8_NB_MEMCTL ;
@@ -3788,7 +3789,6 @@ static int per_family_init(struct amd64_pvt *pvt)
37883789 break ;
37893790
37903791 case 0x10 :
3791- pvt -> ctl_name = "F10h" ;
37923792 pvt -> f1_id = PCI_DEVICE_ID_AMD_10H_NB_MAP ;
37933793 pvt -> f2_id = PCI_DEVICE_ID_AMD_10H_NB_DRAM ;
37943794 pvt -> ops -> dbam_to_cs = f10_dbam_to_chip_select ;
@@ -3797,12 +3797,10 @@ static int per_family_init(struct amd64_pvt *pvt)
37973797 case 0x15 :
37983798 switch (pvt -> model ) {
37993799 case 0x30 :
3800- pvt -> ctl_name = "F15h_M30h" ;
38013800 pvt -> f1_id = PCI_DEVICE_ID_AMD_15H_M30H_NB_F1 ;
38023801 pvt -> f2_id = PCI_DEVICE_ID_AMD_15H_M30H_NB_F2 ;
38033802 break ;
38043803 case 0x60 :
3805- pvt -> ctl_name = "F15h_M60h" ;
38063804 pvt -> f1_id = PCI_DEVICE_ID_AMD_15H_M60H_NB_F1 ;
38073805 pvt -> f2_id = PCI_DEVICE_ID_AMD_15H_M60H_NB_F2 ;
38083806 pvt -> ops -> dbam_to_cs = f15_m60h_dbam_to_chip_select ;
@@ -3811,7 +3809,6 @@ static int per_family_init(struct amd64_pvt *pvt)
38113809 /* Richland is only client */
38123810 return - ENODEV ;
38133811 default :
3814- pvt -> ctl_name = "F15h" ;
38153812 pvt -> f1_id = PCI_DEVICE_ID_AMD_15H_NB_F1 ;
38163813 pvt -> f2_id = PCI_DEVICE_ID_AMD_15H_NB_F2 ;
38173814 pvt -> ops -> dbam_to_cs = f15_dbam_to_chip_select ;
@@ -3822,12 +3819,10 @@ static int per_family_init(struct amd64_pvt *pvt)
38223819 case 0x16 :
38233820 switch (pvt -> model ) {
38243821 case 0x30 :
3825- pvt -> ctl_name = "F16h_M30h" ;
38263822 pvt -> f1_id = PCI_DEVICE_ID_AMD_16H_M30H_NB_F1 ;
38273823 pvt -> f2_id = PCI_DEVICE_ID_AMD_16H_M30H_NB_F2 ;
38283824 break ;
38293825 default :
3830- pvt -> ctl_name = "F16h" ;
38313826 pvt -> f1_id = PCI_DEVICE_ID_AMD_16H_NB_F1 ;
38323827 pvt -> f2_id = PCI_DEVICE_ID_AMD_16H_NB_F2 ;
38333828 break ;
@@ -3836,76 +3831,51 @@ static int per_family_init(struct amd64_pvt *pvt)
38363831
38373832 case 0x17 :
38383833 switch (pvt -> model ) {
3839- case 0x10 ... 0x2f :
3840- pvt -> ctl_name = "F17h_M10h" ;
3841- break ;
38423834 case 0x30 ... 0x3f :
3843- pvt -> ctl_name = "F17h_M30h" ;
38443835 pvt -> max_mcs = 8 ;
38453836 break ;
3846- case 0x60 ... 0x6f :
3847- pvt -> ctl_name = "F17h_M60h" ;
3848- break ;
3849- case 0x70 ... 0x7f :
3850- pvt -> ctl_name = "F17h_M70h" ;
3851- break ;
38523837 default :
3853- pvt -> ctl_name = "F17h" ;
38543838 break ;
38553839 }
38563840 break ;
38573841
38583842 case 0x18 :
3859- pvt -> ctl_name = "F18h" ;
38603843 break ;
38613844
38623845 case 0x19 :
38633846 switch (pvt -> model ) {
38643847 case 0x00 ... 0x0f :
3865- pvt -> ctl_name = "F19h" ;
38663848 pvt -> max_mcs = 8 ;
38673849 break ;
38683850 case 0x10 ... 0x1f :
3869- pvt -> ctl_name = "F19h_M10h" ;
38703851 pvt -> max_mcs = 12 ;
38713852 pvt -> flags .zn_regs_v2 = 1 ;
38723853 break ;
3873- case 0x20 ... 0x2f :
3874- pvt -> ctl_name = "F19h_M20h" ;
3875- break ;
38763854 case 0x30 ... 0x3f :
38773855 if (pvt -> F3 -> device == PCI_DEVICE_ID_AMD_MI200_DF_F3 ) {
3878- pvt -> ctl_name = "MI200" ;
3856+ tmp_name = "MI200" ;
38793857 pvt -> max_mcs = 4 ;
38803858 pvt -> dram_type = MEM_HBM2 ;
38813859 pvt -> gpu_umc_base = 0x50000 ;
38823860 pvt -> ops = & gpu_ops ;
38833861 } else {
3884- pvt -> ctl_name = "F19h_M30h" ;
38853862 pvt -> max_mcs = 8 ;
38863863 }
38873864 break ;
3888- case 0x50 ... 0x5f :
3889- pvt -> ctl_name = "F19h_M50h" ;
3890- break ;
38913865 case 0x60 ... 0x6f :
3892- pvt -> ctl_name = "F19h_M60h" ;
38933866 pvt -> flags .zn_regs_v2 = 1 ;
38943867 break ;
38953868 case 0x70 ... 0x7f :
3896- pvt -> ctl_name = "F19h_M70h" ;
38973869 pvt -> max_mcs = 4 ;
38983870 pvt -> flags .zn_regs_v2 = 1 ;
38993871 break ;
39003872 case 0x90 ... 0x9f :
3901- pvt -> ctl_name = "F19h_M90h" ;
39023873 pvt -> max_mcs = 4 ;
39033874 pvt -> dram_type = MEM_HBM3 ;
39043875 pvt -> gpu_umc_base = 0x90000 ;
39053876 pvt -> ops = & gpu_ops ;
39063877 break ;
39073878 case 0xa0 ... 0xaf :
3908- pvt -> ctl_name = "F19h_MA0h" ;
39093879 pvt -> max_mcs = 12 ;
39103880 pvt -> flags .zn_regs_v2 = 1 ;
39113881 break ;
@@ -3915,34 +3885,22 @@ static int per_family_init(struct amd64_pvt *pvt)
39153885 case 0x1A :
39163886 switch (pvt -> model ) {
39173887 case 0x00 ... 0x1f :
3918- pvt -> ctl_name = "F1Ah" ;
39193888 pvt -> max_mcs = 12 ;
39203889 pvt -> flags .zn_regs_v2 = 1 ;
39213890 break ;
39223891 case 0x40 ... 0x4f :
3923- pvt -> ctl_name = "F1Ah_M40h" ;
39243892 pvt -> flags .zn_regs_v2 = 1 ;
39253893 break ;
39263894 case 0x50 ... 0x57 :
3927- pvt -> ctl_name = "F1Ah_M50h" ;
3895+ case 0xc0 ... 0xc7 :
39283896 pvt -> max_mcs = 16 ;
39293897 pvt -> flags .zn_regs_v2 = 1 ;
39303898 break ;
39313899 case 0x90 ... 0x9f :
3932- pvt -> ctl_name = "F1Ah_M90h" ;
3933- pvt -> max_mcs = 8 ;
3934- pvt -> flags .zn_regs_v2 = 1 ;
3935- break ;
39363900 case 0xa0 ... 0xaf :
3937- pvt -> ctl_name = "F1Ah_MA0h" ;
39383901 pvt -> max_mcs = 8 ;
39393902 pvt -> flags .zn_regs_v2 = 1 ;
39403903 break ;
3941- case 0xc0 ... 0xc7 :
3942- pvt -> ctl_name = "F1Ah_MC0h" ;
3943- pvt -> max_mcs = 16 ;
3944- pvt -> flags .zn_regs_v2 = 1 ;
3945- break ;
39463904 }
39473905 break ;
39483906
@@ -3951,6 +3909,12 @@ static int per_family_init(struct amd64_pvt *pvt)
39513909 return - ENODEV ;
39523910 }
39533911
3912+ if (tmp_name )
3913+ scnprintf (pvt -> ctl_name , sizeof (pvt -> ctl_name ), tmp_name );
3914+ else
3915+ scnprintf (pvt -> ctl_name , sizeof (pvt -> ctl_name ), "F%02Xh_M%02Xh" ,
3916+ pvt -> fam , pvt -> model );
3917+
39543918 return 0 ;
39553919}
39563920
0 commit comments