Re: [PATCH v2 net-next 03/11] sfc_ef100: read Design Parameters at probe time
From: Jakub Kicinski <kuba@kernel.org>
Date: 2020-07-31 20:19:00
On Fri, 31 Jul 2020 13:58:35 +0100 Edward Cree wrote:
+ default: + /* Host interface says "Drivers should ignore design parameters + * that they do not recognise." + */ + netif_info(efx, probe, efx->net_dev, + "Ignoring unrecognised design parameter %u\n", + reader->type);
Is this really important enough to spam the logs with?
+ return 0;
+ }
+}
+
+static int ef100_check_design_params(struct efx_nic *efx)
+{
+ struct ef100_tlv_state reader = {};
+ u32 total_len, offset = 0;
+ efx_dword_t reg;
+ int rc = 0, i;
+ u32 data;
+
+ efx_readd(efx, ®, ER_GZ_PARAMS_TLV_LEN);
+ total_len = EFX_DWORD_FIELD(reg, EFX_DWORD_0);
+ netif_dbg(efx, probe, efx->net_dev, "%u bytes of design parameters\n",
+ total_len);
+ while (offset < total_len) {
+ efx_readd(efx, ®, ER_GZ_PARAMS_TLV + offset);
+ data = EFX_DWORD_FIELD(reg, EFX_DWORD_0);
+ for (i = 0; i < sizeof(data); i++) {
+ rc = ef100_tlv_feed(&reader, data);
+ /* Got a complete value? */
+ if (!rc && reader.state == EF100_TLV_TYPE)
+ rc = ef100_process_design_param(efx, &reader);
+ if (rc)
+ goto out;
+ data >>= 8;
+ offset++;
+ }
+ }Should you warn if the TLV stream ends half-way through an entry?
+out: + return rc; +}