summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale/dpa/mac.h
diff options
context:
space:
mode:
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 */