Skip to content

Commit 484963c

Browse files
Yinjun Zhangdavem330
authored andcommitted
nfp: extend capability and control words
Currently the 32-bit capability word is almost exhausted, now allocate some more words to support new features, and control word is also extended accordingly. Packet-type offloading is implemented in NIC application firmware, but it's not used in kernel driver, so reserve this bit here in case it's redefined for other use. Signed-off-by: Yinjun Zhang <yinjun.zhang@corigine.com> Reviewed-by: Louis Peens <louis.peens@corigine.com> Signed-off-by: Simon Horman <simon.horman@corigine.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 8719a1c commit 484963c

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

drivers/net/ethernet/netronome/nfp/nfp_net.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,7 @@ struct nfp_net_dp {
541541
* @id: vNIC id within the PF (0 for VFs)
542542
* @fw_ver: Firmware version
543543
* @cap: Capabilities advertised by the Firmware
544+
* @cap_w1: Extended capabilities word advertised by the Firmware
544545
* @max_mtu: Maximum support MTU advertised by the Firmware
545546
* @rss_hfunc: RSS selected hash function
546547
* @rss_cfg: RSS configuration
@@ -617,6 +618,7 @@ struct nfp_net {
617618
u32 id;
618619

619620
u32 cap;
621+
u32 cap_w1;
620622
u32 max_mtu;
621623

622624
u8 rss_hfunc;

drivers/net/ethernet/netronome/nfp/nfp_net_common.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,6 +2452,7 @@ static int nfp_net_read_caps(struct nfp_net *nn)
24522452
{
24532453
/* Get some of the read-only fields from the BAR */
24542454
nn->cap = nn_readl(nn, NFP_NET_CFG_CAP);
2455+
nn->cap_w1 = nn_readq(nn, NFP_NET_CFG_CAP_WORD1);
24552456
nn->max_mtu = nn_readl(nn, NFP_NET_CFG_MAX_MTU);
24562457

24572458
/* ABI 4.x and ctrl vNIC always use chained metadata, in other cases

drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,10 +257,18 @@
257257
#define NFP_NET_CFG_BPF_CFG_MASK 7ULL
258258
#define NFP_NET_CFG_BPF_ADDR_MASK (~NFP_NET_CFG_BPF_CFG_MASK)
259259

260-
/* 40B reserved for future use (0x0098 - 0x00c0)
260+
/* 3 words reserved for extended ctrl words (0x0098 - 0x00a4)
261+
* 3 words reserved for extended cap words (0x00a4 - 0x00b0)
262+
* Currently only one word is used, can be extended in future.
261263
*/
262-
#define NFP_NET_CFG_RESERVED 0x0098
263-
#define NFP_NET_CFG_RESERVED_SZ 0x0028
264+
#define NFP_NET_CFG_CTRL_WORD1 0x0098
265+
#define NFP_NET_CFG_CTRL_PKT_TYPE (0x1 << 0) /* Pkttype offload */
266+
267+
#define NFP_NET_CFG_CAP_WORD1 0x00a4
268+
269+
/* 16B reserved for future use (0x00b0 - 0x00c0) */
270+
#define NFP_NET_CFG_RESERVED 0x00b0
271+
#define NFP_NET_CFG_RESERVED_SZ 0x0010
264272

265273
/* RSS configuration (0x0100 - 0x01ac):
266274
* Used only when NFP_NET_CFG_CTRL_RSS is enabled

0 commit comments

Comments
 (0)