Lines Matching full:spd_data
779 ipmi_spd_print(uint8_t *spd_data, int len) in ipmi_spd_print() argument
788 val2str(spd_data[2], spd_memtype_vals)); in ipmi_spd_print()
790 if (spd_data[2] == 0x0B) /* DDR3 SDRAM */ in ipmi_spd_print()
793 char *pchPN = spd_data+128; in ipmi_spd_print()
804 sdram_cap = ldexp(256,(spd_data[4]&15)); in ipmi_spd_print()
805 pri_bus_width = ldexp(8,(spd_data[8]&7)); in ipmi_spd_print()
806 sdram_width = ldexp(4,(spd_data[7]&7)); in ipmi_spd_print()
807 ranks = ldexp(1,((spd_data[7]&0x3F)>>3)); in ipmi_spd_print()
810 printf(" Memory Banks : %s\n", val2str(spd_data[4]>>4, ddr3_banks_vals)); in ipmi_spd_print()
816 /* printf(" Memory Density : %s\n", val2str(spd_data[4]&15, ddr3_density_vals)); */ in ipmi_spd_print()
817 printf(" 1.5 V Nominal Op : %s\n", (((spd_data[6]&1) != 0) ? "No":"Yes" ) ); in ipmi_spd_print()
818 printf(" 1.35 V Nominal Op : %s\n", (((spd_data[6]&2) != 0) ? "No":"Yes" ) ); in ipmi_spd_print()
819 printf(" 1.2X V Nominal Op : %s\n", (((spd_data[6]&4) != 0) ? "No":"Yes" ) ); in ipmi_spd_print()
820 printf(" Error Detect/Cor : %s\n", val2str(spd_data[8]>>3, ddr3_ecc_vals)); in ipmi_spd_print()
823 switch (spd_data[117]&127) in ipmi_spd_print()
826 printf("%s\n", val2str(spd_data[118], jedec_id1_vals)); in ipmi_spd_print()
830 printf("%s\n", val2str(spd_data[118], jedec_id2_vals)); in ipmi_spd_print()
834 printf("%s\n", val2str(spd_data[118], jedec_id3_vals)); in ipmi_spd_print()
838 printf("%s\n", val2str(spd_data[118], jedec_id4_vals)); in ipmi_spd_print()
842 printf("%s\n", val2str(spd_data[118], jedec_id5_vals)); in ipmi_spd_print()
851 '0'+(spd_data[120]>>4), '0'+(spd_data[120]&15), '0'+(spd_data[121]>>4), '0'+(spd_data[121]&15) ); in ipmi_spd_print()
854 spd_data[122], spd_data[123], spd_data[124], spd_data[125]); in ipmi_spd_print()
862 } else if (spd_data[2] == 0x0C) /* DDR4 SDRAM */ in ipmi_spd_print()
883 lrank_dimm = (spd_data[12]>>3&0x3) + 1; /* Number of Package Ranks per DIMM */ in ipmi_spd_print()
884 if ((spd_data[6] & 0x3) == 0x2) { /* 3DS package Type */ in ipmi_spd_print()
885 lrank_dimm *= ((spd_data[6]>>4)&0x3) + 1; /* Die Count */ in ipmi_spd_print()
887 sdram_cap = ldexp(256,(spd_data[4]&15)); in ipmi_spd_print()
888 pri_bus_width = ldexp(8,(spd_data[13]&7)); in ipmi_spd_print()
889 sdram_width = ldexp(4,(spd_data[12]&7)); in ipmi_spd_print()
891 printf(" SDRAM Package Type : %s\n", val2str((spd_data[6]>>7), ddr4_package_type)); in ipmi_spd_print()
892 printf(" Technology : %s\n", val2str((spd_data[3]&15), ddr4_technology_type)); in ipmi_spd_print()
893 printf(" SDRAM Die Count : %d\n", ((spd_data[6]>>4) & 3)+1); in ipmi_spd_print()
895 printf(" Memory Bank Group : %s\n", val2str((spd_data[4]>>6 & 0x3), ddr4_bank_groups)); in ipmi_spd_print()
896 printf(" Memory Banks : %s\n", val2str((spd_data[4]>>4 & 0x3), ddr4_banks_vals)); in ipmi_spd_print()
902 printf(" Memory Density : %s\n", val2str(spd_data[4]&15, ddr4_density_vals)); in ipmi_spd_print()
903 printf(" 1.2 V Nominal Op : %s\n", (((spd_data[11]&3) != 3) ? "No":"Yes" ) ); in ipmi_spd_print()
904 printf(" TBD1 V Nominal Op : %s\n", (((spd_data[11]>>2&3) != 3) ? "No":"Yes" ) ); in ipmi_spd_print()
905 printf(" TBD2 V Nominal Op : %s\n", (((spd_data[11]>>4&3) != 3) ? "No":"Yes" ) ); in ipmi_spd_print()
906 printf(" Error Detect/Cor : %s\n", val2str(spd_data[13]>>3, ddr4_ecc_vals)); in ipmi_spd_print()
909 switch (spd_data[320]&127) in ipmi_spd_print()
912 printf("%s\n", val2str(spd_data[321], jedec_id1_vals)); in ipmi_spd_print()
916 printf("%s\n", val2str(spd_data[321], jedec_id2_vals)); in ipmi_spd_print()
920 printf("%s\n", val2str(spd_data[321], jedec_id3_vals)); in ipmi_spd_print()
924 printf("%s\n", val2str(spd_data[321], jedec_id4_vals)); in ipmi_spd_print()
928 printf("%s\n", val2str(spd_data[321], jedec_id5_vals)); in ipmi_spd_print()
936 year = ((spd_data[323] >> 4) * 10) + (spd_data[323] & 15); in ipmi_spd_print()
937 week = ((spd_data[324]>>4) * 10) + (spd_data[324] & 15); in ipmi_spd_print()
942 spd_data[325], spd_data[326], spd_data[327], spd_data[328]); in ipmi_spd_print()
947 printf( "%c", spd_data[i]); in ipmi_spd_print()
956 ii = (spd_data[3] & 0x0f) + (spd_data[4] & 0x0f) - 17; in ipmi_spd_print()
957 k = ((spd_data[5] & 0x7) + 1) * spd_data[17]; in ipmi_spd_print()
962 printf(" Memory Size INVALID: %d, %d, %d, %d\n", spd_data[3], in ipmi_spd_print()
963 spd_data[4], spd_data[5], spd_data[17]); in ipmi_spd_print()
966 val2str(spd_data[8], spd_voltage_vals)); in ipmi_spd_print()
968 val2str(spd_data[11], spd_config_vals)); in ipmi_spd_print()
972 if (spd_data[64] != 0x7f) in ipmi_spd_print()
974 val2str(spd_data[64], jedec_id1_vals)); in ipmi_spd_print()
976 if (spd_data[65] != 0x7f) in ipmi_spd_print()
978 val2str(spd_data[65], jedec_id2_vals)); in ipmi_spd_print()
980 if (spd_data[66] != 0x7f) in ipmi_spd_print()
982 val2str(spd_data[66], jedec_id3_vals)); in ipmi_spd_print()
984 if (spd_data[67] != 0x7f) in ipmi_spd_print()
986 val2str(spd_data[67], in ipmi_spd_print()
990 val2str(spd_data[68], in ipmi_spd_print()
996 if (spd_data[73]) { in ipmi_spd_print()
998 memcpy(part, spd_data+73, 18); in ipmi_spd_print()
1004 spd_data[95], spd_data[96], spd_data[97], spd_data[98]); in ipmi_spd_print()
1009 printbuf(spd_data, len, "SPD DATA"); in ipmi_spd_print()
1021 uint8_t *spd_data, msg_data[4]; in ipmi_spd_print_fru() local
1055 spd_data = malloc(fru.size); in ipmi_spd_print_fru()
1057 if (spd_data == NULL) { in ipmi_spd_print_fru()
1070 memset(spd_data, 0, fru.size); in ipmi_spd_print_fru()
1080 free(spd_data); in ipmi_spd_print_fru()
1081 spd_data = NULL; in ipmi_spd_print_fru()
1088 free(spd_data); in ipmi_spd_print_fru()
1089 spd_data = NULL; in ipmi_spd_print_fru()
1098 memcpy(&spd_data[offset], rsp->data + 1, len); in ipmi_spd_print_fru()
1103 ipmi_spd_print(spd_data, offset); in ipmi_spd_print_fru()
1104 free(spd_data); in ipmi_spd_print_fru()
1105 spd_data = NULL; in ipmi_spd_print_fru()