Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 103096
b: refs/heads/master
c: 08c3f57
h: refs/heads/master
v: v3
  • Loading branch information
Laurent Pinchart authored and Jeff Garzik committed Jun 25, 2008
1 parent e638b83 commit a3bddbd
Show file tree
Hide file tree
Showing 60 changed files with 261 additions and 425 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9
refs/heads/master: 08c3f57caa16b231f6627889cb43581c020f566a
6 changes: 3 additions & 3 deletions trunk/Documentation/networking/s2io.txt
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,9 @@ Valid range: Limited by memory on system
Default: 30

e. intr_type
Specifies interrupt type. Possible values 0(INTA), 2(MSI-X)
Valid values: 0, 2
Default: 2
Specifies interrupt type. Possible values 1(INTA), 2(MSI), 3(MSI-X)
Valid range: 1-3
Default: 1

5. Performance suggestions
General:
Expand Down
40 changes: 0 additions & 40 deletions trunk/drivers/connector/connector.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
#include <linux/moduleparam.h>
#include <linux/connector.h>
#include <linux/mutex.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>

#include <net/sock.h>

Expand Down Expand Up @@ -405,40 +403,6 @@ static void cn_callback(void *data)
mutex_unlock(&notify_lock);
}

static int cn_proc_show(struct seq_file *m, void *v)
{
struct cn_queue_dev *dev = cdev.cbdev;
struct cn_callback_entry *cbq;

seq_printf(m, "Name ID\n");

spin_lock_bh(&dev->queue_lock);

list_for_each_entry(cbq, &dev->queue_list, callback_entry) {
seq_printf(m, "%-15s %u:%u\n",
cbq->id.name,
cbq->id.id.idx,
cbq->id.id.val);
}

spin_unlock_bh(&dev->queue_lock);

return 0;
}

static int cn_proc_open(struct inode *inode, struct file *file)
{
return single_open(file, cn_proc_show, NULL);
}

static const struct file_operations cn_file_ops = {
.owner = THIS_MODULE,
.open = cn_proc_open,
.read = seq_read,
.llseek = seq_lseek,
.release = single_release
};

static int __devinit cn_init(void)
{
struct cn_dev *dev = &cdev;
Expand Down Expand Up @@ -470,8 +434,6 @@ static int __devinit cn_init(void)
return -EINVAL;
}

proc_net_fops_create(&init_net, "connector", S_IRUGO, &cn_file_ops);

return 0;
}

Expand All @@ -481,8 +443,6 @@ static void __devexit cn_fini(void)

cn_already_initialized = 0;

proc_net_remove(&init_net, "connector");

cn_del_callback(&dev->id);
cn_queue_free_dev(dev->cbdev);
netlink_kernel_release(dev->nls);
Expand Down
5 changes: 2 additions & 3 deletions trunk/drivers/net/3c59x.c
Original file line number Diff line number Diff line change
Expand Up @@ -1768,10 +1768,9 @@ vortex_timer(unsigned long data)
case XCVR_MII: case XCVR_NWAY:
{
ok = 1;
/* Interrupts are already disabled */
spin_lock(&vp->lock);
spin_lock_bh(&vp->lock);
vortex_check_media(dev, 0);
spin_unlock(&vp->lock);
spin_unlock_bh(&vp->lock);
}
break;
default: /* Other media types handled by Tx timeouts. */
Expand Down
106 changes: 44 additions & 62 deletions trunk/drivers/net/dm9000.c
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,6 @@ dm9000_probe(struct platform_device *pdev)
struct board_info *db; /* Point a board information structure */
struct net_device *ndev;
const unsigned char *mac_src;
unsigned long base;
int ret = 0;
int iosize;
int i;
Expand Down Expand Up @@ -558,81 +557,64 @@ dm9000_probe(struct platform_device *pdev)
INIT_DELAYED_WORK(&db->phy_poll, dm9000_poll_work);


if (pdev->num_resources < 2) {
if (pdev->num_resources < 3) {
ret = -ENODEV;
goto out;
} else if (pdev->num_resources == 2) {
base = pdev->resource[0].start;

if (!request_mem_region(base, 4, ndev->name)) {
ret = -EBUSY;
goto out;
}

ndev->base_addr = base;
ndev->irq = pdev->resource[1].start;
db->io_addr = (void __iomem *)base;
db->io_data = (void __iomem *)(base + 4);
}

/* ensure at least we have a default set of IO routines */
dm9000_set_io(db, 2);
db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->data_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
db->irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);

} else {
db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->data_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
db->irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);

