summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* pkt_sched: Kill netdev_queue lock.David S. Miller2008-07-171-20/+0
| | | | | | | We can simply use the qdisc->q.lock for all of the qdisc tree synchronization. Signed-off-by: David S. Miller <davem@davemloft.net>
* niu: Add TX multiqueue support.David S. Miller2008-07-171-20/+25
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Convert all drivers away from netif_schedule().David S. Miller2008-07-179-11/+11
| | | | | | | They logically all want to trigger a schedule for all device TX queues. Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: netdev_priv() can now be sane again.David S. Miller2008-07-171-4/+4
| | | | | | | | | | The private area of a netdev is now at a fixed offset once more. Unfortunately, some assumptions that netdev_priv() == netdev->priv crept back into the tree. In particular this happened in the loopback driver. Make it use netdev->ml_priv. Signed-off-by: David S. Miller <davem@davemloft.net>
* net: Use queue aware tests throughout.David S. Miller2008-07-175-73/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This effectively "flips the switch" by making the core networking and multiqueue-aware drivers use the new TX multiqueue structures. Non-multiqueue drivers need no changes. The interfaces they use such as netif_stop_queue() degenerate into an operation on TX queue zero. So everything "just works" for them. Code that really wants to do "X" to all TX queues now invokes a routine that does so, such as netif_tx_wake_all_queues(), netif_tx_stop_all_queues(), etc. pktgen and netpoll required a little bit more surgery than the others. In particular the pktgen changes, whilst functional, could be largely improved. The initial check in pktgen_xmit() will sometimes check the wrong queue, which is mostly harmless. The thing to do is probably to invoke fill_packet() earlier. The bulk of the netpoll changes is to make the code operate solely on the TX queue indicated by by the SKB queue mapping. Setting of the SKB queue mapping is entirely confined inside of net/core/dev.c:dev_pick_tx(). If we end up needing any kind of special semantics (drops, for example) it will be implemented here. Finally, we now have a "real_num_tx_queues" which is where the driver indicates how many TX queues are actually active. With IGB changes from Jeff Kirsher. Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Kill NETIF_F_MULTI_QUEUE.David S. Miller2008-07-174-7/+0
| | | | | | | There is no need for a feature bit for something that can be tested by simply checking the TX queue count. Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Allocate multiple queues for TX.David S. Miller2008-07-175-11/+25
| | | | | | | | | | | | | | | | alloc_netdev_mq() now allocates an array of netdev_queue structures for TX, based upon the queue_count argument. Furthermore, all accesses to the TX queues are now vectored through the netdev_get_tx_queue() and netdev_for_each_tx_queue() interfaces. This makes it easy to grep the tree for all things that want to get to a TX queue of a net device. Problem spots which are not really multiqueue aware yet, and only work with one queue, can easily be spotted by grepping for all netdev_get_tx_queue() calls that pass in a zero index. Signed-off-by: David S. Miller <davem@davemloft.net>
* igb: Kill CONFIG_NETDEVICES_MULTIQUEUE references, no longer exists.David S. Miller2008-07-172-53/+0
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* netdrv intel: always enable VLAN filtering except in promiscous modePatrick McHardy2008-07-165-36/+5
| | | | | | | | | | | | Currently VLAN filtering is enabled when the first VLAN is added. Obviously before that there's no point in receiving any VLAN packets. Now that we disable VLAN filtering in promiscous mode, we can keep the VLAN filters enabled the remaining time. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netdrv intel: disable VLAN filtering in promiscous modePatrick McHardy2008-07-165-27/+57
| | | | | | | | | | | | | | | As discussed in this thread: http://www.mail-archive.com/netdev@vger.kernel.org/msg53976.html promiscous mode means to disable *all* filters. Currently only unicast and multicast filtering is disabled. This patch changes all Intel drivers to also disable VLAN filtering. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* wireless: fix warnings from QoS patchJohannes Berg2008-07-152-44/+8
| | | | | | | | | | | When I removed the special "default" meaning from the QoS parameters, I forgot to update drivers and this lead to warnings because some drivers were checking for the special values and putting in defaults. This fixes that by removing the default special-casing completely. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* bluetooth/hci_bcsp: fix bitrev KconfigRandy Dunlap2008-07-151-1/+1
| | | | | | | | | | | | | | | Fix bluetooth hci_bcsp Kconfig to avoid build errors: drivers/built-in.o: In function `bcsp_prepare_pkt': hci_bcsp.c:(.text+0x7e9ac): undefined reference to `bitrev16' drivers/built-in.o: In function `bcsp_recv': hci_bcsp.c:(.text+0x7f276): undefined reference to `bitrev16' hci_bcsp.c:(.text+0x7f293): undefined reference to `bitrev16' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Ackey-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Do not use TX lock to protect address lists.David S. Miller2008-07-155-30/+14
| | | | | | | | | Now that we have a specific lock to protect the network device unicast and multicast lists, remove extraneous grabs of the TX lock in cases where the code only needs address list protection. Signed-off-by: David S. Miller <davem@davemloft.net>
* netdev: Add netdev->addr_list_lock protection.David S. Miller2008-07-159-0/+40
| | | | | | | | | | | | | Add netif_addr_{lock,unlock}{,_bh}() helpers. Use them to protect operations that operate on or read the network device unicast and multicast address lists. Also use them in cases where the code simply wants to block calls into the driver's ->set_rx_mode() and ->set_multicast_list() methods. Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Update version to 1.7.8.Michael Chan2008-07-141-2/+2
| | | | | Signed-off-by: Michael Chan <mchan@braodcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Support secondary MAC addresses.Benjamin Li2008-07-142-8/+32
| | | | | | | | | | | | | | Add support for configuring secondary unicast addresses. There are 4 additional perfect match filters which can be used for secondary unicast address support. * Modified bnx2_set_mac_addr() to be more generic in handling the setting of the perfect match filters * Changed bnx2_set_rx_mode() to handle the unicast dev_addr_list Signed-off-by: Benjamin Li <benli@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Allow flexible VLAN tag settings.Michael Chan2008-07-142-17/+33
| | | | | | | | | | Negotiate with boot code and ASF firmware to see if it can support keeping VLAN tags in the RX packets. If supported by firmware, the VLAN tag will be kept in the RX packet unless VLAN acceleration is registered. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Add ack parameter to bnx2_fw_sync().Michael Chan2008-07-141-7/+11
| | | | | | | | | | ack=1 means wait for firmware acknowledgement, and ack=0 means don't wait. All current callers will set it to 1. In the next patch, new calls will set ack=0. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Add PCI ID for 5716.Michael Chan2008-07-141-1/+5
| | | | | | Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Benjamin Li <Benli@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2: Prevent ethtool -s from crashing when device is down.Michael Chan2008-07-141-1/+12
| | | | | | | | The device may be in D3-hot state and may crash if we try to configure the speed settings by accessing the registers. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'davem-next' of ↵David S. Miller2008-07-1442-2692/+1738
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
| * SAA9730: Remove driverRalf Baechle2008-07-114-1533/+0
| | | | | | | | | | | | | | | | The only user of the board, the extremly dated and rare MIPS Atlas board, has been removed, so this driver can go, too. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * Fix missing exports for net/phy/mdio-bitbang.cTakashi Iwai2008-07-111-0/+2
| | | | | | | | | | | | | | | | {alloc,free}_mdio_bitbang() are not exported while they are used in mdio-ofgpio driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * cxgb3 - Add iscsi supportKaren Xie2008-07-115-8/+59
| | | | | | | | | | | | | | Add iSCSI (S3xx) support. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * virtio_net: Set VIRTIO_NET_F_GUEST_CSUM featureMark McLoughlin2008-07-111-1/+2
| | | | | | | | | | | | | | | | | | We can handle receiving partial csums, so set the appropriate feature bit. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: Improve multiqueue AIM supportAlexander Duyck2008-07-113-81/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | Improve multiqueue performance Change itr_val to reflect ITR timer value instead of ints/sec Cleaned up AIM algorithms in general Based on work by Mitch Williams Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: unused variable warning in igb removeAlexander Duyck2008-07-111-0/+2
| | | | | | | | | | | | | | | | | | Wrap hw variable declaration in DCA flags to prevent unused variable warning during compilation. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: update suspend resumeAlexander Duyck2008-07-111-17/+29
| | | | | | | | | | | | | | | | | | Updates the suspend and resume to better handle the possibility of MSIX vector changes. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: add support for in kernel LROAlexander Duyck2008-07-115-9/+147
| | | | | | | | | | | | | | | | | | This patch adds support for the use of the inet_lro module to provide software LRO support. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: add page recycling supportAlexander Duyck2008-07-112-79/+63
| | | | | | | | | | | | | | | | | | This patch adds support for page recycling by splitting the page into two usable portions and tracking the reference count. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: Add support for quad port WOL and feature flagsAlexander Duyck2008-07-113-36/+81
| | | | | | | | | | | | | | | | | | | | | | | | Change igb from using a series of boolean operators to using a single flags value that contains a number of different bit flags for all the different features of the adapter. This patch also adds WOL support for quad port adapters. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: add 82576 MAC supportAlexander Duyck2008-07-119-86/+476
| | | | | | | | | | | | | | Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: Increment driver versionAuke Kok2008-07-111-1/+1
| | | | | | | | | | | | Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: reenable CRC stripping in hardwareAuke Kok2008-07-111-4/+5
| | | | | | | | | | | | | | | | | | | | We can remove a clunky workaround for not having the hardware strip the CRC. 82575 silicon as well as the older PCI Express e1000e hardware all work OK in this respect. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: add DCA supportJeb Cramer2008-07-114-4/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | Add DCA support in the similar method that it was added to the ixgbe driver recently. DCA allows the network device to put data in the CPU cache and notify the chipset of that event. This reduces cache misses during receives. Signed-off-by: Jeb Cramer <cramerj@intel.com> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: update ethtool stats to support multiqueueAlexander Duyck2008-07-113-4/+12
| | | | | | | | | | | | | | | | | | Addesses problems seen earlier with igb driver not correctly reporting rx and tx stats. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * igb: Introduce multiple TX queues with infrastructurePeter P Waskiewicz Jr2008-07-112-53/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This code adds multiple Tx queue infrastructure much like we previously did in ixgbe. The MSI-X vector mapping is the bulk of the change. IAM can now be safely enabled and we've verified that it does work correctly. We can also eliminate the tx ring lock. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: update copyright dates and versionsJesse Brandeburg2008-07-1111-13/+13
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: make NAPI the only option and the defaultJesse Brandeburg2008-07-112-60/+1
| | | | | | | | | | | | | | | | network maintainers suggest NAPI only drivers are the only way to go. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: cleanup headerJesse Brandeburg2008-07-111-8/+6
| | | | | | | | | | | | | | | | cleaned up some spacing in defines Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: audit use of dev_kfree_skb_anyJesse Brandeburg2008-07-111-3/+5
| | | | | | | | | | | | | | | | | | calls to kfree_skb_any are only required when calling kfree from interrupt context. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: clean up assignments inside if statementsJesse Brandeburg2008-07-111-10/+16
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: rx cleanup performance improvementsJesse Brandeburg2008-07-111-9/+19
| | | | | | | | | | | | | | | | | | | | rx cleanup should look more like our other drivers that have evolved to nicer performance levels over time. Changes consist of refilling tx buffers to hardware more often, some minor assignment cleanups. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: cleanup checkpatch suggestions that are relevantJesse Brandeburg2008-07-111-4/+4
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: trivial fix space after forJesse Brandeburg2008-07-115-31/+28
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: fix spelling errorsJesse Brandeburg2008-07-115-13/+13
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: whitespace fixupsJesse Brandeburg2008-07-115-65/+63
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: cleanup space after whileJesse Brandeburg2008-07-112-7/+7
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: format all if( to be if (Jesse Brandeburg2008-07-116-132/+130
| | | | | | | | | | | | | | | | | | this patch is trivial but because I want to have everything be nice and tidy I'm updating it. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * ixgb: clean up un-necessary declarationsJesse Brandeburg2008-07-111-18/+9
| | | | | | | | | | | | Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>