Merge branch 'net-dev-leading-spaces'
Hui Tang says: ==================== net: ethernet: remove leading spaces before tabs There are a few leading spaces before tabs and remove it by running the following commard: $ find . -name '*.c' | xargs sed -r -i 's/^[ ]+\t/\t/' $ find . -name '*.h' | xargs sed -r -i 's/^[ ]+\t/\t/' ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
798c04f642
@ -1464,7 +1464,7 @@ static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq,
|
||||
if (pdev) {
|
||||
vp->pm_state_valid = 1;
|
||||
pci_save_state(pdev);
|
||||
acpi_set_WOL(dev);
|
||||
acpi_set_WOL(dev);
|
||||
}
|
||||
retval = register_netdev(dev);
|
||||
if (retval == 0)
|
||||
|
@ -767,7 +767,7 @@ module_pcmcia_driver(axnet_cs_driver);
|
||||
Paul Gortmaker : tweak ANK's above multicast changes a bit.
|
||||
Paul Gortmaker : update packet statistics for v2.1.x
|
||||
Alan Cox : support arbitrary stupid port mappings on the
|
||||
68K Macintosh. Support >16bit I/O spaces
|
||||
68K Macintosh. Support >16bit I/O spaces
|
||||
Paul Gortmaker : add kmod support for auto-loading of the 8390
|
||||
module by all drivers that require it.
|
||||
Alan Cox : Spinlocking work, added 'BUG_83C690'
|
||||
@ -1091,7 +1091,7 @@ static irqreturn_t ax_interrupt(int irq, void *dev_id)
|
||||
long e8390_base;
|
||||
int interrupts, nr_serviced = 0, i;
|
||||
struct ei_device *ei_local;
|
||||
int handled = 0;
|
||||
int handled = 0;
|
||||
unsigned long flags;
|
||||
|
||||
e8390_base = dev->base_addr;
|
||||
@ -1587,12 +1587,12 @@ static void do_set_multicast_list(struct net_device *dev)
|
||||
}
|
||||
outb_p(E8390_NODMA + E8390_PAGE0, e8390_base + E8390_CMD);
|
||||
|
||||
if(dev->flags&IFF_PROMISC)
|
||||
outb_p(E8390_RXCONFIG | 0x58, e8390_base + EN0_RXCR);
|
||||
if(dev->flags&IFF_PROMISC)
|
||||
outb_p(E8390_RXCONFIG | 0x58, e8390_base + EN0_RXCR);
|
||||
else if (dev->flags & IFF_ALLMULTI || !netdev_mc_empty(dev))
|
||||
outb_p(E8390_RXCONFIG | 0x48, e8390_base + EN0_RXCR);
|
||||
else
|
||||
outb_p(E8390_RXCONFIG | 0x40, e8390_base + EN0_RXCR);
|
||||
outb_p(E8390_RXCONFIG | 0x48, e8390_base + EN0_RXCR);
|
||||
else
|
||||
outb_p(E8390_RXCONFIG | 0x40, e8390_base + EN0_RXCR);
|
||||
|
||||
outb_p(E8390_NODMA+E8390_PAGE0+E8390_START, e8390_base+E8390_CMD);
|
||||
}
|
||||
|
@ -1527,7 +1527,7 @@ static const struct pcmcia_device_id pcnet_ids[] = {
|
||||
PCMCIA_DEVICE_PROD_ID12("ACCTON", "EN2216-PCMCIA-ETHERNET", 0xdfc6b5b2, 0x5542bfff),
|
||||
PCMCIA_DEVICE_PROD_ID12("Allied Telesis, K.K.", "CentreCOM LA100-PCM-T V2 100/10M LAN PC Card", 0xbb7fbdd7, 0xcd91cc68),
|
||||
PCMCIA_DEVICE_PROD_ID12("Allied Telesis K.K.", "LA100-PCM V2", 0x36634a66, 0xc6d05997),
|
||||
PCMCIA_DEVICE_PROD_ID12("Allied Telesis, K.K.", "CentreCOM LA-PCM_V2", 0xbb7fBdd7, 0x28e299f8),
|
||||
PCMCIA_DEVICE_PROD_ID12("Allied Telesis, K.K.", "CentreCOM LA-PCM_V2", 0xbb7fBdd7, 0x28e299f8),
|
||||
PCMCIA_DEVICE_PROD_ID12("Allied Telesis K.K.", "LA-PCM V3", 0x36634a66, 0x62241d96),
|
||||
PCMCIA_DEVICE_PROD_ID12("AmbiCom", "AMB8010", 0x5070a7f9, 0x82f96e96),
|
||||
PCMCIA_DEVICE_PROD_ID12("AmbiCom", "AMB8610", 0x5070a7f9, 0x86741224),
|
||||
|
@ -347,11 +347,11 @@ static int __init ultra_probe_isapnp(struct net_device *dev)
|
||||
idev))) {
|
||||
/* Avoid already found cards from previous calls */
|
||||
if (pnp_device_attach(idev) < 0)
|
||||
continue;
|
||||
continue;
|
||||
if (pnp_activate_dev(idev) < 0) {
|
||||
__again:
|
||||
pnp_device_detach(idev);
|
||||
continue;
|
||||
pnp_device_detach(idev);
|
||||
continue;
|
||||
}
|
||||
/* if no io and irq, search for next */
|
||||
if (!pnp_port_valid(idev, 0) || !pnp_irq_valid(idev, 0))
|
||||
|
@ -114,7 +114,7 @@ static int __init stnic_probe(void)
|
||||
/* New style probing API */
|
||||
dev = alloc_ei_netdev();
|
||||
if (!dev)
|
||||
return -ENOMEM;
|
||||
return -ENOMEM;
|
||||
|
||||
#ifdef CONFIG_SH_STANDARD_BIOS
|
||||
sh_bios_get_node_addr (stnic_eadr);
|
||||
|
@ -1883,16 +1883,16 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd)
|
||||
}
|
||||
}
|
||||
|
||||
if (ACE_IS_TIGON_I(ap)) {
|
||||
struct cmd cmd;
|
||||
cmd.evt = C_SET_RX_JUMBO_PRD_IDX;
|
||||
cmd.code = 0;
|
||||
cmd.idx = 0;
|
||||
ace_issue_cmd(ap->regs, &cmd);
|
||||
} else {
|
||||
writel(0, &((ap->regs)->RxJumboPrd));
|
||||
wmb();
|
||||
}
|
||||
if (ACE_IS_TIGON_I(ap)) {
|
||||
struct cmd cmd;
|
||||
cmd.evt = C_SET_RX_JUMBO_PRD_IDX;
|
||||
cmd.code = 0;
|
||||
cmd.idx = 0;
|
||||
ace_issue_cmd(ap->regs, &cmd);
|
||||
} else {
|
||||
writel(0, &((ap->regs)->RxJumboPrd));
|
||||
wmb();
|
||||
}
|
||||
|
||||
ap->jumbo = 0;
|
||||
ap->rx_jumbo_skbprd = 0;
|
||||
@ -2489,9 +2489,9 @@ restart:
|
||||
}
|
||||
}
|
||||
|
||||
wmb();
|
||||
ap->tx_prd = idx;
|
||||
ace_set_txprd(regs, ap, idx);
|
||||
wmb();
|
||||
ap->tx_prd = idx;
|
||||
ace_set_txprd(regs, ap, idx);
|
||||
|
||||
if (flagsize & BD_FLG_COAL_NOW) {
|
||||
netif_stop_queue(dev);
|
||||
|
@ -19,14 +19,14 @@ Module Name:
|
||||
|
||||
Abstract:
|
||||
|
||||
AMD8111 based 10/100 Ethernet Controller Driver.
|
||||
AMD8111 based 10/100 Ethernet Controller Driver.
|
||||
|
||||
Environment:
|
||||
|
||||
Kernel Mode
|
||||
|
||||
Revision History:
|
||||
3.0.0
|
||||
3.0.0
|
||||
Initial Revision.
|
||||
3.0.1
|
||||
1. Dynamic interrupt coalescing.
|
||||
|
@ -10,14 +10,14 @@ Module Name:
|
||||
|
||||
Abstract:
|
||||
|
||||
AMD8111 based 10/100 Ethernet Controller driver definitions.
|
||||
AMD8111 based 10/100 Ethernet Controller driver definitions.
|
||||
|
||||
Environment:
|
||||
|
||||
Kernel Mode
|
||||
|
||||
Revision History:
|
||||
3.0.0
|
||||
3.0.0
|
||||
Initial Revision.
|
||||
3.0.1
|
||||
*/
|
||||
@ -692,7 +692,7 @@ enum coal_type{
|
||||
};
|
||||
|
||||
enum coal_mode{
|
||||
RX_INTR_COAL,
|
||||
RX_INTR_COAL,
|
||||
TX_INTR_COAL,
|
||||
DISABLE_COAL,
|
||||
ENABLE_COAL,
|
||||
|
@ -706,7 +706,7 @@ static void lance_init_ring( struct net_device *dev )
|
||||
CHECK_OFFSET(offset);
|
||||
MEM->tx_head[i].base = offset;
|
||||
MEM->tx_head[i].flag = TMD1_OWN_HOST;
|
||||
MEM->tx_head[i].base_hi = 0;
|
||||
MEM->tx_head[i].base_hi = 0;
|
||||
MEM->tx_head[i].length = 0;
|
||||
MEM->tx_head[i].misc = 0;
|
||||
offset += PKT_BUF_SZ;
|
||||
|
@ -937,7 +937,7 @@ static netdev_tx_t lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
|
||||
dev_kfree_skb(skb);
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
static void lance_load_multicast(struct net_device *dev)
|
||||
|
@ -780,7 +780,7 @@ lance_open(struct net_device *dev)
|
||||
outw(0x0002, ioaddr+LANCE_ADDR);
|
||||
/* Only touch autoselect bit. */
|
||||
outw(inw(ioaddr+LANCE_BUS_IF) | 0x0002, ioaddr+LANCE_BUS_IF);
|
||||
}
|
||||
}
|
||||
|
||||
if (lance_debug > 1)
|
||||
printk("%s: lance_open() irq %d dma %d tx/rx rings %#x/%#x init %#x.\n",
|
||||
@ -812,7 +812,7 @@ lance_open(struct net_device *dev)
|
||||
* We used to clear the InitDone bit, 0x0100, here but Mark Stockton
|
||||
* reports that doing so triggers a bug in the '974.
|
||||
*/
|
||||
outw(0x0042, ioaddr+LANCE_DATA);
|
||||
outw(0x0042, ioaddr+LANCE_DATA);
|
||||
|
||||
if (lance_debug > 2)
|
||||
printk("%s: LANCE open after %d ticks, init block %#x csr0 %4.4x.\n",
|
||||
|
@ -193,7 +193,7 @@ static struct card {
|
||||
.vendor_id = ni_vendor,
|
||||
.cardname = "ni6510",
|
||||
.config = 0x1,
|
||||
},
|
||||
},
|
||||
{
|
||||
.id0 = NI65_EB_ID0,
|
||||
.id1 = NI65_EB_ID1,
|
||||
@ -204,7 +204,7 @@ static struct card {
|
||||
.vendor_id = ni_vendor,
|
||||
.cardname = "ni6510 EtherBlaster",
|
||||
.config = 0x2,
|
||||
},
|
||||
},
|
||||
{
|
||||
.id0 = NE2100_ID0,
|
||||
.id1 = NE2100_ID1,
|
||||
@ -1232,15 +1232,15 @@ MODULE_PARM_DESC(dma, "ni6510 ISA DMA channel (ignored for some cards)");
|
||||
|
||||
int __init init_module(void)
|
||||
{
|
||||
dev_ni65 = ni65_probe(-1);
|
||||
dev_ni65 = ni65_probe(-1);
|
||||
return PTR_ERR_OR_ZERO(dev_ni65);
|
||||
}
|
||||
|
||||
void __exit cleanup_module(void)
|
||||
{
|
||||
unregister_netdev(dev_ni65);
|
||||
cleanup_card(dev_ni65);
|
||||
free_netdev(dev_ni65);
|
||||
unregister_netdev(dev_ni65);
|
||||
cleanup_card(dev_ni65);
|
||||
free_netdev(dev_ni65);
|
||||
}
|
||||
#endif /* MODULE */
|
||||
|
||||
|
@ -541,7 +541,7 @@ static int mace_init(mace_private *lp, unsigned int ioaddr, char *enet_addr)
|
||||
if(++ct > 500)
|
||||
{
|
||||
pr_err("reset failed, card removed?\n");
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
udelay(1);
|
||||
}
|
||||
@ -585,11 +585,11 @@ static int mace_init(mace_private *lp, unsigned int ioaddr, char *enet_addr)
|
||||
ct = 0;
|
||||
while (mace_read(lp, ioaddr, MACE_IAC) & MACE_IAC_ADDRCHG)
|
||||
{
|
||||
if(++ ct > 500)
|
||||
{
|
||||
if(++ ct > 500)
|
||||
{
|
||||
pr_err("ADDRCHG timeout, card removed?\n");
|
||||
return -1;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
/* Set PADR register */
|
||||
for (i = 0; i < ETH_ALEN; i++)
|
||||
@ -655,7 +655,7 @@ static int nmclan_config(struct pcmcia_device *link)
|
||||
}
|
||||
|
||||
if(mace_init(lp, ioaddr, dev->dev_addr) == -1)
|
||||
goto failed;
|
||||
goto failed;
|
||||
|
||||
/* The if_port symbol can be set when the module is loaded */
|
||||
if (if_port <= 2)
|
||||
|
@ -150,7 +150,7 @@ struct lance_memory {
|
||||
struct lance_private {
|
||||
volatile unsigned short *iobase;
|
||||
struct lance_memory *mem;
|
||||
int new_rx, new_tx; /* The next free ring entry */
|
||||
int new_rx, new_tx; /* The next free ring entry */
|
||||
int old_tx, old_rx; /* ring entry to be processed */
|
||||
/* These two must be longs for set_bit() */
|
||||
long tx_full;
|
||||
@ -465,7 +465,7 @@ static void lance_init_ring( struct net_device *dev )
|
||||
for( i = 0; i < TX_RING_SIZE; i++ ) {
|
||||
MEM->tx_head[i].base = dvma_vtob(MEM->tx_data[i]);
|
||||
MEM->tx_head[i].flag = 0;
|
||||
MEM->tx_head[i].base_hi =
|
||||
MEM->tx_head[i].base_hi =
|
||||
(dvma_vtob(MEM->tx_data[i])) >>16;
|
||||
MEM->tx_head[i].length = 0;
|
||||
MEM->tx_head[i].misc = 0;
|
||||
@ -581,8 +581,8 @@ lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
}
|
||||
|
||||
AREG = CSR0;
|
||||
DPRINTK( 2, ( "%s: lance_start_xmit() called, csr0 %4.4x.\n",
|
||||
dev->name, DREG ));
|
||||
DPRINTK( 2, ( "%s: lance_start_xmit() called, csr0 %4.4x.\n",
|
||||
dev->name, DREG ));
|
||||
|
||||
#ifdef CONFIG_SUN3X
|
||||
/* this weirdness doesn't appear on sun3... */
|
||||
@ -636,8 +636,8 @@ lance_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
/* Trigger an immediate send poll. */
|
||||
REGA(CSR0) = CSR0_INEA | CSR0_TDMD | CSR0_STRT;
|
||||
AREG = CSR0;
|
||||
DPRINTK( 2, ( "%s: lance_start_xmit() exiting, csr0 %4.4x.\n",
|
||||
dev->name, DREG ));
|
||||
DPRINTK( 2, ( "%s: lance_start_xmit() exiting, csr0 %4.4x.\n",
|
||||
dev->name, DREG ));
|
||||
dev_kfree_skb(skb);
|
||||
|
||||
lp->lock = 0;
|
||||
|
@ -477,26 +477,26 @@ static int bmac_suspend(struct macio_dev *mdev, pm_message_t state)
|
||||
config = bmread(dev, RXCFG);
|
||||
bmwrite(dev, RXCFG, (config & ~RxMACEnable));
|
||||
config = bmread(dev, TXCFG);
|
||||
bmwrite(dev, TXCFG, (config & ~TxMACEnable));
|
||||
bmwrite(dev, TXCFG, (config & ~TxMACEnable));
|
||||
bmwrite(dev, INTDISABLE, DisableAll); /* disable all intrs */
|
||||
/* disable rx and tx dma */
|
||||
/* disable rx and tx dma */
|
||||
rd->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
|
||||
/* free some skb's */
|
||||
for (i=0; i<N_RX_RING; i++) {
|
||||
if (bp->rx_bufs[i] != NULL) {
|
||||
dev_kfree_skb(bp->rx_bufs[i]);
|
||||
bp->rx_bufs[i] = NULL;
|
||||
}
|
||||
}
|
||||
for (i = 0; i<N_TX_RING; i++) {
|
||||
/* free some skb's */
|
||||
for (i=0; i<N_RX_RING; i++) {
|
||||
if (bp->rx_bufs[i] != NULL) {
|
||||
dev_kfree_skb(bp->rx_bufs[i]);
|
||||
bp->rx_bufs[i] = NULL;
|
||||
}
|
||||
}
|
||||
for (i = 0; i<N_TX_RING; i++) {
|
||||
if (bp->tx_bufs[i] != NULL) {
|
||||
dev_kfree_skb(bp->tx_bufs[i]);
|
||||
bp->tx_bufs[i] = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
pmac_call_feature(PMAC_FTR_BMAC_ENABLE, macio_get_of_node(bp->mdev), 0, 0);
|
||||
pmac_call_feature(PMAC_FTR_BMAC_ENABLE, macio_get_of_node(bp->mdev), 0, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -510,9 +510,9 @@ static int bmac_resume(struct macio_dev *mdev)
|
||||
bmac_reset_and_enable(dev);
|
||||
|
||||
enable_irq(dev->irq);
|
||||
enable_irq(bp->tx_dma_intr);
|
||||
enable_irq(bp->rx_dma_intr);
|
||||
netif_device_attach(dev);
|
||||
enable_irq(bp->tx_dma_intr);
|
||||
enable_irq(bp->rx_dma_intr);
|
||||
netif_device_attach(dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1599,7 +1599,7 @@ static int bmac_remove(struct macio_dev *mdev)
|
||||
|
||||
unregister_netdev(dev);
|
||||
|
||||
free_irq(dev->irq, dev);
|
||||
free_irq(dev->irq, dev);
|
||||
free_irq(bp->tx_dma_intr, dev);
|
||||
free_irq(bp->rx_dma_intr, dev);
|
||||
|
||||
|
@ -364,9 +364,9 @@ static void mace_reset(struct net_device *dev)
|
||||
out_8(&mb->iac, 0);
|
||||
|
||||
if (mp->port_aaui)
|
||||
out_8(&mb->plscc, PORTSEL_AUI + ENPLSIO);
|
||||
out_8(&mb->plscc, PORTSEL_AUI + ENPLSIO);
|
||||
else
|
||||
out_8(&mb->plscc, PORTSEL_GPSI + ENPLSIO);
|
||||
out_8(&mb->plscc, PORTSEL_GPSI + ENPLSIO);
|
||||
}
|
||||
|
||||
static void __mace_set_address(struct net_device *dev, void *addr)
|
||||
@ -378,9 +378,9 @@ static void __mace_set_address(struct net_device *dev, void *addr)
|
||||
|
||||
/* load up the hardware address */
|
||||
if (mp->chipid == BROKEN_ADDRCHG_REV)
|
||||
out_8(&mb->iac, PHYADDR);
|
||||
out_8(&mb->iac, PHYADDR);
|
||||
else {
|
||||
out_8(&mb->iac, ADDRCHG | PHYADDR);
|
||||
out_8(&mb->iac, ADDRCHG | PHYADDR);
|
||||
while ((in_8(&mb->iac) & ADDRCHG) != 0)
|
||||
;
|
||||
}
|
||||
|
@ -1556,8 +1556,8 @@ static void b44_setup_pseudo_magicp(struct b44 *bp)
|
||||
plen0 = b44_magic_pattern(bp->dev->dev_addr, pwol_pattern, pwol_mask,
|
||||
B44_ETHIPV4UDP_HLEN);
|
||||
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE, B44_PATTERN_BASE);
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE, B44_PMASK_BASE);
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE, B44_PATTERN_BASE);
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE, B44_PMASK_BASE);
|
||||
|
||||
/* Raw ethernet II magic packet pattern - pattern 1 */
|
||||
memset(pwol_pattern, 0, B44_PATTERN_SIZE);
|
||||
@ -1565,9 +1565,9 @@ static void b44_setup_pseudo_magicp(struct b44 *bp)
|
||||
plen1 = b44_magic_pattern(bp->dev->dev_addr, pwol_pattern, pwol_mask,
|
||||
ETH_HLEN);
|
||||
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE,
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE,
|
||||
B44_PATTERN_BASE + B44_PATTERN_SIZE);
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE,
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE,
|
||||
B44_PMASK_BASE + B44_PMASK_SIZE);
|
||||
|
||||
/* Ipv6 magic packet pattern - pattern 2 */
|
||||
@ -1576,9 +1576,9 @@ static void b44_setup_pseudo_magicp(struct b44 *bp)
|
||||
plen2 = b44_magic_pattern(bp->dev->dev_addr, pwol_pattern, pwol_mask,
|
||||
B44_ETHIPV6UDP_HLEN);
|
||||
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE,
|
||||
bwfilter_table(bp, pwol_pattern, B44_PATTERN_SIZE,
|
||||
B44_PATTERN_BASE + B44_PATTERN_SIZE + B44_PATTERN_SIZE);
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE,
|
||||
bwfilter_table(bp, pwol_mask, B44_PMASK_SIZE,
|
||||
B44_PMASK_BASE + B44_PMASK_SIZE + B44_PMASK_SIZE);
|
||||
|
||||
kfree(pwol_pattern);
|
||||
@ -1631,9 +1631,9 @@ static void b44_setup_wol(struct b44 *bp)
|
||||
val = br32(bp, B44_DEVCTRL);
|
||||
bw32(bp, B44_DEVCTRL, val | DEVCTRL_MPM | DEVCTRL_PFE);
|
||||
|
||||
} else {
|
||||
b44_setup_pseudo_magicp(bp);
|
||||
}
|
||||
} else {
|
||||
b44_setup_pseudo_magicp(bp);
|
||||
}
|
||||
b44_setup_wol_pci(bp);
|
||||
}
|
||||
|
||||
@ -1757,7 +1757,7 @@ static void __b44_set_rx_mode(struct net_device *dev)
|
||||
__b44_cam_write(bp, zero, i);
|
||||
|
||||
bw32(bp, B44_RXCONFIG, val);
|
||||
val = br32(bp, B44_CAM_CTRL);
|
||||
val = br32(bp, B44_CAM_CTRL);
|
||||
bw32(bp, B44_CAM_CTRL, val | CAM_CTRL_ENABLE);
|
||||
}
|
||||
}
|
||||
|
@ -572,7 +572,7 @@ bnx2_write_phy(struct bnx2 *bp, u32 reg, u32 val)
|
||||
}
|
||||
|
||||
if (val1 & BNX2_EMAC_MDIO_COMM_START_BUSY)
|
||||
ret = -EBUSY;
|
||||
ret = -EBUSY;
|
||||
else
|
||||
ret = 0;
|
||||
|
||||
@ -3599,7 +3599,7 @@ bnx2_set_rx_mode(struct net_device *dev)
|
||||
for (i = 0; i < NUM_MC_HASH_REGISTERS; i++) {
|
||||
BNX2_WR(bp, BNX2_EMAC_MULTICAST_HASH0 + (i * 4),
|
||||
0xffffffff);
|
||||
}
|
||||
}
|
||||
sort_mode |= BNX2_RPM_SORT_USER0_MC_EN;
|
||||
}
|
||||
else {
|
||||
@ -4674,7 +4674,7 @@ bnx2_nvram_write(struct bnx2 *bp, u32 offset, u8 *data_buf,
|
||||
|
||||
if (addr == page_end-4) {
|
||||
cmd_flags = BNX2_NVM_COMMAND_LAST;
|
||||
}
|
||||
}
|
||||
rc = bnx2_nvram_write_dword(bp, addr,
|
||||
&flash_buffer[i], cmd_flags);
|
||||
|
||||
|
@ -3371,7 +3371,7 @@ void t3_sge_prep(struct adapter *adap, struct sge_params *p)
|
||||
q->coalesce_usecs = 5;
|
||||
q->rspq_size = 1024;
|
||||
q->fl_size = 1024;
|
||||
q->jumbo_size = 512;
|
||||
q->jumbo_size = 512;
|
||||
q->txq_size[TXQ_ETH] = 1024;
|
||||
q->txq_size[TXQ_OFLD] = 1024;
|
||||
q->txq_size[TXQ_CTRL] = 256;
|
||||
|
@ -832,8 +832,8 @@ static struct net_device_stats *de_get_stats(struct net_device *dev)
|
||||
|
||||
/* The chip only need report frame silently dropped. */
|
||||
spin_lock_irq(&de->lock);
|
||||
if (netif_running(dev) && netif_device_present(dev))
|
||||
__de_get_stats(de);
|
||||
if (netif_running(dev) && netif_device_present(dev))
|
||||
__de_get_stats(de);
|
||||
spin_unlock_irq(&de->lock);
|
||||
|
||||
return &dev->stats;
|
||||
|
@ -396,7 +396,7 @@
|
||||
<earl@exis.net>.
|
||||
Updated the PCI interface to conform with the latest
|
||||
version. I hope nothing is broken...
|
||||
Add TX done interrupt modification from suggestion
|
||||
Add TX done interrupt modification from suggestion
|
||||
by <Austin.Donnelly@cl.cam.ac.uk>.
|
||||
Fix is_anc_capable() bug reported by
|
||||
<Austin.Donnelly@cl.cam.ac.uk>.
|
||||
@ -1499,7 +1499,7 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
|
||||
spin_lock_irqsave(&lp->lock, flags);
|
||||
netif_stop_queue(dev);
|
||||
load_packet(dev, skb->data, TD_IC | TD_LS | TD_FS | skb->len, skb);
|
||||
lp->stats.tx_bytes += skb->len;
|
||||
lp->stats.tx_bytes += skb->len;
|
||||
outl(POLL_DEMAND, DE4X5_TPD);/* Start the TX */
|
||||
|
||||
lp->tx_new = (lp->tx_new + 1) % lp->txRingSize;
|
||||
@ -1651,7 +1651,7 @@ de4x5_rx(struct net_device *dev)
|
||||
|
||||
/* Update stats */
|
||||
lp->stats.rx_packets++;
|
||||
lp->stats.rx_bytes += pkt_len;
|
||||
lp->stats.rx_bytes += pkt_len;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -518,7 +518,7 @@ static void dmfe_remove_one(struct pci_dev *pdev)
|
||||
|
||||
DMFE_DBUG(0, "dmfe_remove_one()", 0);
|
||||
|
||||
if (dev) {
|
||||
if (dev) {
|
||||
|
||||
unregister_netdev(dev);
|
||||
pci_iounmap(db->pdev, db->ioaddr);
|
||||
@ -567,10 +567,10 @@ static int dmfe_open(struct net_device *dev)
|
||||
/* CR6 operation mode decision */
|
||||
if ( !chkmode || (db->chip_id == PCI_DM9132_ID) ||
|
||||
(db->chip_revision >= 0x30) ) {
|
||||
db->cr6_data |= DMFE_TXTH_256;
|
||||
db->cr6_data |= DMFE_TXTH_256;
|
||||
db->cr0_data = CR0_DEFAULT;
|
||||
db->dm910x_chk_mode=4; /* Enter the normal mode */
|
||||
} else {
|
||||
} else {
|
||||
db->cr6_data |= CR6_SFT; /* Store & Forward mode */
|
||||
db->cr0_data = 0;
|
||||
db->dm910x_chk_mode = 1; /* Enter the check mode */
|
||||
@ -903,7 +903,7 @@ static void dmfe_free_tx_pkt(struct net_device *dev, struct dmfe_board_info *db)
|
||||
}
|
||||
}
|
||||
|
||||
txptr = txptr->next_tx_desc;
|
||||
txptr = txptr->next_tx_desc;
|
||||
}/* End of while */
|
||||
|
||||
/* Update TX remove pointer to next */
|
||||
@ -1121,7 +1121,7 @@ static void dmfe_timer(struct timer_list *t)
|
||||
void __iomem *ioaddr = db->ioaddr;
|
||||
u32 tmp_cr8;
|
||||
unsigned char tmp_cr12;
|
||||
unsigned long flags;
|
||||
unsigned long flags;
|
||||
|
||||
int link_ok, link_ok_phy;
|
||||
|
||||
@ -1217,7 +1217,7 @@ static void dmfe_timer(struct timer_list *t)
|
||||
if (link_ok_phy != link_ok) {
|
||||
DMFE_DBUG (0, "PHY and chip report different link status", 0);
|
||||
link_ok = link_ok | link_ok_phy;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !link_ok && netif_carrier_ok(dev)) {
|
||||
/* Link Failed */
|
||||
@ -1699,14 +1699,14 @@ static void dmfe_set_phyxcer(struct dmfe_board_info *db)
|
||||
if (db->chip_id == PCI_DM9009_ID) phy_reg &= 0x61;
|
||||
}
|
||||
|
||||
/* Write new capability to Phyxcer Reg4 */
|
||||
/* Write new capability to Phyxcer Reg4 */
|
||||
if ( !(phy_reg & 0x01e0)) {
|
||||
phy_reg|=db->PHY_reg4;
|
||||
db->media_mode|=DMFE_AUTO;
|
||||
}
|
||||
dmfe_phy_write(db->ioaddr, db->phy_addr, 4, phy_reg, db->chip_id);
|
||||
|
||||
/* Restart Auto-Negotiation */
|
||||
/* Restart Auto-Negotiation */
|
||||
if ( db->chip_type && (db->chip_id == PCI_DM9102_ID) )
|
||||
dmfe_phy_write(db->ioaddr, db->phy_addr, 0, 0x1800, db->chip_id);
|
||||
if ( !db->chip_type )
|
||||
@ -1754,7 +1754,7 @@ static void dmfe_process_mode(struct dmfe_board_info *db)
|
||||
}
|
||||
dmfe_phy_write(db->ioaddr,
|
||||
db->phy_addr, 0, phy_reg, db->chip_id);
|
||||
if ( db->chip_type && (db->chip_id == PCI_DM9102_ID) )
|
||||
if ( db->chip_type && (db->chip_id == PCI_DM9102_ID) )
|
||||
mdelay(20);
|
||||
dmfe_phy_write(db->ioaddr,
|
||||
db->phy_addr, 0, phy_reg, db->chip_id);
|
||||
|
@ -351,7 +351,7 @@ void pnic2_lnk_change(struct net_device *dev, int csr5)
|
||||
del_timer_sync(&tp->timer);
|
||||
pnic2_start_nway(dev);
|
||||
tp->timer.expires = RUN_AT(3*HZ);
|
||||
add_timer(&tp->timer);
|
||||
add_timer(&tp->timer);
|
||||
}
|
||||
|
||||
return;
|
||||
@ -375,7 +375,7 @@ void pnic2_lnk_change(struct net_device *dev, int csr5)
|
||||
del_timer_sync(&tp->timer);
|
||||
pnic2_start_nway(dev);
|
||||
tp->timer.expires = RUN_AT(3*HZ);
|
||||
add_timer(&tp->timer);
|
||||
add_timer(&tp->timer);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -780,7 +780,7 @@ static void uli526x_free_tx_pkt(struct net_device *dev,
|
||||
}
|
||||
}
|
||||
|
||||
txptr = txptr->next_tx_desc;
|
||||
txptr = txptr->next_tx_desc;
|
||||
}/* End of while */
|
||||
|
||||
/* Update TX remove pointer to next */
|
||||
@ -1015,7 +1015,7 @@ static void uli526x_timer(struct timer_list *t)
|
||||
struct net_device *dev = pci_get_drvdata(db->pdev);
|
||||
struct uli_phy_ops *phy = &db->phy;
|
||||
void __iomem *ioaddr = db->ioaddr;
|
||||
unsigned long flags;
|
||||
unsigned long flags;
|
||||
u8 tmp_cr12 = 0;
|
||||
u32 tmp_cr8;
|
||||
|
||||
@ -1535,14 +1535,14 @@ static void uli526x_set_phyxcer(struct uli526x_board_info *db)
|
||||
|
||||
}
|
||||
|
||||
/* Write new capability to Phyxcer Reg4 */
|
||||
/* Write new capability to Phyxcer Reg4 */
|
||||
if ( !(phy_reg & 0x01e0)) {
|
||||
phy_reg|=db->PHY_reg4;
|
||||
db->media_mode|=ULI526X_AUTO;
|
||||
}
|
||||
phy->write(db, db->phy_addr, 4, phy_reg);
|
||||
|
||||
/* Restart Auto-Negotiation */
|
||||
/* Restart Auto-Negotiation */
|
||||
phy->write(db, db->phy_addr, 0, 0x1200);
|
||||
udelay(50);
|
||||
}
|
||||
@ -1550,7 +1550,7 @@ static void uli526x_set_phyxcer(struct uli526x_board_info *db)
|
||||
|
||||
/*
|
||||
* Process op-mode
|
||||
AUTO mode : PHY controller in Auto-negotiation Mode
|
||||
AUTO mode : PHY controller in Auto-negotiation Mode
|
||||
* Force mode: PHY controller in force mode with HUB
|
||||
* N-way force capability with SWITCH
|
||||
*/
|
||||
|
@ -36,7 +36,7 @@
|
||||
power management.
|
||||
support for big endian descriptors
|
||||
Copyright (C) 2001 Manfred Spraul
|
||||
* ethtool support (jgarzik)
|
||||
* ethtool support (jgarzik)
|
||||
* Replace some MII-related magic numbers with constants (jgarzik)
|
||||
|
||||
TODO:
|
||||
@ -1479,7 +1479,7 @@ static int netdev_close(struct net_device *dev)
|
||||
np->cur_rx, np->dirty_rx);
|
||||
}
|
||||
|
||||
/* Stop the chip's Tx and Rx processes. */
|
||||
/* Stop the chip's Tx and Rx processes. */
|
||||
spin_lock_irq(&np->lock);
|
||||
netif_device_detach(dev);
|
||||
update_csr6(dev, 0);
|
||||
|
@ -1847,20 +1847,20 @@ static int netdev_close(struct net_device *dev)
|
||||
/* Stop the chip's Tx and Rx processes. */
|
||||
iowrite16(TxDisable | RxDisable | StatsDisable, ioaddr + MACCtrl1);
|
||||
|
||||
for (i = 2000; i > 0; i--) {
|
||||
if ((ioread32(ioaddr + DMACtrl) & 0xc000) == 0)
|
||||
for (i = 2000; i > 0; i--) {
|
||||
if ((ioread32(ioaddr + DMACtrl) & 0xc000) == 0)
|
||||
break;
|
||||
mdelay(1);
|
||||
}
|
||||
}
|
||||
|
||||
iowrite16(GlobalReset | DMAReset | FIFOReset | NetworkReset,
|
||||
iowrite16(GlobalReset | DMAReset | FIFOReset | NetworkReset,
|
||||
ioaddr + ASIC_HI_WORD(ASICCtrl));
|
||||
|
||||
for (i = 2000; i > 0; i--) {
|
||||
for (i = 2000; i > 0; i--) {
|
||||
if ((ioread16(ioaddr + ASIC_HI_WORD(ASICCtrl)) & ResetBusy) == 0)
|
||||
break;
|
||||
mdelay(1);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __i386__
|
||||
if (netif_msg_hw(np)) {
|
||||
|
@ -144,7 +144,7 @@ struct chip_info {
|
||||
};
|
||||
|
||||
static const struct chip_info skel_netdrv_tbl[] = {
|
||||
{ "100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
|
||||
{ "100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
|
||||
{ "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR },
|
||||
{ "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
|
||||
};
|
||||
|
@ -812,9 +812,9 @@ static netdev_tx_t fjn_start_xmit(struct sk_buff *skb,
|
||||
|
||||
if (length < ETH_ZLEN)
|
||||
{
|
||||
if (skb_padto(skb, ETH_ZLEN))
|
||||
return NETDEV_TX_OK;
|
||||
length = ETH_ZLEN;
|
||||
if (skb_padto(skb, ETH_ZLEN))
|
||||
return NETDEV_TX_OK;
|
||||
length = ETH_ZLEN;
|
||||
}
|
||||
|
||||
netif_stop_queue(dev);
|
||||
|
@ -77,7 +77,7 @@ struct emac_regs {
|
||||
struct {
|
||||
u32 rsvd1;
|
||||
u32 revid;
|
||||
u32 rsvd2[2];
|
||||
u32 rsvd2[2];
|
||||
u32 iaht1; /* Reset, R */
|
||||
u32 iaht2; /* Reset, R */
|
||||
u32 iaht3; /* Reset, R */
|
||||
|
@ -263,7 +263,7 @@ enum {
|
||||
CHIP_ID_YUKON_LP = 0xb2, /* Chip ID for YUKON-LP */
|
||||
CHIP_ID_YUKON_XL = 0xb3, /* Chip ID for YUKON-2 XL */
|
||||
CHIP_ID_YUKON_EC = 0xb6, /* Chip ID for YUKON-2 EC */
|
||||
CHIP_ID_YUKON_FE = 0xb7, /* Chip ID for YUKON-2 FE */
|
||||
CHIP_ID_YUKON_FE = 0xb7, /* Chip ID for YUKON-2 FE */
|
||||
|
||||
CHIP_REV_YU_LITE_A1 = 3, /* Chip Rev. for YUKON-Lite A1,A2 */
|
||||
CHIP_REV_YU_LITE_A3 = 7, /* Chip Rev. for YUKON-Lite A3 */
|
||||
|
@ -471,7 +471,7 @@ static void sky2_phy_init(struct sky2_hw *hw, unsigned port)
|
||||
adv |= fiber_fc_adv[sky2->flow_mode];
|
||||
} else {
|
||||
reg |= GM_GPCR_AU_FCT_DIS;
|
||||
reg |= gm_fc_disable[sky2->flow_mode];
|
||||
reg |= gm_fc_disable[sky2->flow_mode];
|
||||
|
||||
/* Forward pause packets to GMAC? */
|
||||
if (sky2->flow_mode & FC_RX)
|
||||
@ -1656,16 +1656,16 @@ static void sky2_hw_up(struct sky2_port *sky2)
|
||||
tx_init(sky2);
|
||||
|
||||
/*
|
||||
* On dual port PCI-X card, there is an problem where status
|
||||
* On dual port PCI-X card, there is an problem where status
|
||||
* can be received out of order due to split transactions
|
||||
*/
|
||||
if (otherdev && netif_running(otherdev) &&
|
||||
(cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) {
|
||||
u16 cmd;
|
||||
(cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) {
|
||||
u16 cmd;
|
||||
|
||||
cmd = sky2_pci_read16(hw, cap + PCI_X_CMD);
|
||||
cmd &= ~PCI_X_CMD_MAX_SPLIT;
|
||||
sky2_pci_write16(hw, cap + PCI_X_CMD, cmd);
|
||||
cmd &= ~PCI_X_CMD_MAX_SPLIT;
|
||||
sky2_pci_write16(hw, cap + PCI_X_CMD, cmd);
|
||||
}
|
||||
|
||||
sky2_mac_init(hw, port);
|
||||
@ -1836,8 +1836,8 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
|
||||
u16 mss;
|
||||
u8 ctrl;
|
||||
|
||||
if (unlikely(tx_avail(sky2) < tx_le_req(skb)))
|
||||
return NETDEV_TX_BUSY;
|
||||
if (unlikely(tx_avail(sky2) < tx_le_req(skb)))
|
||||
return NETDEV_TX_BUSY;
|
||||
|
||||
len = skb_headlen(skb);
|
||||
mapping = dma_map_single(&hw->pdev->dev, skb->data, len,
|
||||
@ -1866,9 +1866,9 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
|
||||
if (!(hw->flags & SKY2_HW_NEW_LE))
|
||||
mss += ETH_HLEN + ip_hdrlen(skb) + tcp_hdrlen(skb);
|
||||
|
||||
if (mss != sky2->tx_last_mss) {
|
||||
if (mss != sky2->tx_last_mss) {
|
||||
le = get_tx_le(sky2, &slot);
|
||||
le->addr = cpu_to_le32(mss);
|
||||
le->addr = cpu_to_le32(mss);
|
||||
|
||||
if (hw->flags & SKY2_HW_NEW_LE)
|
||||
le->opcode = OP_MSS | HW_OWNER;
|
||||
@ -1895,8 +1895,8 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
|
||||
/* Handle TCP checksum offload */
|
||||
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
||||
/* On Yukon EX (some versions) encoding change. */
|
||||
if (hw->flags & SKY2_HW_AUTO_TX_SUM)
|
||||
ctrl |= CALSUM; /* auto checksum */
|
||||
if (hw->flags & SKY2_HW_AUTO_TX_SUM)
|
||||
ctrl |= CALSUM; /* auto checksum */
|
||||
else {
|
||||
const unsigned offset = skb_transport_offset(skb);
|
||||
u32 tcpsum;
|
||||
@ -2557,7 +2557,7 @@ nobuf:
|
||||
static struct sk_buff *sky2_receive(struct net_device *dev,
|
||||
u16 length, u32 status)
|
||||
{
|
||||
struct sky2_port *sky2 = netdev_priv(dev);
|
||||
struct sky2_port *sky2 = netdev_priv(dev);
|
||||
struct rx_ring_info *re = sky2->rx_ring + sky2->rx_next;
|
||||
struct sk_buff *skb = NULL;
|
||||
u16 count = (status & GMR_FS_LEN) >> 16;
|
||||
@ -5063,11 +5063,11 @@ static int sky2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
if (!disable_msi && pci_enable_msi(pdev) == 0) {
|
||||
err = sky2_test_msi(hw);
|
||||
if (err) {
|
||||
pci_disable_msi(pdev);
|
||||
pci_disable_msi(pdev);
|
||||
if (err != -EOPNOTSUPP)
|
||||
goto err_out_free_netdev;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
netif_napi_add(dev, &hw->napi, sky2_poll, NAPI_WEIGHT);
|
||||
|
||||
|
@ -538,8 +538,8 @@ enum {
|
||||
CHIP_ID_YUKON_EC_U = 0xb4, /* YUKON-2 EC Ultra */
|
||||
CHIP_ID_YUKON_EX = 0xb5, /* YUKON-2 Extreme */
|
||||
CHIP_ID_YUKON_EC = 0xb6, /* YUKON-2 EC */
|
||||
CHIP_ID_YUKON_FE = 0xb7, /* YUKON-2 FE */
|
||||
CHIP_ID_YUKON_FE_P = 0xb8, /* YUKON-2 FE+ */
|
||||
CHIP_ID_YUKON_FE = 0xb7, /* YUKON-2 FE */
|
||||
CHIP_ID_YUKON_FE_P = 0xb8, /* YUKON-2 FE+ */
|
||||
CHIP_ID_YUKON_SUPR = 0xb9, /* YUKON-2 Supreme */
|
||||
CHIP_ID_YUKON_UL_2 = 0xba, /* YUKON-2 Ultra 2 */
|
||||
CHIP_ID_YUKON_OPT = 0xbc, /* YUKON-2 Optima */
|
||||
@ -2262,8 +2262,8 @@ struct sky2_port {
|
||||
#define SKY2_FLAG_AUTO_SPEED 0x0002
|
||||
#define SKY2_FLAG_AUTO_PAUSE 0x0004
|
||||
|
||||
enum flow_control flow_mode;
|
||||
enum flow_control flow_status;
|
||||
enum flow_control flow_mode;
|
||||
enum flow_control flow_status;
|
||||
|
||||
#ifdef CONFIG_SKY2_DEBUG
|
||||
struct dentry *debugfs;
|
||||
|
@ -969,7 +969,7 @@ static int natsemi_probe1(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
return 0;
|
||||
|
||||
err_create_file:
|
||||
unregister_netdev(dev);
|
||||
unregister_netdev(dev);
|
||||
|
||||
err_register_netdev:
|
||||
iounmap(ioaddr);
|
||||
@ -3103,14 +3103,14 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
||||
case SIOCSMIIREG: /* Write MII PHY register. */
|
||||
if (dev->if_port == PORT_TP) {
|
||||
if ((data->phy_id & 0x1f) == np->phy_addr_external) {
|
||||
if ((data->reg_num & 0x1f) == MII_ADVERTISE)
|
||||
if ((data->reg_num & 0x1f) == MII_ADVERTISE)
|
||||
np->advertising = data->val_in;
|
||||
mdio_write(dev, data->reg_num & 0x1f,
|
||||
data->val_in);
|
||||
}
|
||||
} else {
|
||||
if ((data->phy_id & 0x1f) == np->phy_addr_external) {
|
||||
if ((data->reg_num & 0x1f) == MII_ADVERTISE)
|
||||
if ((data->reg_num & 0x1f) == MII_ADVERTISE)
|
||||
np->advertising = data->val_in;
|
||||
}
|
||||
move_int_phy(dev, data->phy_id & 0x1f);
|
||||
|
@ -6,7 +6,7 @@
|
||||
Copyright (C) 2000, 2001 David S. Miller (davem@redhat.com) [sungem.c]
|
||||
Copyright 2001 Manfred Spraul [natsemi.c]
|
||||
Copyright 1999-2001 by Donald Becker. [natsemi.c]
|
||||
Written 1997-2001 by Donald Becker. [8139too.c]
|
||||
Written 1997-2001 by Donald Becker. [8139too.c]
|
||||
Copyright 1998-2001 by Jes Sorensen, <jes@trained-monkey.org>. [acenic.c]
|
||||
|
||||
This software may be used and distributed according to the terms of
|
||||
@ -947,8 +947,8 @@ static struct net_device_stats *cp_get_stats(struct net_device *dev)
|
||||
|
||||
/* The chip only need report frame silently dropped. */
|
||||
spin_lock_irqsave(&cp->lock, flags);
|
||||
if (netif_running(dev) && netif_device_present(dev))
|
||||
__cp_get_stats(cp);
|
||||
if (netif_running(dev) && netif_device_present(dev))
|
||||
__cp_get_stats(cp);
|
||||
spin_unlock_irqrestore(&cp->lock, flags);
|
||||
|
||||
return &dev->stats;
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
-----<snip>-----
|
||||
|
||||
Written 1997-2001 by Donald Becker.
|
||||
Written 1997-2001 by Donald Becker.
|
||||
This software may be used and distributed according to the
|
||||
terms of the GNU General Public License (GPL), incorporated
|
||||
herein by reference. Drivers based on or derived from this
|
||||
@ -548,8 +548,8 @@ static const struct {
|
||||
|
||||
{ "RTL-8100",
|
||||
HW_REVID(1, 1, 1, 1, 0, 1, 0),
|
||||
HasLWake,
|
||||
},
|
||||
HasLWake,
|
||||
},
|
||||
|
||||
{ "RTL-8100B/8139D",
|
||||
HW_REVID(1, 1, 1, 0, 1, 0, 1),
|
||||
|
@ -497,8 +497,8 @@ static void write_packet(long ioaddr, int length, unsigned char *packet, int pad
|
||||
{
|
||||
if (length & 1)
|
||||
{
|
||||
length++;
|
||||
pad_len++;
|
||||
length++;
|
||||
pad_len++;
|
||||
}
|
||||
|
||||
outb(EOC+MAR, ioaddr + PAR_DATA);
|
||||
|
@ -617,7 +617,7 @@ if (next_ptr < RX_START || next_ptr >= RX_END) {
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* ignore our own packets...
|
||||
* ignore our own packets...
|
||||
*/
|
||||
if (!(*(unsigned long *)&dev->dev_addr[0] ^ *(unsigned long *)&addrs[2+6]) &&
|
||||
!(*(unsigned short *)&dev->dev_addr[4] ^ *(unsigned short *)&addrs[2+10])) {
|
||||
@ -672,7 +672,7 @@ done:
|
||||
*/
|
||||
if (!(ether3_inw(REG_STATUS) & STAT_RXON)) {
|
||||
dev->stats.rx_dropped++;
|
||||
ether3_outw(next_ptr, REG_RECVPTR);
|
||||
ether3_outw(next_ptr, REG_RECVPTR);
|
||||
ether3_outw(priv(dev)->regs.command | CMD_RXON, REG_COMMAND);
|
||||
}
|
||||
|
||||
@ -690,11 +690,11 @@ static void ether3_tx(struct net_device *dev)
|
||||
do {
|
||||
unsigned long status;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Read the packet header
|
||||
*/
|
||||
*/
|
||||
ether3_setbuffer(dev, buffer_read, tx_tail * 0x600);
|
||||
status = ether3_readlong(dev);
|
||||
status = ether3_readlong(dev);
|
||||
|
||||
/*
|
||||
* Check to see if this packet has been transmitted
|
||||
|
@ -678,12 +678,12 @@ static int sis900_mii_probe(struct net_device *net_dev)
|
||||
/* Reset phy if default phy is internal sis900 */
|
||||
if ((sis_priv->mii->phy_id0 == 0x001D) &&
|
||||
((sis_priv->mii->phy_id1&0xFFF0) == 0x8000))
|
||||
status = sis900_reset_phy(net_dev, sis_priv->cur_phy);
|
||||
status = sis900_reset_phy(net_dev, sis_priv->cur_phy);
|
||||
|
||||
/* workaround for ICS1893 PHY */
|
||||
if ((sis_priv->mii->phy_id0 == 0x0015) &&
|
||||
((sis_priv->mii->phy_id1&0xFFF0) == 0xF440))
|
||||
mdio_write(net_dev, sis_priv->cur_phy, 0x0018, 0xD200);
|
||||
mdio_write(net_dev, sis_priv->cur_phy, 0x0018, 0xD200);
|
||||
|
||||
if(status & MII_STAT_LINK){
|
||||
while (poll_bit) {
|
||||
@ -727,7 +727,7 @@ static int sis900_mii_probe(struct net_device *net_dev)
|
||||
static u16 sis900_default_phy(struct net_device * net_dev)
|
||||
{
|
||||
struct sis900_private *sis_priv = netdev_priv(net_dev);
|
||||
struct mii_phy *phy = NULL, *phy_home = NULL,
|
||||
struct mii_phy *phy = NULL, *phy_home = NULL,
|
||||
*default_phy = NULL, *phy_lan = NULL;
|
||||
u16 status;
|
||||
|
||||
@ -1339,18 +1339,18 @@ static void sis900_timer(struct timer_list *t)
|
||||
} else {
|
||||
/* Link ON -> OFF */
|
||||
if (!(status & MII_STAT_LINK)){
|
||||
netif_carrier_off(net_dev);
|
||||
netif_carrier_off(net_dev);
|
||||
if(netif_msg_link(sis_priv))
|
||||
printk(KERN_INFO "%s: Media Link Off\n", net_dev->name);
|
||||
printk(KERN_INFO "%s: Media Link Off\n", net_dev->name);
|
||||
|
||||
/* Change mode issue */
|
||||
if ((mii_phy->phy_id0 == 0x001D) &&
|
||||
((mii_phy->phy_id1 & 0xFFF0) == 0x8000))
|
||||
sis900_reset_phy(net_dev, sis_priv->cur_phy);
|
||||
/* Change mode issue */
|
||||
if ((mii_phy->phy_id0 == 0x001D) &&
|
||||
((mii_phy->phy_id1 & 0xFFF0) == 0x8000))
|
||||
sis900_reset_phy(net_dev, sis_priv->cur_phy);
|
||||
|
||||
sis630_set_eq(net_dev, sis_priv->chipset_rev);
|
||||
|
||||
goto LookForLink;
|
||||
goto LookForLink;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2331,7 +2331,7 @@ static int sis900_set_config(struct net_device *dev, struct ifmap *map)
|
||||
case IF_PORT_10BASE2: /* 10Base2 */
|
||||
case IF_PORT_AUI: /* AUI */
|
||||
case IF_PORT_100BASEFX: /* 100BaseFx */
|
||||
/* These Modes are not supported (are they?)*/
|
||||
/* These Modes are not supported (are they?)*/
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
default:
|
||||
|
@ -182,8 +182,8 @@ struct smc_local {
|
||||
struct sk_buff * saved_skb;
|
||||
|
||||
/*
|
||||
. This keeps track of how many packets that I have
|
||||
. sent out. When an TX_EMPTY interrupt comes, I know
|
||||
. This keeps track of how many packets that I have
|
||||
. sent out. When an TX_EMPTY interrupt comes, I know
|
||||
. that all of these have been sent.
|
||||
*/
|
||||
int packets_waiting;
|
||||
@ -343,7 +343,7 @@ static void smc_reset( int ioaddr )
|
||||
|
||||
/* Note: It doesn't seem that waiting for the MMU busy is needed here,
|
||||
but this is a place where future chipsets _COULD_ break. Be wary
|
||||
of issuing another MMU command right after this */
|
||||
of issuing another MMU command right after this */
|
||||
|
||||
outb( 0, ioaddr + INT_MASK );
|
||||
}
|
||||
@ -521,9 +521,9 @@ static netdev_tx_t smc_wait_to_send_packet(struct sk_buff *skb,
|
||||
SMC_SELECT_BANK( 2 );
|
||||
outw( MC_ALLOC | numPages, ioaddr + MMU_CMD );
|
||||
/*
|
||||
. Performance Hack
|
||||
. Performance Hack
|
||||
.
|
||||
. wait a short amount of time.. if I can send a packet now, I send
|
||||
. wait a short amount of time.. if I can send a packet now, I send
|
||||
. it now. Otherwise, I enable an interrupt and wait for one to be
|
||||
. available.
|
||||
.
|
||||
@ -540,17 +540,17 @@ static netdev_tx_t smc_wait_to_send_packet(struct sk_buff *skb,
|
||||
if ( status & IM_ALLOC_INT ) {
|
||||
/* acknowledge the interrupt */
|
||||
outb( IM_ALLOC_INT, ioaddr + INTERRUPT );
|
||||
break;
|
||||
break;
|
||||
}
|
||||
} while ( -- time_out );
|
||||
} while ( -- time_out );
|
||||
|
||||
if ( !time_out ) {
|
||||
if ( !time_out ) {
|
||||
/* oh well, wait until the chip finds memory later */
|
||||
SMC_ENABLE_INT( IM_ALLOC_INT );
|
||||
PRINTK2((CARDNAME": memory allocation deferred.\n"));
|
||||
/* it's deferred, but I'll handle it later */
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
}
|
||||
/* or YES! I can send the packet now.. */
|
||||
smc_hardware_send_packet(dev);
|
||||
netif_wake_queue(dev);
|
||||
@ -616,7 +616,7 @@ static void smc_hardware_send_packet( struct net_device * dev )
|
||||
#endif
|
||||
|
||||
/* send the packet length ( +6 for status, length and ctl byte )
|
||||
and the status word ( set to zeros ) */
|
||||
and the status word ( set to zeros ) */
|
||||
#ifdef USE_32_BIT
|
||||
outl( (length +6 ) << 16 , ioaddr + DATA_1 );
|
||||
#else
|
||||
@ -629,8 +629,8 @@ static void smc_hardware_send_packet( struct net_device * dev )
|
||||
/* send the actual data
|
||||
. I _think_ it's faster to send the longs first, and then
|
||||
. mop up by sending the last word. It depends heavily
|
||||
. on alignment, at least on the 486. Maybe it would be
|
||||
. a good idea to check which is optimal? But that could take
|
||||
. on alignment, at least on the 486. Maybe it would be
|
||||
. a good idea to check which is optimal? But that could take
|
||||
. almost as much time as is saved?
|
||||
*/
|
||||
#ifdef USE_32_BIT
|
||||
@ -757,7 +757,7 @@ static int __init smc_findirq(int ioaddr)
|
||||
outb( IM_ALLOC_INT, ioaddr + INT_MASK );
|
||||
|
||||
/*
|
||||
. Allocate 512 bytes of memory. Note that the chip was just
|
||||
. Allocate 512 bytes of memory. Note that the chip was just
|
||||
. reset so all the memory is available
|
||||
*/
|
||||
outw( MC_ALLOC | 1, ioaddr + MMU_CMD );
|
||||
@ -871,7 +871,7 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
goto err_out;
|
||||
}
|
||||
/* The above MIGHT indicate a device, but I need to write to further
|
||||
test this. */
|
||||
test this. */
|
||||
outw( 0x0, ioaddr + BANK_SELECT );
|
||||
bank = inw( ioaddr + BANK_SELECT );
|
||||
if ( (bank & 0xFF00 ) != 0x3300 ) {
|
||||
@ -879,7 +879,7 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
goto err_out;
|
||||
}
|
||||
/* well, we've already written once, so hopefully another time won't
|
||||
hurt. This time, I need to switch the bank register to bank 1,
|
||||
hurt. This time, I need to switch the bank register to bank 1,
|
||||
so I can access the base address register */
|
||||
SMC_SELECT_BANK(1);
|
||||
base_address_register = inw( ioaddr + BASE );
|
||||
@ -917,7 +917,7 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
dev->base_addr = ioaddr;
|
||||
|
||||
/*
|
||||
. Get the MAC address ( bank 1, regs 4 - 9 )
|
||||
. Get the MAC address ( bank 1, regs 4 - 9 )
|
||||
*/
|
||||
SMC_SELECT_BANK( 1 );
|
||||
for ( i = 0; i < 6; i += 2 ) {
|
||||
@ -938,8 +938,8 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
|
||||
/*
|
||||
Now, I want to find out more about the chip. This is sort of
|
||||
redundant, but it's cleaner to have it in both, rather than having
|
||||
one VERY long probe procedure.
|
||||
redundant, but it's cleaner to have it in both, rather than having
|
||||
one VERY long probe procedure.
|
||||
*/
|
||||
SMC_SELECT_BANK(3);
|
||||
revision_register = inw( ioaddr + REVISION );
|
||||
@ -967,7 +967,7 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
/*
|
||||
. If dev->irq is 0, then the device has to be banged on to see
|
||||
. what the IRQ is.
|
||||
.
|
||||
.
|
||||
. This banging doesn't always detect the IRQ, for unknown reasons.
|
||||
. a workaround is to reset the chip and try again.
|
||||
.
|
||||
@ -978,7 +978,7 @@ static int __init smc_probe(struct net_device *dev, int ioaddr)
|
||||
.
|
||||
. Specifying an IRQ is done with the assumption that the user knows
|
||||
. what (s)he is doing. No checking is done!!!!
|
||||
.
|
||||
.
|
||||
*/
|
||||
if ( dev->irq < 2 ) {
|
||||
int trials;
|
||||
@ -1070,7 +1070,7 @@ static int smc_open(struct net_device *dev)
|
||||
}
|
||||
|
||||
/*
|
||||
According to Becker, I have to set the hardware address
|
||||
According to Becker, I have to set the hardware address
|
||||
at this point, because the (l)user can set it with an
|
||||
ioctl. Easily done...
|
||||
*/
|
||||
|
@ -671,19 +671,19 @@ smc_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
status = SMC_GET_INT(lp);
|
||||
if (status & IM_ALLOC_INT) {
|
||||
SMC_ACK_INT(lp, IM_ALLOC_INT);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
} while (--poll_count);
|
||||
} while (--poll_count);
|
||||
|
||||
smc_special_unlock(&lp->lock, flags);
|
||||
|
||||
lp->pending_tx_skb = skb;
|
||||
if (!poll_count) {
|
||||
if (!poll_count) {
|
||||
/* oh well, wait until the chip finds memory later */
|
||||
netif_stop_queue(dev);
|
||||
DBG(2, dev, "TX memory allocation deferred.\n");
|
||||
SMC_ENABLE_INT(lp, IM_ALLOC_INT);
|
||||
} else {
|
||||
} else {
|
||||
/*
|
||||
* Allocation succeeded: push packet to the chip's own memory
|
||||
* immediately.
|
||||
@ -1790,7 +1790,7 @@ static int smc_findirq(struct smc_local *lp)
|
||||
SMC_SET_INT_MASK(lp, IM_ALLOC_INT);
|
||||
|
||||
/*
|
||||
* Allocate 512 bytes of memory. Note that the chip was just
|
||||
* Allocate 512 bytes of memory. Note that the chip was just
|
||||
* reset so all the memory is available
|
||||
*/
|
||||
SMC_SET_MMU_CMD(lp, MC_ALLOC | 1);
|
||||
@ -1998,8 +1998,8 @@ static int smc_probe(struct net_device *dev, void __iomem *ioaddr,
|
||||
|
||||
/* Grab the IRQ */
|
||||
retval = request_irq(dev->irq, smc_interrupt, irq_flags, dev->name, dev);
|
||||
if (retval)
|
||||
goto err_out;
|
||||
if (retval)
|
||||
goto err_out;
|
||||
|
||||
#ifdef CONFIG_ARCH_PXA
|
||||
# ifdef SMC_USE_PXA_DMA
|
||||
|
@ -486,7 +486,7 @@ page_err:
|
||||
/* initialize spare pool of rx buffers, but allocate during the open */
|
||||
static void cas_spare_init(struct cas *cp)
|
||||
{
|
||||
spin_lock(&cp->rx_inuse_lock);
|
||||
spin_lock(&cp->rx_inuse_lock);
|
||||
INIT_LIST_HEAD(&cp->rx_inuse_list);
|
||||
spin_unlock(&cp->rx_inuse_lock);
|
||||
|
||||
|
@ -1258,8 +1258,8 @@ static void gem_begin_auto_negotiation(struct gem *gp,
|
||||
&advertising, ep->link_modes.advertising);
|
||||
|
||||
if (gp->phy_type != phy_mii_mdio0 &&
|
||||
gp->phy_type != phy_mii_mdio1)
|
||||
goto non_mii;
|
||||
gp->phy_type != phy_mii_mdio1)
|
||||
goto non_mii;
|
||||
|
||||
/* Setup advertise */
|
||||
if (found_mii_phy(gp))
|
||||
@ -1410,7 +1410,7 @@ static int gem_set_link_modes(struct gem *gp)
|
||||
|
||||
if (gp->phy_type == phy_serialink ||
|
||||
gp->phy_type == phy_serdes) {
|
||||
u32 pcs_lpa = readl(gp->regs + PCS_MIILP);
|
||||
u32 pcs_lpa = readl(gp->regs + PCS_MIILP);
|
||||
|
||||
if (pcs_lpa & (PCS_MIIADV_SP | PCS_MIIADV_AP))
|
||||
pause = 1;
|
||||
@ -1892,7 +1892,7 @@ static void gem_init_mac(struct gem *gp)
|
||||
|
||||
static void gem_init_pause_thresholds(struct gem *gp)
|
||||
{
|
||||
u32 cfg;
|
||||
u32 cfg;
|
||||
|
||||
/* Calculate pause thresholds. Setting the OFF threshold to the
|
||||
* full RX fifo size effectively disables PAUSE generation which
|
||||
@ -1914,15 +1914,15 @@ static void gem_init_pause_thresholds(struct gem *gp)
|
||||
/* Configure the chip "burst" DMA mode & enable some
|
||||
* HW bug fixes on Apple version
|
||||
*/
|
||||
cfg = 0;
|
||||
if (gp->pdev->vendor == PCI_VENDOR_ID_APPLE)
|
||||
cfg = 0;
|
||||
if (gp->pdev->vendor == PCI_VENDOR_ID_APPLE)
|
||||
cfg |= GREG_CFG_RONPAULBIT | GREG_CFG_ENBUG2FIX;
|
||||
#if !defined(CONFIG_SPARC64) && !defined(CONFIG_ALPHA)
|
||||
cfg |= GREG_CFG_IBURST;
|
||||
cfg |= GREG_CFG_IBURST;
|
||||
#endif
|
||||
cfg |= ((31 << 1) & GREG_CFG_TXDMALIM);
|
||||
cfg |= ((31 << 6) & GREG_CFG_RXDMALIM);
|
||||
writel(cfg, gp->regs + GREG_CFG);
|
||||
cfg |= ((31 << 1) & GREG_CFG_TXDMALIM);
|
||||
cfg |= ((31 << 6) & GREG_CFG_RXDMALIM);
|
||||
writel(cfg, gp->regs + GREG_CFG);
|
||||
|
||||
/* If Infinite Burst didn't stick, then use different
|
||||
* thresholds (and Apple bug fixes don't exist)
|
||||
|
@ -2286,8 +2286,8 @@ static netdev_tx_t happy_meal_start_xmit(struct sk_buff *skb,
|
||||
struct net_device *dev)
|
||||
{
|
||||
struct happy_meal *hp = netdev_priv(dev);
|
||||
int entry;
|
||||
u32 tx_flags;
|
||||
int entry;
|
||||
u32 tx_flags;
|
||||
|
||||
tx_flags = TXFLAG_OWN;
|
||||
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
||||
@ -2301,7 +2301,7 @@ static netdev_tx_t happy_meal_start_xmit(struct sk_buff *skb,
|
||||
|
||||
spin_lock_irq(&hp->happy_lock);
|
||||
|
||||
if (TX_BUFFS_AVAIL(hp) <= (skb_shinfo(skb)->nr_frags + 1)) {
|
||||
if (TX_BUFFS_AVAIL(hp) <= (skb_shinfo(skb)->nr_frags + 1)) {
|
||||
netif_stop_queue(dev);
|
||||
spin_unlock_irq(&hp->happy_lock);
|
||||
printk(KERN_ERR "%s: BUG! Tx Ring full when queue awake!\n",
|
||||
|
@ -1232,7 +1232,7 @@ do_start_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
if (pktlen < ETH_ZLEN)
|
||||
{
|
||||
if (skb_padto(skb, ETH_ZLEN))
|
||||
return NETDEV_TX_OK;
|
||||
return NETDEV_TX_OK;
|
||||
pktlen = ETH_ZLEN;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user