ar71xx: include linux/module.h in the micrel phy driver
[openwrt.git] / target / linux / ar71xx / files / drivers / net / ag71xx / ag71xx.h
index 9e0ce9b..97e5fb2 100644 (file)
 #define AG71XX_RX_PKT_SIZE     \
        (AG71XX_RX_PKT_RESERVE + ETH_FRAME_LEN + ETH_FCS_LEN + VLAN_HLEN)
 
-#define AG71XX_TX_RING_SIZE    64
-#define AG71XX_TX_THRES_STOP   (AG71XX_TX_RING_SIZE - 4)
-#define AG71XX_TX_THRES_WAKEUP \
-               (AG71XX_TX_RING_SIZE - (AG71XX_TX_RING_SIZE / 4))
+#define AG71XX_TX_RING_SIZE_DEFAULT    64
+#define AG71XX_RX_RING_SIZE_DEFAULT    128
 
-#define AG71XX_RX_RING_SIZE    128
+#define AG71XX_TX_RING_SIZE_MAX                256
+#define AG71XX_RX_RING_SIZE_MAX                256
 
 #ifdef CONFIG_AG71XX_DEBUG
 #define DBG(fmt, args...)      printk(KERN_DEBUG fmt, ## args)
@@ -141,7 +140,6 @@ struct ag71xx_debug {
 
 struct ag71xx {
        void __iomem            *mac_base;
-       void __iomem            *mii_ctrl;
 
        spinlock_t              lock;
        struct platform_device  *pdev;
@@ -149,6 +147,9 @@ struct ag71xx {
        struct napi_struct      napi;
        u32                     msg_enable;
 
+       struct ag71xx_desc      *stop_desc;
+       dma_addr_t              stop_desc_dma;
+
        struct ag71xx_ring      rx_ring;
        struct ag71xx_ring      tx_ring;
 
@@ -234,6 +235,10 @@ static inline int ag71xx_desc_pktlen(struct ag71xx_desc *desc)
 #define AG71XX_REG_INT_ENABLE  0x0198
 #define AG71XX_REG_INT_STATUS  0x019c
 
+#define AG71XX_REG_FIFO_DEPTH  0x01a8
+#define AG71XX_REG_RX_SM       0x01b0
+#define AG71XX_REG_TX_SM       0x01b4
+
 #define MAC_CFG1_TXE           BIT(0)  /* Tx Enable */
 #define MAC_CFG1_STX           BIT(1)  /* Synchronize Tx Enable */
 #define MAC_CFG1_RXE           BIT(2)  /* Rx Enable */
@@ -337,18 +342,12 @@ static inline int ag71xx_desc_pktlen(struct ag71xx_desc *desc)
 #define RX_STATUS_OF           BIT(2)  /* Rx Overflow */
 #define RX_STATUS_BE           BIT(3)  /* Bus Error */
 
-#define MII_CTRL_IF_MASK       3
-#define MII_CTRL_SPEED_SHIFT   4
-#define MII_CTRL_SPEED_MASK    3
-#define MII_CTRL_SPEED_10      0
-#define MII_CTRL_SPEED_100     1
-#define MII_CTRL_SPEED_1000    2
-
 static inline void ag71xx_check_reg_offset(struct ag71xx *ag, unsigned reg)
 {
        switch (reg) {
        case AG71XX_REG_MAC_CFG1 ... AG71XX_REG_MAC_MFL:
-       case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_INT_STATUS:
+       case AG71XX_REG_MAC_IFCTL ... AG71XX_REG_TX_SM:
+       case AG71XX_REG_MII_CFG:
                break;
 
        default:
@@ -406,51 +405,6 @@ static inline void ag71xx_int_disable(struct ag71xx *ag, u32 ints)
        ag71xx_cb(ag, AG71XX_REG_INT_ENABLE, ints);
 }
 
-static inline void ag71xx_mii_ctrl_wr(struct ag71xx *ag, u32 value)
-{
-       struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
-
-       if (pdata->is_ar724x)
-               return;
-
-       __raw_writel(value, ag->mii_ctrl);
-
-       /* flush write */
-       __raw_readl(ag->mii_ctrl);
-}
-
-static inline u32 ag71xx_mii_ctrl_rr(struct ag71xx *ag)
-{
-       struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
-
-       if (pdata->is_ar724x)
-               return 0xffffffff;
-
-       return __raw_readl(ag->mii_ctrl);
-}
-
-static inline void ag71xx_mii_ctrl_set_if(struct ag71xx *ag,
-                                         unsigned int mii_if)
-{
-       u32 t;
-
-       t = ag71xx_mii_ctrl_rr(ag);
-       t &= ~(MII_CTRL_IF_MASK);
-       t |= (mii_if & MII_CTRL_IF_MASK);
-       ag71xx_mii_ctrl_wr(ag, t);
-}
-
-static inline void ag71xx_mii_ctrl_set_speed(struct ag71xx *ag,
-                                            unsigned int speed)
-{
-       u32 t;
-
-       t = ag71xx_mii_ctrl_rr(ag);
-       t &= ~(MII_CTRL_SPEED_MASK << MII_CTRL_SPEED_SHIFT);
-       t |= (speed & MII_CTRL_SPEED_MASK) << MII_CTRL_SPEED_SHIFT;
-       ag71xx_mii_ctrl_wr(ag, t);
-}
-
 #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,
This page took 0.027081 seconds and 4 git commands to generate.