aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/net_driver.h
diff options
context:
space:
mode:
authorDaniel Pieczko <dpieczko@solarflare.com>2013-11-21 12:11:25 -0500
committerBen Hutchings <bhutchings@solarflare.com>2013-12-12 17:07:11 -0500
commit9ec0659595c8020f1efa55aa00870e8773f8ee89 (patch)
treed4b4fc24a45ac681182b426b68445fbb94702ed2 /drivers/net/ethernet/sfc/net_driver.h
parenta6f73460b592404cca4ceafa69a835a61cdc20d8 (diff)
sfc: split setup of hardware timestamping into NIC-type operation
I added efx_ptp_get_mode() to avoid moving the definition for efx_ptp_data, since the current PTP mode is needed for siena.c:siena_set_ptp_hwtstamp. [bwh: Also move the rx_filters mask, and add kernel-doc] Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/net_driver.h')
-rw-r--r--drivers/net/ethernet/sfc/net_driver.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index f47bac78b92c..01ffbe849683 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -91,6 +91,7 @@
91 91
92/* Forward declare Precision Time Protocol (PTP) support structure. */ 92/* Forward declare Precision Time Protocol (PTP) support structure. */
93struct efx_ptp_data; 93struct efx_ptp_data;
94struct hwtstamp_config;
94 95
95struct efx_self_tests; 96struct efx_self_tests;
96 97
@@ -1042,6 +1043,10 @@ struct efx_mtd_partition {
1042 * @mtd_sync: Wait for write-back to complete on MTD partition. This 1043 * @mtd_sync: Wait for write-back to complete on MTD partition. This
1043 * also notifies the driver that a writer has finished using this 1044 * also notifies the driver that a writer has finished using this
1044 * partition. 1045 * partition.
1046 * @ptp_write_host_time: Send host time to MC as part of sync protocol
1047 * @ptp_set_ts_config: Set hardware timestamp configuration. The flags
1048 * and tx_type will already have been validated but this operation
1049 * must validate and update rx_filter.
1045 * @revision: Hardware architecture revision 1050 * @revision: Hardware architecture revision
1046 * @txd_ptr_tbl_base: TX descriptor ring base address 1051 * @txd_ptr_tbl_base: TX descriptor ring base address
1047 * @rxd_ptr_tbl_base: RX descriptor ring base address 1052 * @rxd_ptr_tbl_base: RX descriptor ring base address
@@ -1060,6 +1065,7 @@ struct efx_mtd_partition {
1060 * @offload_features: net_device feature flags for protocol offload 1065 * @offload_features: net_device feature flags for protocol offload
1061 * features implemented in hardware 1066 * features implemented in hardware
1062 * @mcdi_max_ver: Maximum MCDI version supported 1067 * @mcdi_max_ver: Maximum MCDI version supported
1068 * @hwtstamp_filters: Mask of hardware timestamp filter types supported
1063 */ 1069 */
1064struct efx_nic_type { 1070struct efx_nic_type {
1065 unsigned int (*mem_map_size)(struct efx_nic *efx); 1071 unsigned int (*mem_map_size)(struct efx_nic *efx);
@@ -1161,6 +1167,8 @@ struct efx_nic_type {
1161 int (*mtd_sync)(struct mtd_info *mtd); 1167 int (*mtd_sync)(struct mtd_info *mtd);
1162#endif 1168#endif
1163 void (*ptp_write_host_time)(struct efx_nic *efx, u32 host_time); 1169 void (*ptp_write_host_time)(struct efx_nic *efx, u32 host_time);
1170 int (*ptp_set_ts_config)(struct efx_nic *efx,
1171 struct hwtstamp_config *init);
1164 1172
1165 int revision; 1173 int revision;
1166 unsigned int txd_ptr_tbl_base; 1174 unsigned int txd_ptr_tbl_base;
@@ -1179,6 +1187,7 @@ struct efx_nic_type {
1179 netdev_features_t offload_features; 1187 netdev_features_t offload_features;
1180 int mcdi_max_ver; 1188 int mcdi_max_ver;
1181 unsigned int max_rx_ip_filters; 1189 unsigned int max_rx_ip_filters;
1190 u32 hwtstamp_filters;
1182}; 1191};
1183 1192
1184/************************************************************************** 1193/**************************************************************************