summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net: cisco-enic calls skb_set_hashTom Herbert2013-12-181-5/+6
| | | | | | | | Drivers should call skb_set_hash to set the hash and its type in an skbuff. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: cxgb4 calls skb_set_hashTom Herbert2013-12-181-2/+4
| | | | | | | | Drivers should call skb_set_hash to set the hash and its type in an skbuff. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: bnx2x calls skb_set_hashTom Herbert2013-12-181-4/+7
| | | | | | | | Drivers should call skb_set_hash to set the hash and its type in an skbuff. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: bnx2 calls skb_set_hashTom Herbert2013-12-181-1/+2
| | | | | | | | Drivers should call skb_set_hash to set the hash and its type in an skbuff. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2013-12-1812-419/+243
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to i40e, ixgbevf, ixgbe and igb. Don provides an ixgbevf patch to add DCB configuration into the queue setup so that we won't have to allocate queues in a separate place when enabling DCB. Guenter Roeck provides 2 patches for ixgbe to simplify the code by attaching hwmon sysfs attributes to hwmon device instead of PCI device. Also fix an issues where the temperature sensor attribute index was being started with the value 0 and not 1 as per the hwmon API. Carolyn provides igb patches to fix queue allocation method to accommodate changes during runtime. This includes changing how the driver initializes MSIx and checks for MSIx configuration to make it easier to reconfigure the device when queue changes happen at runtime. Neerav and Shannon fixes i40e debugfs commands that dump hex information by using print_hex_dump(). Shannon provides several i40e fixes which include the prevention of null pointer exception in the dump descriptor by checking that rings were allocated before trying to reference them. Fixed up a couple of scanfs to accept various base numbers instead of silently requiring hex. Anjali fixes up i40e where the incorrect defines were being used for misc interrupts. Alan Cox provides a fix for i40e where we assume that the resulting buffer is zero terminated when we then re-use it. The sscanf is limited to 512 bytes but needs to be 511 to allow for a terminator. Stephen Hemminger fixes i40e by making local functions static and removes unused code (i40e_aq_add/remove_vlan() functions). ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * igb: Change to use statically allocated array for MSIx entriesCarolyn Wyborny2013-12-173-29/+24
| | | | | | | | | | | | | | | | | | | | | | This patch changes how the driver initializes MSIx and checks for MSIx configuration. This change makes it easier to reconfigure the device when queue changes happen at runtime using ethtool's set_channels feature. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * igb: Fix queue allocation method to accommodate changing during runtimeCarolyn Wyborny2013-12-171-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When changing number of queues using ethtool's set_channels during runtime, a queue allocation could fail, which can leave the device in a down state. In order to preserve the usability of the device in this scenario, this patch changes the driver to allocate the number of queues only if they have not been allocated already. The first allocation is then done for the max number of queues, which is the default queues for this driver. With this change, queue quantity changes are not subject to queue allocation failures. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: Start temperature sensor attribute index with 1Guenter Roeck2013-12-171-4/+4
| | | | | | | | | | | | | | | | Per hwmon ABI, temperature sensor attribute index starts with 1, not 0. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbe: Convert to use devm_hwmon_device_register_with_groupsGuenter Roeck2013-12-172-48/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify the code. Attach hwmon sysfs attributes to hwmon device instead of pci device. Avoid race conditions caused by attributes being created after hwmon device registration. Implicitly (through hwmon API) add mandatory 'name' sysfs attribute. Other cleanup: Instead of allocating memory for hwmon attributes, move attributes and all other hwmon related data into struct hwmon_buff and allocate the entire structure using devm_kzalloc. Check return value from calls to igb_add_hwmon_attr() one by one instead of logically combining them all together. Signed-off-by: Guenter Roeck <linux@roeck-us.net> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * ixgbevf: add DCB configuration into queue setupDon Skidmore2013-12-172-138/+91
| | | | | | | | | | | | | | | | | | | | | | | | This patch takes the DCB config checks and adds them to the normal setting up of the queues. This way we won't have to allocation queues in a separate place for enabling DCB. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Tested-By: Jack Morgan<jack.morgan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: make functions static and remove dead codeStephen Hemminger2013-12-173-90/+4
| | | | | | | | | | | | | | | | | | | | | | Make local functions static in the file they are used. Remove functions i40e_aq_add_vlan and i40e_aq_remove_vlan since they are not used anywhere by current code. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: Fix off by one in i40e_dbg_command_writeAlan Cox2013-12-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | We assume that the resulting buffer is zero terminated when we then re-use it. The sscanf is limited to 512 bytes but needs to be 511 to allow for a terminator. One of a set of problems noted by Jackie Chang Signed-off-by: Alan Cox <alan@linux.intel.com> Acked-by: Shannon Nelson <Shannon.nelson@intel.com> Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: Bump version numberCatherine Sullivan2013-12-171-1/+1
| | | | | | | | | | | | | | | | Version updated to 0.3.14-k Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: Fix wrong mask bits being used in misc interruptAnjali Singhai Jain2013-12-171-2/+2
| | | | | | | | | | | | | | | | | | No functional change, but the wrong defines were being used. Change-Id: Ica2afd2dfe18154ca0f1260a508f31e372319ba7 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: more print_hex_dump useShannon Nelson2013-12-171-19/+11
| | | | | | | | | | | | | | | | | | | | Take advantage of print_hex_dump() in another couple places to clean up the code. Change-Id: Ib618e75f928308c0afd0d8d74105da0c6577a024 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: fix up scanf decodersShannon Nelson2013-12-171-3/+3
| | | | | | | | | | | | | | | | | | | | Fix up a couple of scanfs to accept various base numbers instead of silently requiring hex. Change-Id: I1cc4dffbb1d011bf603cbf34a8db093da57fad7a Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: simplify error messages for dump descriptorShannon Nelson2013-12-171-14/+2
| | | | | | | | | | | | | | | | | | | | debugfs fixes: We don't really need to give usage messages for data errors, only for invalid command errors. Change-Id: If3f74ac49e43c3ced7fd388323fa738ac145e055 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: prevent null pointer exception in dump descriptorShannon Nelson2013-12-171-0/+6
| | | | | | | | | | | | | | | | | | Check that rings were allocated before trying to reference them. Change-Id: I33151e55ab7a7a305fecdb88ccb2709ac246b7c7 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
| * i40e: Fix dump output from debugfs callsNeerav Parikh2013-12-171-53/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | The debugfs commands that dump hex information are not doing these as expected viz. "lldp get local", "nvm read", "dump debug fwdata", etc. Use print_hex_dump() instead to hex dump and remove the print buffer stuff from the code. Change-Id: I507bd8b2187aae8bad5055b7872978c309cf143e Signed-off-by: Neerav Parikh <Neerav.Parikh@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
* | net_sched: convert tcf_proto_ops to use struct list_headWANG Cong2013-12-182-11/+9
| | | | | | | | | | | | | | | | | | | | We don't need to maintain our own singly linked list code. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: convert tc_action_ops to use struct list_headWANG Cong2013-12-182-12/+10
| | | | | | | | | | | | | | | | | | | | We don't need to maintain our own singly linked list code. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: convert tcf_hashinfo to hlist and use spinlockWANG Cong2013-12-183-72/+58
| | | | | | | | | | | | | | | | | | | | | | | | So that we don't need to play with singly linked list, and since the code is not on hot path, we can use spinlock instead of rwlock. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: init struct tcf_hashinfo at register timeWANG Cong2013-12-1811-95/+97
| | | | | | | | | | | | | | | | | | | | | | It looks weird to store the lock out of the struct but still points to a static variable. Just move them into the struct. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: cls: refactor out struct tcf_ext_mapWANG Cong2013-12-1811-114/+69
| | | | | | | | | | | | | | | | | | | | | | These information can be saved in tcf_exts, and this will simplify the code. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: act: use standard struct list_headWANG Cong2013-12-1813-99/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently actions are chained by a singly linked list, therefore it is a bit hard to add and remove a specific entry. Convert it to struct list_head so that in the latter patch we can remove an action without finding its head. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net_sched: remove get_stats from tc_action_opsWANG Cong2013-12-182-5/+0
| | | | | | | | | | | | | | | | | | | | It is not used. Cc: Jamal Hadi Salim <jhs@mojatatu.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'phy_checkpatch'David S. Miller2013-12-1810-153/+153
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Florian Fainelli says: ==================== net: phy: fix checkpatch errors This patchset fixes trivial checkpatch errors, no functional change introduced. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: spi_ks8995: fix checkpatch errorsFlorian Fainelli2013-12-181-2/+2
| | | | | | | | | | | | | | | | | | | | | checkpatch spotted two errors, fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: fix checkpatch errorsFlorian Fainelli2013-12-182-139/+139
| | | | | | | | | | | | | | | | | | | | | | | | checkpatch spotted a few checkpatch errors such as whitespace damages and switch/case labels not being on the same column, fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: micrel: fix checkpath errorsFlorian Fainelli2013-12-181-2/+2
| | | | | | | | | | | | | | | | | | | | | checkpatch spotted a few spaces vs tabs errors, fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: mdio_bus: fix checkpath errorFlorian Fainelli2013-12-181-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: lxt: fix checkpath errorsFlorian Fainelli2013-12-181-2/+2
| | | | | | | | | | | | | | | | | | | | | checkpath spotted a few errors in this file, fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: icplus: fix checkpath errorFlorian Fainelli2013-12-181-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: dp83640: fix checkpath errorFlorian Fainelli2013-12-181-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: davicom: fix checkpath errorsFlorian Fainelli2013-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | checkpath spotted a few stylistic errors, fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | net: phy: cicada: fix checkpath errorsFlorian Fainelli2013-12-181-2/+2
|/ / | | | | | | | | | | | | checkpath spotted a few stylistic errors fix them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'vlan_tpid'David S. Miller2013-12-182-14/+33
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Atzm Watanabe says: ==================== packet: deliver VLAN TPID to userspace This patchset enables userspace to get VLAN TPID as well as the VLAN TCI. After the 802.1AD support, userspace packet receivers (packet dumper, software switch, and the like) need how to know VLAN TPID in order to reconstruct original tagged frame. v4: Simply use sizeof(tp_padding) for zeroing the padding bytes, commented by David Laight. Use __u16 for tp_vlan_tpid in tpacket_hdr_variant1, commented by Daniel Borkmann. v3: Add a definition which indicates whether tp_vlan_tpid is valid. Explicitly define pad bytes for tpacket{2,3}_hdr and pick the area for tp_vlan_tpid from the definition. Commented by David Laight. v2: Add BUILD_BUG_ON() to make current aligned size of struct tpacket{2,3}_hdr clear. Commented by Ben Hutchings. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | packet: deliver VLAN TPID to userspaceAtzm Watanabe2013-12-182-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | This enables userspace to get VLAN TPID as well as the VLAN TCI. Signed-off-by: Atzm Watanabe <atzm@stratosphere.co.jp> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | packet: fill the gap of TPACKET_ALIGNMENT with zerosAtzm Watanabe2013-12-182-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | struct tpacket{2,3}_hdr is aligned to a multiple of TPACKET_ALIGNMENT. Explicitly defining and zeroing the gap of this makes additional changes easier. Signed-off-by: Atzm Watanabe <atzm@stratosphere.co.jp> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | packet: make aligned size of struct tpacket{2,3}_hdr clearAtzm Watanabe2013-12-181-0/+7
|/ / | | | | | | | | | | | | | | | | | | struct tpacket{2,3}_hdr is aligned to a multiple of TPACKET_ALIGNMENT. We may add members to them until current aligned size without forcing userspace to call getsockopt(..., PACKET_HDRLEN, ...). Signed-off-by: Atzm Watanabe <atzm@stratosphere.co.jp> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'bna'David S. Miller2013-12-1814-292/+1420
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rasesh Mody says: ==================== bna: Update the Driver to v3.2.23.0 This patch set consists of feature additions like s/w timestamping support, multi-buffer RX, firmware patch simplification, enhancements for RX filters, RX processing changes, bug fixes and updates the firmware version to v3.2.3.0. The patch set addressed the review commnets recieved. This patch set updates the BNA driver to v3.2.23.0 and was tested against net-next 3.12.0-rc6 kernel. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Update the Driver Version to 3.2.23.0Rasesh Mody2013-12-181-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Firmware Patch SimplificationRasesh Mody2013-12-184-30/+626
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes change to enable firmware patch simplication feature. This feature is targeted to address the requirement to have independent patch release for firmware. Prior to the 3.2.3.0 firmware, releasing a patch fix for firmware would require changes to bna driver, to use new firmware images. However with these changes, if the new firmware is flashed on to the Adapter, the driver will use the new firmware after checking the patch release byte in the firmware version. Update the f/w version to 3.2.3.0 Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Embed SKB Length in TX VectorRasesh Mody2013-12-182-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | - Store the length of the skb buffer mapped along with the handle and use it while unmapping the buffer. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Handle the TX Setup FailuresRasesh Mody2013-12-181-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change details: - When bnad_setup_tx() returns NULL, the error is NOT returned to the caller. The caller will incorrectly assume success. So Return ENOMEM when bna_tx_create() fails. - If bnad_tx_msix_register() fails, call bna_tx_destroy() to free tx & to NULL the bnad reference to tcb. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Add NULL Check Before Dereferencing TCBRasesh Mody2013-12-181-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we already check to see whether the BNAD_TXQ_TX_STARTED cleared. But if the tcb structure which contains this flag is also already freed by that time, we would dereference the NULL pointer. This patch is to check tcb for NULL pointer, before dereferencing it. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: CQ Read FixRasesh Mody2013-12-181-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | Valid bit check for completion needs read fence, so that it does not get reordered with other loads. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: RX Processing and Config ChangesRasesh Mody2013-12-182-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Details: - Prefetch header in GRO path. This reduces napi_frags_skb time from 9% to 5%. - Changed the configurable limit of RxQ depth to 16384 (was 2048). - bnad_rx_unmap_q elements are cachealigned. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: Enable Multi Buffer RXRasesh Mody2013-12-186-125/+343
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CT2 HW supports multi-buffer Rx. This patch provides the necessary changes for bnad to use multi-buffer Rx feature. For BNAD, multi-buffer Rx is by default enabled when MTU is > 4096. For >4096 MTU, q0 data/large buffers are of 2048 size. As the resource requirements of multi-buffer Rx are different new Rx needs to be created to use this feature. ASIC posts multiple completions if frame exceeds buffer size. The last completion is marked with EOP flag. - Separate HQ and DQ enums for resource allocations and configurations. - rx_config and rxq structure changes to pass the correct info from bnad. - DQ depth need not be same as HQ depth. So CQ depth is adjusted accordingly. - Rx CFG frame size is taken from configured MTU. - Rx q0 buffer size is configured from bnad s rx_config when multi-buffer is enabled. - Poll for entire frame completion. - Once EOP completion is received gather the number of vectors used by the frame to submit it to the stack. - Changed MTU to frame size wherever necessary. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | bna: RX Filter EnhancementsRasesh Mody2013-12-185-56/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change Details: - Added bna_rx_ucast_listset() for synchronous ucast listadd operation. - Clear mac->handle before adding it to free_q. - bnad_set_rx_mode() rewritten. bnad_set_rx_mode() adds the MACs in uc_list to UCAM. If it exceeds the max supported, DEFAULT mode is turned on. If MCAM limit is exceeded, ALLMULTI mode is turned on. - Clear CF flags, check for the new mode and reprogram the Rx approach. - Added bnad_set_rx_ucast_fltr() and bnad_set_rx_mcast_fltr(). - Check for IFF_PROMISC to set the correct mode. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud