From ae93b3ba82423e189cc5bb0588ac10dad3238af4 Mon Sep 17 00:00:00 2001 From: Ondrej Čerman Date: Sun, 12 May 2019 00:59:37 +0200 Subject: Added hinote when hardinfo is not able to read full DDR4 SPD data. --- modules/devices/spd-decode.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'modules/devices/spd-decode.c') diff --git a/modules/devices/spd-decode.c b/modules/devices/spd-decode.c index 02768bbd..aeabf826 100644 --- a/modules/devices/spd-decode.c +++ b/modules/devices/spd-decode.c @@ -613,6 +613,8 @@ static const char **vendors[VENDORS_BANKS] = { vendors1, vendors2, vendors3, ven vendors7 }; +gboolean ddr4_partial_data = FALSE; + /* * We consider that no data was written to this area of the SPD EEPROM if * all bytes read 0x00 or all bytes read 0xff @@ -1654,6 +1656,7 @@ static gchar *decode_dimms(GSList * dimm_list, gboolean use_sysfs, int max_size) detailed_info = decode_ddr4_sdram(bytes, &module_size); decode_ddr4_part_number(bytes, spd_size, part_number); decode_ddr4_module_manufacturer(bytes, spd_size, &manufacturer); + ddr4_partial_data = ddr4_partial_data || (spd_size < 512); break; case DDR_SDRAM: detailed_info = decode_ddr_sdram(bytes, &module_size); @@ -1746,3 +1749,12 @@ void scan_spd_do(void) _("Bank"), _("Size"), _("Manufacturer"), _("Model") ); g_free(list); } + +gboolean spd_decode_show_hinote(const char **msg){ + if (ddr4_partial_data){ + *msg = g_strdup(_("A current driver has provided only partial DDR4 SPD data. Please load and\nconfigure ee1004 driver to obtain additional information about DDR4 SPD.")); + return TRUE; + } + + return FALSE; +} -- cgit v1.2.3