summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
diff options
context:
space:
mode:
authorJakub Kicinski2018-01-18 03:51:02 +0100
committerDavid S. Miller2018-01-19 21:44:18 +0100
commitce991ab6662a1d11923ba17d482a77686f2a4b74 (patch)
tree0fd361451e1c1aeee0d074cc223d9eea430db794 /drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
parentnfp: add TLV capabilities to the BAR (diff)
downloadkernel-qcow2-linux-ce991ab6662a1d11923ba17d482a77686f2a4b74.tar.gz
kernel-qcow2-linux-ce991ab6662a1d11923ba17d482a77686f2a4b74.tar.xz
kernel-qcow2-linux-ce991ab6662a1d11923ba17d482a77686f2a4b74.zip
nfp: read ME frequency from vNIC ctrl memory
PCIe island clock frequency is used when converting coalescing parameters from usecs to NFP timestamps. Most chips don't run at 1200MHz, allow FW to provide us with the real frequency. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
index cb058050e079..4c288cdd0e18 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h
@@ -474,17 +474,24 @@
* %NFP_NET_CFG_TLV_TYPE_END:
* Empty, end of TLV list. Must be the last TLV. Drivers will stop processing
* further TLVs when encountered.
+ *
+ * %NFP_NET_CFG_TLV_TYPE_ME_FREQ:
+ * Single word, ME frequency in MHz as used in calculation for
+ * %NFP_NET_CFG_RXR_IRQ_MOD and %NFP_NET_CFG_TXR_IRQ_MOD.
*/
#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
struct device;
/**
* struct nfp_net_tlv_caps - parsed control BAR TLV capabilities
+ * @me_freq_mhz: ME clock_freq (MHz)
*/
struct nfp_net_tlv_caps {
+ u32 me_freq_mhz;
};
int nfp_net_tlv_caps_parse(struct device *dev, u8 __iomem *ctrl_mem,