aboutsummaryrefslogtreecommitdiffstats
path: root/drivers (follow)
AgeCommit message (Collapse)AuthorFilesLines
2011-10-07igb: avoid unnecessary conversions from u16 to intAlexander Duyck2-7/+7
There are a number of places where we have values that are stored as u16 but are being converted to int unnecessarily. In order to avoid that we should convert all variables that deal with the next_to_clean, next_to_use, and count to u16 values. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-07igb: Use node specific allocations for the q_vectors and ringsAlexander Duyck2-5/+79
This change is meant to update the ring and vector allocations so that they are per node instead of allocating everything on the node that ifconfig/modprobe is called on. By doing this we can cut down significantly on cross node traffic. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-07igb: push data into first igb_tx_buffer sooner to reduce stack usageAlexander Duyck2-50/+54
Instead of storing most of the data for the TX hot path in the stack until we are ready to write the descriptor we can save ourselves some time and effort by pushing the SKB, tx_flags, gso_size, bytecount, and protocol into the first igb_tx_buffer since that is where we will end up putting it anyway. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-07Add ethtool -g support to 8139cpRick Jones1-0/+10
Add support for reporting ring sizes via ethtool -g to the 8139cp driver. Signed-off-by: Rick Jones <rick.jones2@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-07Merge branch 'master' of github.com:davem330/netDavid S. Miller72-604/+539
Conflicts: net/batman-adv/soft-interface.c
2011-10-07Merge git://github.com/Jkirsher/net-nextDavid S. Miller9-521/+600
2011-10-07igb: consolidate creation of Tx buffer info and data descriptorAlexander Duyck2-142/+184
This change will combine the writes of tx_buffer_info and the Tx data descriptors into a single function. The advantage of this is that we can avoid needless memory reads from the buffer info struct and speed things up by keeping the accesses to the local registers. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Combine all flag info fields into a single tx_flags structureAlexander Duyck2-16/+17
This change is meant to combine all of the TX flags fields into one u32 flags field so that it can be stored into the tx_buffer_info structure. This includes the time stamp flag as well as mapped_as_page flag info. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Cleanup protocol handling in transmit pathAlexander Duyck1-12/+11
This change is meant to cleanup the protocol handling in the transmit path so that it correctly offloads software VLAN tagged frames. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Create separate functions for generating cmd_type and olinfoAlexander Duyck3-44/+65
This change is meant to improve the readability of the driver by separating out the cmd_type configuration and the olinfo configuration into their own functions. By doing this it is much easier to determine which ingredients go into setting up these to portions of the descriptor. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Make first and tx_buffer_info->next_to_watch into pointersAlexander Duyck2-31/+37
This change converts two tx_buffer_info index values into pointers. The advantage to this is that we reduce unnecessary computations and in the case of next_to_watch we get an added bonus of the value being able to provide additional information as a NULL value indicates it is unset versus a 0 not having any meaning for the index value. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Consolidate creation of Tx context descriptors into a single functionAlexander Duyck1-127/+106
This patch is meant to simplify the transmit path by reducing the overhead for creating a transmit context descriptor. The current implementation is split with igb_tso and igb_tx_csum doing two separate implementations on how to setup the tx_buffer_info structure and the tx_desc. By combining them it is possible to reduce code and simplify things since now only one function will create context descriptors. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: split buffer_info into tx_buffer_info and rx_buffer_infoAlexander Duyck3-88/+92
In order to be able to improve the performance of the TX path it has been necessary to add addition info to the tx_buffer_info structure. However a side effect is that the structure has gotten larger and this in turn has also increased the size of the RX buffer info structure. In order to avoid this in the future I am splitting the single buffer_info structure into two separate ones and instead I will join them by making the buffer_info pointer in the ring a union of the two. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Make Tx budget for NAPI user adjustableAlexander Duyck3-53/+87
This change is to make the NAPI budget limits for transmit adjustable. Currently they are only set to 128, and when the changes/improvements to NAPI occur to allow for adjustability, it would be possible to tune the value for optimal performance with applications such as routing. v2: remove tie between NAPI and interrupt moderation fix work limit define name (s/IXGBE/IGB/) Update patch description to better reflect patch Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com>
2011-10-06e1000e: bad short packets received when jumbos enabled on 82579Bruce Allan1-1/+1
When short packets are received with jumbos enabled on 82579, they can be interpreted to have a receive address that does not match any configured address. This is due to a hardware bug that can be worked around by reducing the number of IPG octets added when the packet is transferred from the PHY to the MAC. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06e1000: convert to private mutex from rtnlJesse Brandeburg2-9/+31
The e1000 driver when running with lockdep could run into some possible deadlocks between the work items acquiring rtnl and the rtnl lock being acquired before work items were cancelled. Use a private mutex to make sure lock ordering isn't violated. The private mutex is only used to protect areas not generally covered by the rtnl lock already. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> CC: Thomas Gleixner <tglx@linutronix.de> CC: Tushar Dave <tushar.n.dave@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06e1000: convert mdelay to msleepJesse Brandeburg2-12/+12
With the previous commit, there are several functions that are only ever called from thread context, and are able to sleep with msleep instead of mdelay. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> CC: Thomas Gleixner <tglx@linutronix.de> CC: Tushar Dave <tushar.n.dave@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06e1000: convert hardware management from timers to threadsJesse Brandeburg2-84/+55
Thomas Gleixner (tglx) reported that e1000 was delaying for many milliseconds (using mdelay) from inside timer/interrupt context. None of these paths are performance critical and can be moved into threads/work items. This patch implements the work items and the next patch changes the mdelays to msleeps. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> CC: Thomas Gleixner <tglx@linutronix.de> CC: Tushar Dave <tushar.n.dave@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06ixgbe: bump version numberDon Skidmore1-2/+2
Bump the version string to better match pair up with the out of tree driver that contains the same functionality. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06Merge git://github.com/davem330/netLinus Torvalds1-1/+1
* git://github.com/davem330/net: net: fix typos in Documentation/networking/scaling.txt bridge: leave carrier on for empty bridge netfilter: Use proper rwlock init function tcp: properly update lost_cnt_hint during shifting tcp: properly handle md5sig_pool references macvlan/macvtap: Fix unicast between macvtap interfaces in bridge mode
2011-10-06net: use DMA_x_DEVICE and dma_mapping_error with skb_frag_dma_mapIan Campbell29-44/+43
When I converted some drivers from pci_map_page to skb_frag_dma_map I neglected to convert PCI_DMA_xDEVICE into DMA_x_DEVICE and pci_dma_mapping_error into dma_mapping_error. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-06virtio-net: Verify page list size before fitting into skbSasha Levin1-0/+13
This patch verifies that the length of a buffer stored in a linked list of pages is small enough to fit into a skb. If the size is larger than a max size of a skb, it means that we shouldn't go ahead building skbs anyway since we won't be able to send the buffer as the user requested. Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: virtualization@lists.linux-foundation.org Cc: netdev@vger.kernel.org Cc: kvm@vger.kernel.org Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-06Merge branch 'for-linus' of http://people.redhat.com/agk/git/linux-dmLinus Torvalds4-8/+32
* 'for-linus' of http://people.redhat.com/agk/git/linux-dm: dm crypt: always disable discard_zeroes_data dm: raid fix write_mostly arg validation dm table: avoid crash if integrity profile changes dm: flakey fix corrupt_bio_byte error path
2011-10-06Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds6-15/+26
* 'for-linus' of git://neil.brown.name/md: md: Avoid waking up a thread after it has been freed.
2011-10-06igb: Alternate MAC Address Updates for Func2&3Akeem G. Abodunrin1-0/+5
Only function 1 has support for Alternate MAC Address in the EEPROM before, this update now allow function 2 and 3 to have support for Alternate MAC Address in the EEPROM. Signed-off-by: "Akeem G. Abodunrin" <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Alternate MAC Address EEPROM UpdatesAkeem G. Abodunrin1-2/+2
This code check word 0x37 in the EEPROM, if it is 0xFFFF _or_ 0x0000, then there is no Alternate MAC Address in the EEPROM. Signed-off-by: "Akeem G. Abodunrin" <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06igb: Code to prevent overwriting SFP I2CAkeem G. Abodunrin1-0/+6
This patch fixes "overwrite" problem. without this fix, SFP I2C EEPROM data, which is located at A0 can be overwritten by the phy write function. Signed-off-by: "Akeem G. Abodunrin" <akeem.g.abodunrin@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06ixgbe: X540 devices RX PFC frames pause traffic even if disabledJohn Fastabend2-2/+12
Receiving PFC (priority flow control) frames while the feature is off should not pause the traffic class. On the X540 devices the traffic class react to frames if it was previously enabled because the field is incorrectly cleared. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06ixgbe: DCB X540 devices support max traffic class of 4John Fastabend2-3/+19
X540 devices can only support up to 4 traffic classes and guarantee a "lossless" traffic class on some platforms. This patch sets the X540 devices to initialize a max traffic class value of 4 at probe time. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06ixgbe: fixup hard dependencies on supporting 8 traffic classesJohn Fastabend6-34/+101
This patch correctly configures DCB when less than 8 traffic classes are available in hardware. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06ixgbe: Fix PFC mask generationMark Rustad1-1/+1
Fix PFC mask generation to OR in only a single bit for each priority in the PFC mask returned via netlink. Signed-off-by: Mark Rustad <mark.d.rustad@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06e1000e: WoL fails on device ID 0x1501Bruce Allan1-4/+6
PCI device ID 0x1501 has a hardware bug when the link downshifts for whatever reason which requires a workaround. The workaround already exists for other similar devices but is not called for 0x1501 (it should be called for any ICH8-based device that uses a GbE PHY). There is also one other instance when the workaround should be called - after disabling gigabit speed when going to Sx. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-06e1000e: WoL can fail on 82578DMBruce Allan1-5/+10
During suspend, the PHY must be reset for workaround updates to take effect without restarting auto-negotiation. Also, set the disable GbE and enable Low Power Link Up (LPLU) if the EEPROM is configured to do likewise in either D0 or non-D0a instead of just the latter. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05bnx2x: remove some dead codeDan Carpenter1-2/+0
This code is after the break statement so it never gets used. The "vlan_mac_obj" variable does get initialized properly, so we can just delete this. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05chelsio: convert to SKB paged frag API.Ian Campbell1-3/+2
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Divy Le Ray <divy@chelsio.com> Cc: Dimitris Michailidis <dm@chelsio.com> Cc: Casey Leedom <leedom@chelsio.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05cxgb3: convert to SKB paged frag API.Ian Campbell1-3/+3
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Divy Le Ray <divy@chelsio.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05myri10ge: convert to SKB paged frag API.Ian Campbell1-6/+6
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Jon Mason <mason@myri.com> Cc: Andrew Gallatin <gallatin@myri.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05hv: netvsc: convert to SKB paged frag API.Ian Campbell1-1/+1
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Cc: Hank Janssen <hjanssen@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Cc: "K. Y. Srinivasan" <kys@microsoft.com> Cc: Abhishek Kane <v-abkane@microsoft.com> Cc: devel@driverdev.osuosl.org Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05et131x: convert to SKB paged frag API.Ian Campbell1-6/+6
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Cc: Mark Einon <mark.einon@gmail.com> Cc: devel@driverdev.osuosl.org Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05xen: netfront: convert to SKB paged frag API.Ian Campbell1-15/+19
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: xen-devel@lists.xensource.com Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05xen: netback: convert to SKB paged frag API.Ian Campbell1-21/+33
netback currently uses frag->page to store a temporary index reference while processing incoming requests. Since frag->page is to become opaque switch instead to using page_offset. Add a wrapper to tidy this up and propagate the fact that the indexes are only u16 through the code (this was already true in practice but unsigned long and in were inconsistently used as variable and parameter types) Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: xen-devel@lists.xensource.com Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05vxge: convert to SKB paged frag API.Ian Campbell1-4/+4
[ Use DMA_TO_DEVICE and dma_mapping_error() -DaveM ] Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Jon Mason <jdmason@kudzu.us> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2011-10-05Merge branch 'for-linus' of git://github.com/dtor/inputLinus Torvalds1-5/+2
* 'for-linus' of git://github.com/dtor/input: Input: wacom - revert "Cintiq 21UX2 does not have menu strips"
2011-10-05Merge git://bedivere.hansenpartnership.com/git/scsi-rc-fixes-2.6Linus Torvalds2-8/+11
* git://bedivere.hansenpartnership.com/git/scsi-rc-fixes-2.6: [SCSI] libsas: fix panic when single phy is disabled on a wide port [SCSI] qla2xxx: Fix crash in qla2x00_abort_all_cmds() on unload
2011-10-05ixgbe: remove instances of ixgbe_phy_aq for 82598 and 82599Emil Tantilov3-8/+1
82598 and 82599 do not ship with this type of PHY Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05ixgbe: get pauseparam autonegMika Lansirinne1-7/+1
There is a problem in the ixgbe driver with the reporting of the flow control parameters. The autoneg parameter is shown to be of if *either* it really is off, or current modes for both tx and rx are off. The problem is seen when the parameters are read or set when the link is down. In this case, the driver sees that tx and rx are currently off and therefore autoneg parameter is incorrectly reported to be off too. Also, the ethtool binary can not set the autoneg off since it sees that it already is. When a link later comes up, the autonegotiation is carried out normally and the driver later on reports the autoneg parameter to be on (as it is) and then it can also be changed with ethtool. The patch is made against v3.0 kernel, but the problem seems to be there since v2.6.30-rc1. Reviewer comments: What we are trying to do is to disable flow control while the cable is disconnected. Since ixgbe defaults to full flow control, we call ethtool -A autoneg off rx off tx off while the cable is disconnected. This doesn't work, because the driver sets hw->fc.current_mode = ixgbe_fc_none if the cable is unplugged. ixgbe_get_pauseparam() then reports to ethtool that nothing needs to be done. The code fixes this, but it might have some unknown consequences. Signed-off-by: Mika Lansirinne <mika.lansirinne@stonesoft.com> Reviewed-by: Esa-Pekka Pyokkimies <esa-pekka.pyokkimies@stonesoft.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05ixgbe: do not disable flow control in ixgbe_check_mac_linkEmil Tantilov2-11/+0
Disabling flow control in ixgbe_check_mac_link() results in incorrect reporting by ethtool when link goes down, so remove it. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05ixgbe: send MFLCN to ethtoolEmil Tantilov1-1/+4
MFLCN register is used to set Rx flow control on parts newer than 82598. This patch sends the value of MFLCN to ethtool, so it can be used in a register dump (ethtool -d). Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05ixgbe: add support for new 82599 deviceEmil Tantilov3-0/+3
This patch adds support for new device ID. Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05ixgbe: fix driver version initialization in firmwareJacob Keller1-3/+5
This patch fixes an issue with storing the driver version for the firmware. If the os does not support the particular firmware management tools, the firmware requires a driver version to be written as 0xFFFFFFFF rather than the actual driver version. Signed-off-by: Jacob Keller <jacob.e.keller@intel.com> Tested-by: Stephen Ko <stephen.s.ko@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>