summaryrefslogtreecommitdiff
path: root/modules/devices
diff options
context:
space:
mode:
authorOndrej Čerman <ondrej.cerman@gmail.com>2019-05-12 00:59:37 +0200
committerLeandro A. F. Pereira <leandro@hardinfo.org>2019-05-13 15:35:41 -0700
commitae93b3ba82423e189cc5bb0588ac10dad3238af4 (patch)
tree19e1e6cb8a373a2e24ebfd4fc663eb8cc6c7a567 /modules/devices
parent89e6dbc7b9b11d15bc10c9c80e5b0142783a9820 (diff)
Added hinote when hardinfo is not able to read full DDR4 SPD data.
Diffstat (limited to 'modules/devices')
-rw-r--r--modules/devices/spd-decode.c12
1 files changed, 12 insertions, 0 deletions
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;
+}