diff options
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/common.h')
| -rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/common.h | 37 | 
1 files changed, 15 insertions, 22 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h index 7eb8babed2c..74610f3aca9 100644 --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h @@ -29,7 +29,6 @@  #include <linux/netdevice.h>  #include <linux/phy.h>  #include <linux/module.h> -#include <linux/init.h>  #if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE)  #define STMMAC_VLAN_TAG_USED  #include <linux/if_vlan.h> @@ -293,6 +292,8 @@ struct dma_features {  #define STMMAC_CHAIN_MODE	0x1  #define STMMAC_RING_MODE	0x2 +#define JUMBO_LEN		9000 +  struct stmmac_desc_ops {  	/* DMA RX descriptor ring initialization */  	void (*init_rx_desc) (struct dma_desc *p, int disable_rx_ic, int mode, @@ -369,7 +370,7 @@ struct stmmac_dma_ops {  struct stmmac_ops {  	/* MAC core initialization */ -	void (*core_init) (void __iomem *ioaddr); +	void (*core_init) (void __iomem *ioaddr, int mtu);  	/* Enable and verify that the IPC module is supported */  	int (*rx_ipc) (void __iomem *ioaddr);  	/* Dump MAC registers */ @@ -418,20 +419,13 @@ struct mii_regs {  	unsigned int data;	/* MII Data */  }; -struct stmmac_ring_mode_ops { -	unsigned int (*is_jumbo_frm) (int len, int ehn_desc); -	unsigned int (*jumbo_frm) (void *priv, struct sk_buff *skb, int csum); -	void (*refill_desc3) (void *priv, struct dma_desc *p); -	void (*init_desc3) (struct dma_desc *p); -	void (*clean_desc3) (void *priv, struct dma_desc *p); -	int (*set_16kib_bfsize) (int mtu); -}; - -struct stmmac_chain_mode_ops { +struct stmmac_mode_ops {  	void (*init) (void *des, dma_addr_t phy_addr, unsigned int size,  		      unsigned int extend_desc);  	unsigned int (*is_jumbo_frm) (int len, int ehn_desc);  	unsigned int (*jumbo_frm) (void *priv, struct sk_buff *skb, int csum); +	int (*set_16kib_bfsize)(int mtu); +	void (*init_desc3)(struct dma_desc *p);  	void (*refill_desc3) (void *priv, struct dma_desc *p);  	void (*clean_desc3) (void *priv, struct dma_desc *p);  }; @@ -440,8 +434,7 @@ struct mac_device_info {  	const struct stmmac_ops *mac;  	const struct stmmac_desc_ops *desc;  	const struct stmmac_dma_ops *dma; -	const struct stmmac_ring_mode_ops *ring; -	const struct stmmac_chain_mode_ops *chain; +	const struct stmmac_mode_ops *mode;  	const struct stmmac_hwtimestamp *ptp;  	struct mii_regs mii;	/* MII register Addresses */  	struct mac_link link; @@ -451,15 +444,15 @@ struct mac_device_info {  struct mac_device_info *dwmac1000_setup(void __iomem *ioaddr);  struct mac_device_info *dwmac100_setup(void __iomem *ioaddr); -extern void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6], -				unsigned int high, unsigned int low); -extern void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr, -				unsigned int high, unsigned int low); +void stmmac_set_mac_addr(void __iomem *ioaddr, u8 addr[6], +			 unsigned int high, unsigned int low); +void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr, +			 unsigned int high, unsigned int low); -extern void stmmac_set_mac(void __iomem *ioaddr, bool enable); +void stmmac_set_mac(void __iomem *ioaddr, bool enable); -extern void dwmac_dma_flush_tx_fifo(void __iomem *ioaddr); -extern const struct stmmac_ring_mode_ops ring_mode_ops; -extern const struct stmmac_chain_mode_ops chain_mode_ops; +void dwmac_dma_flush_tx_fifo(void __iomem *ioaddr); +extern const struct stmmac_mode_ops ring_mode_ops; +extern const struct stmmac_mode_ops chain_mode_ops;  #endif /* __COMMON_H__ */  | 
