summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa/mac.h
diff options
context:
space:
mode:
authorCristian Bercaru <cristian.bercaru@freescale.com>2013-04-18 16:08:33 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-04-19 22:34:00 (GMT)
commit3308f15e4a74e33e8ccf7237b7842fdaf1b320ad (patch)
treeda3e742bec1bcc7700f44676f116b94a533a4325 /drivers/net/ethernet/freescale/dpa/mac.h
parent6c53cea1d6b8be0d68e10ac1fb7bd1383da24c40 (diff)
downloadlinux-fsl-qoriq-3308f15e4a74e33e8ccf7237b7842fdaf1b320ad.tar.xz
dpaa_eth: add ethtool PAUSE frame support
Change-Id: I52222f0bf60bb073bb3b77bf935a31e84b4939c0 Reviewed-on: http://git.am.freescale.net:8181/1545 Reviewed-by: Bucur Madalin-Cristian-B32716 <madalin.bucur@freescale.com> Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/dpa/mac.h')
-rw-r--r--drivers/net/ethernet/freescale/dpa/mac.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/mac.h b/drivers/net/ethernet/freescale/dpa/mac.h
index 5cdb57c..9cf1740 100644
--- a/drivers/net/ethernet/freescale/dpa/mac.h
+++ b/drivers/net/ethernet/freescale/dpa/mac.h
@@ -67,6 +67,10 @@ struct mac_device {
/* List of multicast addresses */
struct list_head mc_addr_list;
+ u32 autoneg_pause;
+ u32 rx_pause;
+ u32 tx_pause;
+
int (*init_phy)(struct net_device *net_dev);
int (*init)(struct mac_device *mac_dev);
int (*start)(struct mac_device *mac_dev);
@@ -78,6 +82,8 @@ struct mac_device {
int (*ptp_enable)(struct mac_device *mac_dev);
int (*ptp_disable)(struct mac_device *mac_dev);
void *(*get_mac_handle)(struct mac_device *mac_dev);
+ int (*set_rx_pause)(struct mac_device *mac_dev, bool en);
+ int (*set_tx_pause)(struct mac_device *mac_dev, bool en);
int (*fm_rtc_enable)(struct net_device *net_dev);
int (*fm_rtc_disable)(struct net_device *net_dev);
int (*fm_rtc_get_cnt)(struct net_device *net_dev, uint64_t *ts);
@@ -107,4 +113,10 @@ extern const char *mac_driver_description;
extern const size_t mac_sizeof_priv[];
extern void (*const mac_setup[])(struct mac_device *mac_dev);
+#define TX_PAUSE_PRIO_ENABLE 0
+#define TX_PAUSE_PRIO_DISABLE 0xff
+#define TX_PAUSE_TIME_ENABLE 0xf000
+#define TX_PAUSE_TIME_DISABLE 0
+#define TX_PAUSE_THRESH_DEFAULT 0
+
#endif /* __MAC_H */