summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_abi.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-05-29 09:49:17 -0400
committerDavid S. Miller <davem@davemloft.net>2018-05-29 09:49:17 -0400
commit566e51d750f64049dc7767695b4cb988cd263056 (patch)
tree3e99ed265c76717fe8009345013fbe5b01335054 /drivers/net/ethernet/netronome/nfp/nfp_abi.h
parent874fcf1de613ad7b3cecf8a9cfe806fe7c2e3c68 (diff)
parent2440711e49b6144ef74a51e29e4e876ac5f0d066 (diff)
downloadtalos-obmc-linux-566e51d750f64049dc7767695b4cb988cd263056.tar.gz
talos-obmc-linux-566e51d750f64049dc7767695b4cb988cd263056.zip
Merge branch 'nfp-abm-RED-MQ-qdisc-offload'
Jakub Kicinski says: ==================== nfp: abm: RED/MQ qdisc offload This is second batch of advanced buffer management nfp driver changes. This series adds the qdisc offload. Support for a very simple subset of RED qdisc offload is added as needed for DCTCP ECN marking (min and max thresholds set to the same value). The first two patches fix glitches introduced by the previous series. We have to be careful about phys_port_name handling, because VFs share the same code path, and some user space may get confused by the names we chose. Since unlike previous offloads we can report the queue backlog both in bytes and packets we need to adjust how statistics are added up in the core (patch 6). There are some extra statistics we want to expose which don't fit into TC stats, namely counts of packets which have been fast- -forwarded without getting enqueued because there was no contention and number of packets that were ever queued (sum of all momentary backlogs). We expose those through ethtool stats (patches 8 and 9). Remaining 5 patches add MQ offload - to be able to set different configurations on different queues. Representors are made multi- -queue and we add offload support to MQ. MQ stats are added up before calling ->dump qdiscs on the children, and therefore don't include updated offload values. To avoid clearly incorrect stats MQ is made to also request stats update from offloads. This way we can correct the diff at the driver level. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_abi.h')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_abi.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_abi.h b/drivers/net/ethernet/netronome/nfp/nfp_abi.h
index 7ffa6e6a9d1c..8b56c27931bf 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_abi.h
+++ b/drivers/net/ethernet/netronome/nfp/nfp_abi.h
@@ -59,12 +59,26 @@
* @NFP_MBOX_POOL_SET: set shared buffer pool info/config
* Input - struct nfp_shared_buf_pool_info_set
* Output - None
+ *
+ * @NFP_MBOX_PCIE_ABM_ENABLE: enable PCIe-side advanced buffer management
+ * Enable advanced buffer management of the PCIe block. If ABM is disabled
+ * PCIe block maintains a very short queue of buffers and does tail drop.
+ * ABM allows more advanced buffering and priority control.
+ * Input - None
+ * Output - None
+ *
+ * @NFP_MBOX_PCIE_ABM_DISABLE: disable PCIe-side advanced buffer management
+ * Input - None
+ * Output - None
*/
enum nfp_mbox_cmd {
NFP_MBOX_NO_CMD = 0x00,
NFP_MBOX_POOL_GET = 0x01,
NFP_MBOX_POOL_SET = 0x02,
+
+ NFP_MBOX_PCIE_ABM_ENABLE = 0x03,
+ NFP_MBOX_PCIE_ABM_DISABLE = 0x04,
};
#define NFP_SHARED_BUF_COUNT_SYM_NAME "_abi_nfd_pf%u_sb_cnt"
OpenPOWER on IntegriCloud