Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97ea8ac3 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller
Browse files

nfp: warn on experimental TLV types



Reserve two TLV types for feature development, and warn in the driver
if they ever leak into production.

Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: default avatarSimon Horman <simon.horman@netronome.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ea43a590
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -113,6 +113,13 @@ int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,
				caps->mbox_len = length;
			}
			break;
		case NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL0:
		case NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL1:
			dev_warn(dev,
				 "experimental TLV type:%u offset:%u len:%u\n",
				 FIELD_GET(NFP_NET_CFG_TLV_HEADER_TYPE, hdr),
				 offset, length);
			break;
		default:
			if (!FIELD_GET(NFP_NET_CFG_TLV_HEADER_REQUIRED, hdr))
				break;
+8 −0
Original line number Diff line number Diff line
@@ -489,12 +489,20 @@
 * %NFP_NET_CFG_TLV_TYPE_MBOX:
 * Variable, mailbox area.  Overwrites the default location which is
 * %NFP_NET_CFG_MBOX_BASE and length %NFP_NET_CFG_MBOX_VAL_MAX_SZ.
 *
 * %NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL0:
 * %NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL1:
 * Variable, experimental IDs.  IDs designated for internal development and
 * experiments before a stable TLV ID has been allocated to a feature.  Should
 * never be present in production firmware.
 */
#define NFP_NET_CFG_TLV_TYPE_UNKNOWN		0
#define NFP_NET_CFG_TLV_TYPE_RESERVED		1
#define NFP_NET_CFG_TLV_TYPE_END		2
#define NFP_NET_CFG_TLV_TYPE_ME_FREQ		3
#define NFP_NET_CFG_TLV_TYPE_MBOX		4
#define NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL0	5
#define NFP_NET_CFG_TLV_TYPE_EXPERIMENTAL1	6

struct device;