if (db->addr_res == NULL || db->data_res == NULL ||
db->irq_res == NULL) {
dev_err(db->dev, "insufficient resources\n");
ret = -ENOENT;
goto out;
}
if (db->addr_res == NULL || db->data_res == NULL ||
db->irq_res == NULL) {
dev_err(db->dev, "insufficient resources\n");
ret = -ENOENT;
goto out;
}

i = res_size(db->addr_res);
db->addr_req = request_mem_region(db->addr_res->start, i,
pdev->name);
iosize = res_size(db->addr_res);
db->addr_req = request_mem_region(db->addr_res->start, iosize,
pdev->name);

if (db->addr_req == NULL) {
dev_err(db->dev, "cannot claim address reg area\n");
ret = -EIO;
goto out;
}

db->io_addr = ioremap(db->addr_res->start, i);
if (db->addr_req == NULL) {
dev_err(db->dev, "cannot claim address reg area\n");
ret = -EIO;
goto out;
}

if (db->io_addr == NULL) {
dev_err(db->dev, "failed to ioremap address reg\n");
ret = -EINVAL;
goto out;
}
db->io_addr = ioremap(db->addr_res->start, iosize);

iosize = res_size(db->data_res);
db->data_req = request_mem_region(db->data_res->start, iosize,
pdev->name);
if (db->io_addr == NULL) {
dev_err(db->dev, "failed to ioremap address reg\n");
ret = -EINVAL;
goto out;
}

if (db->data_req == NULL) {
dev_err(db->dev, "cannot claim data reg area\n");
ret = -EIO;
goto out;
}
iosize = res_size(db->data_res);
db->data_req = request_mem_region(db->data_res->start, iosize,
pdev->name);

db->io_data = ioremap(db->data_res->start, iosize);
if (db->data_req == NULL) {
dev_err(db->dev, "cannot claim data reg area\n");
ret = -EIO;
goto out;
}

if (db->io_data == NULL) {
dev_err(db->dev,"failed to ioremap data reg\n");
ret = -EINVAL;
goto out;
}
db->io_data = ioremap(db->data_res->start, iosize);

/* fill in parameters for net-dev structure */
if (db->io_data == NULL) {
dev_err(db->dev, "failed to ioremap data reg\n");
ret = -EINVAL;
goto out;
}

ndev->base_addr = (unsigned long)db->io_addr;
ndev->irq = db->irq_res->start;
/* fill in parameters for net-dev structure */
ndev->base_addr = (unsigned long)db->io_addr;
ndev->irq = db->irq_res->start;

/* ensure at least we have a default set of IO routines */
dm9000_set_io(db, iosize);
}
/* ensure at least we have a default set of IO routines */
dm9000_set_io(db, iosize);

