projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
target/linux: refresh previous patch
[openwrt.git]
/
target
/
linux
/
ar71xx
/
files
/
drivers
/
net
/
ag71xx
/
ag71xx.h
diff --git
a/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
b/target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
index
712e9f1
..
be14e7e
100644
(file)
--- a/
target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
+++ b/
target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx.h
@@
-38,7
+38,7
@@
#define ETH_FCS_LEN 4
#define AG71XX_DRV_NAME "ag71xx"
#define ETH_FCS_LEN 4
#define AG71XX_DRV_NAME "ag71xx"
-#define AG71XX_DRV_VERSION "0.5.
26
"
+#define AG71XX_DRV_VERSION "0.5.
35
"
#define AG71XX_NAPI_WEIGHT 64
#define AG71XX_OOM_REFILL (1 + HZ/10)
#define AG71XX_NAPI_WEIGHT 64
#define AG71XX_OOM_REFILL (1 + HZ/10)
@@
-51,7
+51,7
@@
#define AG71XX_INT_INIT (AG71XX_INT_ERR | AG71XX_INT_POLL)
#define AG71XX_TX_FIFO_LEN 2048
#define AG71XX_INT_INIT (AG71XX_INT_ERR | AG71XX_INT_POLL)
#define AG71XX_TX_FIFO_LEN 2048
-#define AG71XX_TX_MTU_LEN 15
36
+#define AG71XX_TX_MTU_LEN 15
40
#define AG71XX_RX_PKT_RESERVE 64
#define AG71XX_RX_PKT_SIZE \
(AG71XX_RX_PKT_RESERVE + ETH_HLEN + ETH_FRAME_LEN + ETH_FCS_LEN)
#define AG71XX_RX_PKT_RESERVE 64
#define AG71XX_RX_PKT_SIZE \
(AG71XX_RX_PKT_RESERVE + ETH_HLEN + ETH_FRAME_LEN + ETH_FCS_LEN)
@@
-88,8
+88,10
@@
struct ag71xx_desc {
} __attribute__((aligned(4)));
struct ag71xx_buf {
} __attribute__((aligned(4)));
struct ag71xx_buf {
- struct sk_buff *skb;
- struct ag71xx_desc *desc;
+ struct sk_buff *skb;
+ struct ag71xx_desc *desc;
+ dma_addr_t dma_addr;
+ u32 pad;
};
struct ag71xx_ring {
};
struct ag71xx_ring {
@@
-156,6
+158,7
@@
struct ag71xx {
struct mii_bus *mii_bus;
struct phy_device *phy_dev;
struct mii_bus *mii_bus;
struct phy_device *phy_dev;
+ void *phy_priv;
unsigned int link;
unsigned int speed;
unsigned int link;
unsigned int speed;
@@
-170,6
+173,7
@@
struct ag71xx {
};
extern struct ethtool_ops ag71xx_ethtool_ops;
};
extern struct ethtool_ops ag71xx_ethtool_ops;
+void ag71xx_link_adjust(struct ag71xx *ag);
int ag71xx_mdio_driver_init(void) __init;
void ag71xx_mdio_driver_exit(void);
int ag71xx_mdio_driver_init(void) __init;
void ag71xx_mdio_driver_exit(void);
@@
-343,76
+347,56
@@
static inline int ag71xx_desc_pktlen(struct ag71xx_desc *desc)
#define MII_CTRL_SPEED_100 1
#define MII_CTRL_SPEED_1000 2
#define MII_CTRL_SPEED_100 1
#define MII_CTRL_SPEED_1000 2
-static inline void ag71xx_
wr(struct ag71xx *ag, unsigned reg, u32 value
)
+static inline void ag71xx_
check_reg_offset(struct ag71xx *ag, unsigned reg
)
{
{
- void __iomem *r;
-
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
switch (reg) {
case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base + reg;
- __raw_writel(value, r);
-
- /* flush write */
- (void) __raw_readl(r);
break;
break;
+
default:
BUG();
}
}
default:
BUG();
}
}
-static inline
u32 ag71xx_rr(struct ag71xx *ag, unsigned reg
)
+static inline
void ag71xx_wr(struct ag71xx *ag, unsigned reg, u32 value
)
{
{
- void __iomem *r;
- u32 ret;
+ ag71xx_check_reg_offset(ag, reg);
- switch (reg) {
- case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base + reg;
- ret = __raw_readl(r);
- break;
- default:
- BUG();
- }
+ __raw_writel(value, ag->mac_base + reg);
+ /* flush write */
+ (void) __raw_readl(ag->mac_base + reg);
+}
- return ret;
+static inline u32 ag71xx_rr(struct ag71xx *ag, unsigned reg)
+{
+ ag71xx_check_reg_offset(ag, reg);
+
+ return __raw_readl(ag->mac_base + reg);
}
static inline void ag71xx_sb(struct ag71xx *ag, unsigned reg, u32 mask)
{
void __iomem *r;
}
static inline void ag71xx_sb(struct ag71xx *ag, unsigned reg, u32 mask)
{
void __iomem *r;
- switch (reg) {
- case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base + reg;
- __raw_writel(__raw_readl(r) | mask, r);
+ ag71xx_check_reg_offset(ag, reg);
- /* flush write */
- (void)__raw_readl(r);
- break;
- default:
- BUG();
- }
+ r = ag->mac_base + reg;
+ __raw_writel(__raw_readl(r) | mask, r);
+ /* flush write */
+ (void)__raw_readl(r);
}
static inline void ag71xx_cb(struct ag71xx *ag, unsigned reg, u32 mask)
{
void __iomem *r;
}
static inline void ag71xx_cb(struct ag71xx *ag, unsigned reg, u32 mask)
{
void __iomem *r;
- switch (reg) {
- case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
- case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
- r = ag->mac_base + reg;
- __raw_writel(__raw_readl(r) & ~mask, r);
+ ag71xx_check_reg_offset(ag, reg);
- /* flush write */
- (void) __raw_readl(r);
- break;
- default:
- BUG();
- }
+ r = ag->mac_base + reg;
+ __raw_writel(__raw_readl(r) & ~mask, r);
+ /* flush write */
+ (void) __raw_readl(r);
}
static inline void ag71xx_int_enable(struct ag71xx *ag, u32 ints)
}
static inline void ag71xx_int_enable(struct ag71xx *ag, u32 ints)
@@
-472,7
+456,12
@@
static void inline ag71xx_mii_ctrl_set_speed(struct ag71xx *ag,
#ifdef CONFIG_AG71XX_AR8216_SUPPORT
void ag71xx_add_ar8216_header(struct ag71xx *ag, struct sk_buff *skb);
#ifdef CONFIG_AG71XX_AR8216_SUPPORT
void ag71xx_add_ar8216_header(struct ag71xx *ag, struct sk_buff *skb);
-int ag71xx_remove_ar8216_header(struct ag71xx *ag, struct sk_buff *skb);
+int ag71xx_remove_ar8216_header(struct ag71xx *ag, struct sk_buff *skb,
+ int pktlen);
+static inline int ag71xx_has_ar8216(struct ag71xx *ag)
+{
+ return ag71xx_get_pdata(ag)->has_ar8216;
+}
#else
static inline void ag71xx_add_ar8216_header(struct ag71xx *ag,
struct sk_buff *skb)
#else
static inline void ag71xx_add_ar8216_header(struct ag71xx *ag,
struct sk_buff *skb)
@@
-480,7
+469,12
@@
static inline void ag71xx_add_ar8216_header(struct ag71xx *ag,
}
static inline int ag71xx_remove_ar8216_header(struct ag71xx *ag,
}
static inline int ag71xx_remove_ar8216_header(struct ag71xx *ag,
- struct sk_buff *skb)
+ struct sk_buff *skb,
+ int pktlen)
+{
+ return 0;
+}
+static inline int ag71xx_has_ar8216(struct ag71xx *ag)
{
return 0;
}
{
return 0;
}
@@
-504,4
+498,9
@@
static inline void ag71xx_debugfs_update_napi_stats(struct ag71xx *ag,
int rx, int tx) {}
#endif /* CONFIG_AG71XX_DEBUG_FS */
int rx, int tx) {}
#endif /* CONFIG_AG71XX_DEBUG_FS */
+void ag71xx_ar7240_start(struct ag71xx *ag);
+void ag71xx_ar7240_stop(struct ag71xx *ag);
+int ag71xx_ar7240_init(struct ag71xx *ag);
+void ag71xx_ar7240_cleanup(struct ag71xx *ag);
+
#endif /* _AG71XX_H */
#endif /* _AG71XX_H */
This page took
0.027525 seconds
and
4
git commands to generate.