diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-11-28 09:24:56 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-12-01 00:30:44 +0300 |
commit | 51a6588e8c08a108ca7daa899a28b3219fc47e46 (patch) | |
tree | a6582cbf8334663e6783c40358240cdf36d0fdde /drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c | |
parent | 71844fac1ed459024dd2a448d63d5b28b8c87daa (diff) | |
download | linux-51a6588e8c08a108ca7daa899a28b3219fc47e46.tar.xz |
nfp: add offloads on representors
FW/HW can generally support the standard networking offloads
on representors without any trouble. Add the ability for FW
to advertise which features should be available on representors.
Because representors are muxed on top of the vNIC we need to listen
on feature changes of their lower devices, and update their features
appropriately.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c index f2aaef976c7d..d26ea32df8d9 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.c @@ -90,6 +90,15 @@ int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem, FIELD_GET(NFP_NET_CFG_TLV_HEADER_TYPE, hdr), offset, length); break; + case NFP_NET_CFG_TLV_TYPE_REPR_CAP: + if (length < 4) { + dev_err(dev, "REPR CAP TLV short %dB < 4B\n", + length); + return -EINVAL; + } + + caps->repr_cap = readl(data); + break; default: if (!FIELD_GET(NFP_NET_CFG_TLV_HEADER_REQUIRED, hdr)) break; |