diff options
author | Cristian Bercaru <cristian.bercaru@freescale.com> | 2013-04-18 16:08:33 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-04-19 22:34:00 (GMT) |
commit | 3308f15e4a74e33e8ccf7237b7842fdaf1b320ad (patch) | |
tree | da3e742bec1bcc7700f44676f116b94a533a4325 /drivers/net/ethernet/freescale/dpa/mac.h | |
parent | 6c53cea1d6b8be0d68e10ac1fb7bd1383da24c40 (diff) | |
download | linux-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.h | 12 |
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 */ |