提交 c6a2dbba 编写于 作者: A Atsushi Nemoto 提交者: David S. Miller

tc35815: Kill non-napi code

Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 7a8b3372
...@@ -22,12 +22,7 @@ ...@@ -22,12 +22,7 @@
* All Rights Reserved. * All Rights Reserved.
*/ */
#define TC35815_NAPI #define DRV_VERSION "1.39"
#ifdef TC35815_NAPI
#define DRV_VERSION "1.38-NAPI"
#else
#define DRV_VERSION "1.38"
#endif
static const char *version = "tc35815.c:v" DRV_VERSION "\n"; static const char *version = "tc35815.c:v" DRV_VERSION "\n";
#define MODNAME "tc35815" #define MODNAME "tc35815"
...@@ -563,12 +558,8 @@ static void free_rxbuf_skb(struct pci_dev *hwdev, struct sk_buff *skb, dma_addr_ ...@@ -563,12 +558,8 @@ static void free_rxbuf_skb(struct pci_dev *hwdev, struct sk_buff *skb, dma_addr_
static int tc35815_open(struct net_device *dev); static int tc35815_open(struct net_device *dev);
static int tc35815_send_packet(struct sk_buff *skb, struct net_device *dev); static int tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);
static irqreturn_t tc35815_interrupt(int irq, void *dev_id); static irqreturn_t tc35815_interrupt(int irq, void *dev_id);
#ifdef TC35815_NAPI
static int tc35815_rx(struct net_device *dev, int limit); static int tc35815_rx(struct net_device *dev, int limit);
static int tc35815_poll(struct napi_struct *napi, int budget); static int tc35815_poll(struct napi_struct *napi, int budget);
#else
static void tc35815_rx(struct net_device *dev);
#endif
static void tc35815_txdone(struct net_device *dev); static void tc35815_txdone(struct net_device *dev);
static int tc35815_close(struct net_device *dev); static int tc35815_close(struct net_device *dev);
static struct net_device_stats *tc35815_get_stats(struct net_device *dev); static struct net_device_stats *tc35815_get_stats(struct net_device *dev);
...@@ -924,9 +915,7 @@ static int __devinit tc35815_init_one(struct pci_dev *pdev, ...@@ -924,9 +915,7 @@ static int __devinit tc35815_init_one(struct pci_dev *pdev,
dev->netdev_ops = &tc35815_netdev_ops; dev->netdev_ops = &tc35815_netdev_ops;
dev->ethtool_ops = &tc35815_ethtool_ops; dev->ethtool_ops = &tc35815_ethtool_ops;
dev->watchdog_timeo = TC35815_TX_TIMEOUT; dev->watchdog_timeo = TC35815_TX_TIMEOUT;
#ifdef TC35815_NAPI
netif_napi_add(dev, &lp->napi, tc35815_poll, NAPI_WEIGHT); netif_napi_add(dev, &lp->napi, tc35815_poll, NAPI_WEIGHT);
#endif
dev->irq = pdev->irq; dev->irq = pdev->irq;
dev->base_addr = (unsigned long)ioaddr; dev->base_addr = (unsigned long)ioaddr;
...@@ -1401,9 +1390,7 @@ tc35815_open(struct net_device *dev) ...@@ -1401,9 +1390,7 @@ tc35815_open(struct net_device *dev)
return -EAGAIN; return -EAGAIN;
} }
#ifdef TC35815_NAPI
napi_enable(&lp->napi); napi_enable(&lp->napi);
#endif
/* Reset the hardware here. Don't forget to set the station address. */ /* Reset the hardware here. Don't forget to set the station address. */
spin_lock_irq(&lp->lock); spin_lock_irq(&lp->lock);
...@@ -1537,11 +1524,7 @@ static void tc35815_fatal_error_interrupt(struct net_device *dev, u32 status) ...@@ -1537,11 +1524,7 @@ static void tc35815_fatal_error_interrupt(struct net_device *dev, u32 status)
tc35815_schedule_restart(dev); tc35815_schedule_restart(dev);
} }
#ifdef TC35815_NAPI
static int tc35815_do_interrupt(struct net_device *dev, u32 status, int limit) static int tc35815_do_interrupt(struct net_device *dev, u32 status, int limit)
#else
static int tc35815_do_interrupt(struct net_device *dev, u32 status)
#endif
{ {
struct tc35815_local *lp = netdev_priv(dev); struct tc35815_local *lp = netdev_priv(dev);
int ret = -1; int ret = -1;
...@@ -1580,12 +1563,7 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status) ...@@ -1580,12 +1563,7 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status)
/* normal notification */ /* normal notification */
if (status & Int_IntMacRx) { if (status & Int_IntMacRx) {
/* Got a packet(s). */ /* Got a packet(s). */
#ifdef TC35815_NAPI
ret = tc35815_rx(dev, limit); ret = tc35815_rx(dev, limit);
#else
tc35815_rx(dev);
ret = 0;
#endif
lp->lstats.rx_ints++; lp->lstats.rx_ints++;
} }
if (status & Int_IntMacTx) { if (status & Int_IntMacTx) {
...@@ -1593,12 +1571,8 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status) ...@@ -1593,12 +1571,8 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status)
lp->lstats.tx_ints++; lp->lstats.tx_ints++;
tc35815_txdone(dev); tc35815_txdone(dev);
netif_wake_queue(dev); netif_wake_queue(dev);
#ifdef TC35815_NAPI
if (ret < 0) if (ret < 0)
ret = 0; ret = 0;
#else
ret = 0;
#endif
} }
return ret; return ret;
} }
...@@ -1613,7 +1587,6 @@ static irqreturn_t tc35815_interrupt(int irq, void *dev_id) ...@@ -1613,7 +1587,6 @@ static irqreturn_t tc35815_interrupt(int irq, void *dev_id)
struct tc35815_local *lp = netdev_priv(dev); struct tc35815_local *lp = netdev_priv(dev);
struct tc35815_regs __iomem *tr = struct tc35815_regs __iomem *tr =
(struct tc35815_regs __iomem *)dev->base_addr; (struct tc35815_regs __iomem *)dev->base_addr;
#ifdef TC35815_NAPI
u32 dmactl = tc_readl(&tr->DMA_Ctl); u32 dmactl = tc_readl(&tr->DMA_Ctl);
if (!(dmactl & DMA_IntMask)) { if (!(dmactl & DMA_IntMask)) {
...@@ -1630,22 +1603,6 @@ static irqreturn_t tc35815_interrupt(int irq, void *dev_id) ...@@ -1630,22 +1603,6 @@ static irqreturn_t tc35815_interrupt(int irq, void *dev_id)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
return IRQ_NONE; return IRQ_NONE;
#else
int handled;
u32 status;
spin_lock(&lp->lock);
status = tc_readl(&tr->Int_Src);
/* BLEx, FDAEx will be cleared later */
tc_writel(status & ~(Int_BLEx | Int_FDAEx),
&tr->Int_Src); /* write to clear */
handled = tc35815_do_interrupt(dev, status);
if (status & (Int_BLEx | Int_FDAEx))
tc_writel(status & (Int_BLEx | Int_FDAEx), &tr->Int_Src);
(void)tc_readl(&tr->Int_Src); /* flush */
spin_unlock(&lp->lock);
return IRQ_RETVAL(handled >= 0);
#endif /* TC35815_NAPI */
} }
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
...@@ -1658,20 +1615,13 @@ static void tc35815_poll_controller(struct net_device *dev) ...@@ -1658,20 +1615,13 @@ static void tc35815_poll_controller(struct net_device *dev)
#endif #endif
/* We have a good packet(s), get it/them out of the buffers. */ /* We have a good packet(s), get it/them out of the buffers. */
#ifdef TC35815_NAPI
static int static int
tc35815_rx(struct net_device *dev, int limit) tc35815_rx(struct net_device *dev, int limit)
#else
static void
tc35815_rx(struct net_device *dev)
#endif
{ {
struct tc35815_local *lp = netdev_priv(dev); struct tc35815_local *lp = netdev_priv(dev);
unsigned int fdctl; unsigned int fdctl;
int i; int i;
#ifdef TC35815_NAPI
int received = 0; int received = 0;
#endif
while (!((fdctl = le32_to_cpu(lp->rfd_cur->fd.FDCtl)) & FD_CownsFD)) { while (!((fdctl = le32_to_cpu(lp->rfd_cur->fd.FDCtl)) & FD_CownsFD)) {
int status = le32_to_cpu(lp->rfd_cur->fd.FDStat); int status = le32_to_cpu(lp->rfd_cur->fd.FDStat);
...@@ -1694,10 +1644,8 @@ tc35815_rx(struct net_device *dev) ...@@ -1694,10 +1644,8 @@ tc35815_rx(struct net_device *dev)
int offset; int offset;
#endif #endif
#ifdef TC35815_NAPI
if (--limit < 0) if (--limit < 0)
break; break;
#endif
#ifdef TC35815_USE_PACKEDBUFFER #ifdef TC35815_USE_PACKEDBUFFER
BUG_ON(bd_count > 2); BUG_ON(bd_count > 2);
skb = dev_alloc_skb(pkt_len + NET_IP_ALIGN); skb = dev_alloc_skb(pkt_len + NET_IP_ALIGN);
...@@ -1767,12 +1715,8 @@ tc35815_rx(struct net_device *dev) ...@@ -1767,12 +1715,8 @@ tc35815_rx(struct net_device *dev)
if (netif_msg_pktdata(lp)) if (netif_msg_pktdata(lp))
print_eth(data); print_eth(data);
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
#ifdef TC35815_NAPI
netif_receive_skb(skb); netif_receive_skb(skb);
received++; received++;
#else
netif_rx(skb);
#endif
dev->stats.rx_packets++; dev->stats.rx_packets++;
dev->stats.rx_bytes += pkt_len; dev->stats.rx_bytes += pkt_len;
} else { } else {
...@@ -1888,12 +1832,9 @@ tc35815_rx(struct net_device *dev) ...@@ -1888,12 +1832,9 @@ tc35815_rx(struct net_device *dev)
#endif #endif
} }
#ifdef TC35815_NAPI
return received; return received;
#endif
} }
#ifdef TC35815_NAPI
static int tc35815_poll(struct napi_struct *napi, int budget) static int tc35815_poll(struct napi_struct *napi, int budget)
{ {
struct tc35815_local *lp = container_of(napi, struct tc35815_local, napi); struct tc35815_local *lp = container_of(napi, struct tc35815_local, napi);
...@@ -1930,7 +1871,6 @@ static int tc35815_poll(struct napi_struct *napi, int budget) ...@@ -1930,7 +1871,6 @@ static int tc35815_poll(struct napi_struct *napi, int budget)
} }
return received; return received;
} }
#endif
#ifdef NO_CHECK_CARRIER #ifdef NO_CHECK_CARRIER
#define TX_STA_ERR (Tx_ExColl|Tx_Under|Tx_Defer|Tx_LateColl|Tx_TxPar|Tx_SQErr) #define TX_STA_ERR (Tx_ExColl|Tx_Under|Tx_Defer|Tx_LateColl|Tx_TxPar|Tx_SQErr)
...@@ -2050,11 +1990,7 @@ tc35815_txdone(struct net_device *dev) ...@@ -2050,11 +1990,7 @@ tc35815_txdone(struct net_device *dev)
pci_unmap_single(lp->pci_dev, lp->tx_skbs[lp->tfd_end].skb_dma, skb->len, PCI_DMA_TODEVICE); pci_unmap_single(lp->pci_dev, lp->tx_skbs[lp->tfd_end].skb_dma, skb->len, PCI_DMA_TODEVICE);
lp->tx_skbs[lp->tfd_end].skb = NULL; lp->tx_skbs[lp->tfd_end].skb = NULL;
lp->tx_skbs[lp->tfd_end].skb_dma = 0; lp->tx_skbs[lp->tfd_end].skb_dma = 0;
#ifdef TC35815_NAPI
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
#else
dev_kfree_skb_irq(skb);
#endif
} }
txfd->fd.FDSystem = cpu_to_le32(0xffffffff); txfd->fd.FDSystem = cpu_to_le32(0xffffffff);
...@@ -2118,9 +2054,7 @@ tc35815_close(struct net_device *dev) ...@@ -2118,9 +2054,7 @@ tc35815_close(struct net_device *dev)
struct tc35815_local *lp = netdev_priv(dev); struct tc35815_local *lp = netdev_priv(dev);
netif_stop_queue(dev); netif_stop_queue(dev);
#ifdef TC35815_NAPI
napi_disable(&lp->napi); napi_disable(&lp->napi);
#endif
if (lp->phy_dev) if (lp->phy_dev)
phy_stop(lp->phy_dev); phy_stop(lp->phy_dev);
cancel_work_sync(&lp->restart_work); cancel_work_sync(&lp->restart_work);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册