/* check to see if anything is being over-ridden */
if (pdata != NULL) {
Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/e100.c
Original file line number Diff line number Diff line change
Expand Up @@ -1803,8 +1803,6 @@ static int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
if (rx->prev->skb) {
struct rfd *prev_rfd = (struct rfd *)rx->prev->skb->data;
put_unaligned_le32(rx->dma_addr, &prev_rfd->link);
pci_dma_sync_single_for_device(nic->pdev, rx->prev->dma_addr,
sizeof(struct rfd), PCI_DMA_TODEVICE);
}

return 0;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/e1000/e1000_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ e1000_set_tso(struct net_device *netdev, u32 data)
else
netdev->features &= ~NETIF_F_TSO;

if (data && (adapter->hw.mac_type > e1000_82547_rev_2))
if (data)
netdev->features |= NETIF_F_TSO6;
else
netdev->features &= ~NETIF_F_TSO6;
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/e1000e/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -2535,8 +2535,7 @@ void e1000e_down(struct e1000_adapter *adapter)
adapter->link_speed = 0;
adapter->link_duplex = 0;

if (!pci_channel_offline(adapter->pdev))
e1000e_reset(adapter);
e1000e_reset(adapter);
e1000_clean_tx_ring(adapter);
e1000_clean_rx_ring(adapter);

Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/net/hamradio/dmascc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1077,6 +1077,8 @@ static inline void rx_off(struct scc_priv *priv)

static void start_timer(struct scc_priv *priv, int t, int r15)
{
unsigned long flags;

outb(priv->tmr_mode, priv->tmr_ctrl);
if (t == 0) {
tm_isr(priv);
Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -718,8 +718,7 @@ void igb_down(struct igb_adapter *adapter)
adapter->link_speed = 0;
adapter->link_duplex = 0;

if (!pci_channel_offline(adapter->pdev))
igb_reset(adapter);
igb_reset(adapter);
igb_clean_all_tx_rings(adapter);
igb_clean_all_rx_rings(adapter);
}
Expand Down
16 changes: 8 additions & 8 deletions trunk/drivers/net/ipg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1271,16 +1271,16 @@ static void ipg_nic_rx_with_end(struct net_device *dev,

framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;

endframelen = framelen - jumbo->current_size;
endframeLen = framelen - jumbo->current_size;
/*
if (framelen > IPG_RXFRAG_SIZE)
framelen=IPG_RXFRAG_SIZE;
*/
if (framelen > IPG_RXSUPPORT_SIZE)
dev_kfree_skb_irq(jumbo->skb);
else {
memcpy(skb_put(jumbo->skb, endframelen),
skb->data, endframelen);
memcpy(skb_put(jumbo->skb, endframeLen),
skb->data, endframeLen);

jumbo->skb->protocol =
eth_type_trans(jumbo->skb, dev);
Expand Down Expand Up @@ -1352,16 +1352,16 @@ static int ipg_nic_rx(struct net_device *dev)

switch (ipg_nic_rx_check_frame_type(dev)) {
case FRAME_WITH_START_WITH_END:
ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry);
ipg_nic_rx_with_start_and_end(dev, tp, rxfd, entry);
break;
case FRAME_WITH_START:
ipg_nic_rx_with_start(dev, sp, rxfd, entry);
ipg_nic_rx_with_start(dev, tp, rxfd, entry);
break;
case FRAME_WITH_END:
ipg_nic_rx_with_end(dev, sp, rxfd, entry);
ipg_nic_rx_with_end(dev, tp, rxfd, entry);
break;
case FRAME_NO_START_NO_END:
ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry);
ipg_nic_rx_no_start_no_end(dev, tp, rxfd, entry);
break;
}
}
Expand Down Expand Up @@ -1808,7 +1808,7 @@ static int ipg_nic_open(struct net_device *dev)
/* initialize JUMBO Frame control variable */
sp->jumbo.found_start = 0;
sp->jumbo.current_size = 0;
sp->jumbo.skb = NULL;
sp->jumbo.skb = 0;
dev->mtu = IPG_TXFRAG_SIZE;
#endif

Expand Down
3 changes: 1 addition & 2 deletions trunk/drivers/net/ixgbe/ixgbe_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1969,8 +1969,7 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
netif_carrier_off(netdev);
netif_stop_queue(netdev);

if (!pci_channel_offline(adapter->pdev))
ixgbe_reset(adapter);
ixgbe_reset(adapter);
ixgbe_clean_all_tx_rings(adapter);
ixgbe_clean_all_rx_rings(adapter);

Expand Down
18 changes: 7 additions & 11 deletions trunk/drivers/net/netxen/netxen_nic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,14 @@ static irqreturn_t netxen_intr(int irq, void *data);
static irqreturn_t netxen_msi_intr(int irq, void *data);

/* PCI Device ID Table */
#define ENTRY(device) \
{PCI_DEVICE(0x4040, (device)), \
.class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = ~0}

static struct pci_device_id netxen_pci_tbl[] __devinitdata = {
ENTRY(0x0001),
ENTRY(0x0002),
ENTRY(0x0003),
ENTRY(0x0004),
ENTRY(0x0005),
ENTRY(0x0024),
ENTRY(0x0025),
{PCI_DEVICE(0x4040, 0x0001), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0002), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0003), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0004), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0005), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0024), PCI_DEVICE_CLASS(0x020000, ~0)},
{PCI_DEVICE(0x4040, 0x0025), PCI_DEVICE_CLASS(0x020000, ~0)},
{0,}
};

Expand Down
2 changes: 0 additions & 2 deletions trunk/drivers/net/pcmcia/axnet_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,14 +525,12 @@ static int axnet_open(struct net_device *dev)
int ret;
axnet_dev_t *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
unsigned int nic_base = dev->base_addr;

DEBUG(2, "axnet_open('%s')\n", dev->name);

if (!pcmcia_dev_present(link))
return -ENODEV;

outb_p(0xFF, nic_base + EN0_ISR); /* Clear bogus intr. */
ret = request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, "axnet_cs", dev);
if (ret)
return ret;
Expand Down
3 changes: 0 additions & 3 deletions trunk/drivers/net/pcmcia/pcnet_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -969,16 +969,13 @@ static int pcnet_open(struct net_device *dev)
int ret;
pcnet_dev_t *info = PRIV(dev);
struct pcmcia_device *link = info->p_dev;
unsigned int nic_base = dev->base_addr;

DEBUG(2, "pcnet_open('%s')\n", dev->name);

if (!pcmcia_dev_present(link))
return -ENODEV;

set_misc_reg(dev);

outb_p(0xFF, nic_base + EN0_ISR); /* Clear bogus intr. */
ret = request_irq(dev->irq, ei_irq_wrapper, IRQF_SHARED, dev_info, dev);
if (ret)
return ret;
Expand Down
Loading

0 comments on commit a3bddbd

Please sign in to comment.