summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* netxen: remove netxen_nic_niu.cDhananjay Phadke2009-08-276-290/+141Star
| | | | | | | Consolidate all MAC/PHY access functions into netxen_nic_hw.c Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netxen: implement generic pcie semaphore functionsDhananjay Phadke2009-08-276-144/+71Star
| | | | | | | | | | | | Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netxen: remove unused codeDhananjay Phadke2009-08-274-390/+11Star
| | | | | | | | | | Remove code for phy access on unreleased NX2031 based quad-gig board. NX3031 based production quad-gig boards do not require direct phy access by driver. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-next' of ↵David S. Miller2009-08-2414-28/+318
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan
| * Drop ARPHRD_IEEE802154_PHYDmitry Eremin-Solenikov2009-08-194-8/+4Star
| | | | | | | | | | | | | | There are not maste devices in mac802154 anymore, so drop ARPHRD_IEEE802154_PHY definition. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * ieee802154: add support for channel pages from IEEE 802.15.4-2006Dmitry Eremin-Solenikov2009-08-196-11/+38
| | | | | | | | | | | | | | IEEE 802.15.4-2006 adds new concept: channel pages, which can contain several channels. Add support for channel pages in the API and in the fakehard driver. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * fakehard: add binding to wpan-phy deviceDmitry Eremin-Solenikov2009-08-191-6/+46
| | | | | | | | | | | | | | Make fakehard create and maintain wpan-phy node, thus representing it's phy in the sysfs. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * ieee802154: add a sysfs representation of WPAN master devicesDmitry Eremin-Solenikov2009-08-193-1/+223
| | | | | | | | | | | | Add a sysfs/in-kernel representation of LR-WPAN master devices. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * ieee802154: document the skb->cb usage clearly.Dmitry Eremin-Solenikov2009-08-191-2/+7
| | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
* | r6040: bump to version 0.25 and 20 August 2009 release dateFlorian Fainelli2009-08-241-2/+2
| | | | | | | | | | Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | r6040: move down second PHY detection to r6040_init_oneMark Kelly2009-08-241-8/+7Star
| | | | | | | | | | | | | | | | | | | | Instead of fully initializing an unusable second r6040 device, perform the PHY detection earlier and bail out in r6040_init_one when we could not read the PHY identifier. Signed-off-by: Mark Kelly <mark@bifferos.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | r6040: remove unused pioaddr variableMark Kelly2009-08-241-2/+0Star
| | | | | | | | | | | | | | | | This patch removes the unused pioaddr variable. Signed-off-by: Mark Kelly <mark@bifferos.com> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | RDS: Add a debug message suggesting to load transport modulesAndy Grover2009-08-241-0/+3
| | | | | | | | | | | | | | | | | | Now that RDS transports are no longer compiled-in to RDS core, there is now the possibility that they will not be loaded. This adds a helpful suggestion when rds_bind() fails to find a transport. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | RDS: Track transports via an array, not a listAndy Grover2009-08-245-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | Now that transports can be loaded in arbitrary order, it is important for rds_trans_get_preferred() to look for them in a particular order, instead of walking the list until it finds a transport that works for a given address. Now, each transport registers for a specific transport slot, and these are ordered so that preferred transports come first, and then if they are not loaded, other transports are queried. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | RDS: Modularize RDMA and TCP transportsAndy Grover2009-08-244-16/+35
| | | | | | | | | | | | | | | | | | | | | | Enable the building of transports as modules. Also, improve consistency of Kconfig messages in relation to other protocols, and move build dependency on IB from the RDS core code to the rds_rdma module. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | RDS: Export symbols from core RDSAndy Grover2009-08-2410-0/+29
| | | | | | | | | | | | | | | | Now that rdma and tcp transports will be modularized, we need to export a number of functions so they can call them. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | RDS: Add TCP transport to RDSAndy Grover2009-08-248-0/+1469
| | | | | | | | | | | | | | | | | | | | | | This code allows RDS to be tunneled over a TCP connection. RDMA operations are disabled when using TCP transport, but this frees RDS from the IB/RDMA stack dependency, and allows it to be used with standard Ethernet adapters, or in a VM. Signed-off-by: Andy Grover <andy.grover@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netxen: remove netxen_nic_phan_reg.hDhananjay Phadke2009-08-249-215/+102Star
| | | | | | | | | | | | | | Consolidate register definitions in netxen_nic_hdr.h Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netxen: implement pci driver shutdownAmit Kumar Salecha2009-08-241-8/+30
| | | | | | | | | | | | | | | | | | Implement pci driver shutdown functionality, this helps quiescing all PCI transaction before chipset is reset. Amit Kumar Salecha <amit@qlogic.com> Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netxen: refactor tx dma mapping codeDhananjay Phadke2009-08-241-52/+60
| | | | | | | | | | | | | | Move all tx skb mapping code into netxen_map_tx_skb(). Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netxen: fix firmware reset logicDhananjay Phadke2009-08-241-1/+3
| | | | | | | | | | | | | | | | If netxen_need_fw_reset() return 0 [ implies firmware is up and running], still go through dma mask check, etc. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | netxen: ethtool statistics and control for LRONarender Kumar2009-08-246-8/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | Add ethtool -K knob to control LRO in firmware. LRO path is completely separated from GRO, LRO packets are still fed with netif_receive_skb(). Also fix ethtool statistics to include LRO packets. Also use correct message type while configuring interrupt coalescing. Signed-off-by: Narender Kumar <narender.kumar@qlogic.com> Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Update version to 2.0.2.Michael Chan2009-08-231-2/+2
| | | | | | | | | | Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Use const on flash_table structure.Michael Chan2009-08-232-4/+4
| | | | | | | | | | | | | | | | The structure, once initialized, never changes. 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: Refine coalescing parameters.Michael Chan2009-08-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take effect on 5709. - Increase the default rx-frames to reduce interrupt count. - Decrease the default rx-frames-irq and tx-frames-irq to catch more events during NAPI poll. All these will reduce interrupts without affecting latency. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Report FTQ discard counter.Michael Chan2009-08-231-8/+12
| | | | | | | | | | | | | | Report this counter to ethtool -S and include it in netstat. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Apply BROKEN_STATS workaround to 5706 and 5708.Michael Chan2009-08-232-3/+5
| | | | | | | | | | | | | | Add flag to expand the workaround to both chips. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Close device if MTU change or ring size change fails.Michael Chan2009-08-231-2/+7
| | | | | | | | | | | | | | | | When unable to allocate memory for new MTU or new ring size, we need to close the device to prevent it from crashing. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Check if_running() before touching chip registers.Michael Chan2009-08-231-1/+9
| | | | | | | | | | | | | | | | Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to prevent bus lockups on some systems when the chip is in low power state. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bnx2: Zero out status block before chip reset.Michael Chan2009-08-231-0/+1
| | | | | | | | | | | | | | | | In case IRQs are shared, we will not mistakenly start processing the ring based on old status block indices. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'master' of ↵David S. Miller2009-08-2199-2170/+2790
|\ \ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
| * | MAINTAINERS: add information for mwl8k wireless driverLennert Buytenhek2009-08-201-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: update copyright and version numberLennert Buytenhek2009-08-201-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: remove mwl8k_queue_work()Lennert Buytenhek2009-08-201-64/+0Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_configure_filter() workqueue useLennert Buytenhek2009-08-201-45/+20Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_get_stats() workqueue useLennert Buytenhek2009-08-201-30/+2Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_conf_tx() workqueue useLennert Buytenhek2009-08-201-43/+14Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_set_rts_threshold() workqueue useLennert Buytenhek2009-08-201-39/+3Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_bss_info_changed() workqueue useLennert Buytenhek2009-08-201-63/+38Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_config() workqueue useLennert Buytenhek2009-08-201-52/+20Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_stop() workqueue useLennert Buytenhek2009-08-201-25/+1Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: get rid of mwl8k_start() workqueue useLennert Buytenhek2009-08-201-78/+27Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: fix firmware command serialisationLennert Buytenhek2009-08-201-65/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current mwl8k_priv->fw_lock spinlock doesn't actually protect against multiple commands being submitted at once, as it is not kept held over the entire firmware command submission. And since waiting for command completion sleeps, we can't use a spinlock anyway. To fix mwl8k firmware command serialisation properly, we have the following requirements: - Some commands require that the packet transmit path is idle when the command is issued. (For simplicity, we'll just quiesce the transmit path for every command.) - There are certain sequences of commands that need to be issued to the hardware sequentially, with no other intervening commands. This leads to an implementation of a "firmware lock" as a mutex that can be taken recursively, and which is taken by both the low-level command submission function (mwl8k_post_cmd) as well as any users of that function that require issuing of an atomic sequence of commands, and quiesces the transmit path whenever it's taken. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: mwl8k_queue_work() cleanupLennert Buytenhek2009-08-201-171/+33Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete most of the mwl8k_work_struct fields and options, since most of them are unused or never changed from their defaults: - We always use priv->config_wq, so delete the wqueue argument from mwl8k_queue_work(). - MWL8K_WQ_SPIN and MWL8K_WQ_POST_REQUEST are never used, as all callers sleep for request completion, so sleep unconditionally. - MWL8K_WQ_FREE_WORKSTRUCT is never used. - MWL8K_WQ_TX_WAIT_EMPTY is always set, so assume it unconditionally. - timeout_ms/txwait_attempts/tx_timeout_ms are never changed from their defaults, so just hardcode these in the workqueue worker. - step is never used. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: mwl8k_txq_xmit() reworkLennert Buytenhek2009-08-201-93/+52Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various mwl8k_txq_xmit changes: - Extract the QoS field before adding the DMA header. - Only write to tx->status once, and only after all the other descriptor fields have been set. - Do all tx state manipulation under the tx spinlock. - Remove the priv->inconfig check, as all transmit queues will be frozen during config cycles, so we won't ever be asked to transmit if a config cycle is running. - Remove some more dead code. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: implement idle modeLennert Buytenhek2009-08-201-0/+6
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: no need to hold ->tx_lock while setting the hardware interrupt maskLennert Buytenhek2009-08-201-6/+0Star
| | | | | | | | | | | | | | | Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: don't hardcode the number of transmit queuesLennert Buytenhek2009-08-201-7/+7
| | | | | | | | | | | | | | | | | | | | | Use MWL8K_TX_QUEUES instead of a hardcoded "4" in a couple of places. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: don't touch 'command done' interrupt during firmware loadLennert Buytenhek2009-08-201-23/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since firmware load commands don't generate 'command done' interrupts like normal commands do, polling for command done interrupts just unnecessarily slows down the firmware load process. Removing this bit of code speeds up loading a typical firmware image from 840 msec to 180 msec. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | mwl8k: dma header manipulations can't failLennert Buytenhek2009-08-201-70/+13Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding and removing the DMA header that the mwl8k hardware requires on tx and provides on rx can never fail, since we are guaranteed to have enough headroom on the tx path to expand the packet, and we only ever shrink the packet on the rx path. (And on both paths we are guaranteed to be the only user of the skb we are handling.) This allows removing all of the skb clone handling in the tx and tx reclaim paths, and eliminates error checks in both the tx and rx paths, simplifying the code a bit more. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>