Rasesh Mody [Tue, 30 Aug 2011 15:27:42 +0000 (15:27 +0000)]
bna: Initialization and Locking Fix
Change details:
- Initialize rx_id to 0 for bnad_cleanup_rx
- Return -ENOMEM in case if bna_rx_create fails
- Count the Rx buffer allocation failures in bnad_alloc_n_post_rxbufs()
- Remove unnecessary initialization of using_dac to false in bnad_pci_probe
- Release lock if error while doing bna_num_txq_set in bnad_pci_probe
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Rasesh Mody [Tue, 30 Aug 2011 15:27:41 +0000 (15:27 +0000)]
bna: Formatting and Code Cleanup
Change details:
- Print log messages when running with reduced number of MSI-X vectors
and when defaulting to INTx mode.
- Remove BUG_ONs and header file inclusion that are not needed
- Comments addition/cleanup
- Unused code cleanup
- Add New Line to Print msg in bfa_sm_fault
- Formatting fix
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Rasesh Mody [Tue, 30 Aug 2011 15:27:40 +0000 (15:27 +0000)]
bna: TX Path and RX Path Changes
Change details:
- Add bnad_pci_unmap_skb() API to unmap skb from transmit path and update the
unmap index. Add more checks for illegal skbs in transmit path. Add tx_skb
counters for dropped skbs.
- The unmap_cons index used in bnad_free_txbufs() is incorrectly declared as
u16. It quickly wraps around and accesses null sk_buff ptr. So using u32 to
handle unmap_array.
- Disable and enable interrupts from the same polling context to prevent
reordering in Rx path.
- Add Rx NAPI debug counters.
- Make NAPI budget check more generic.
- Modify dim timer stop logic to make it dependent on cfg and run flags
- Handle reduced MSI-X vectors case in bnad_enable_msix.
- Check for single frame TSO skbs and send them out as non-TSO.
- Put memory barrier after bna_txq_prod_indx_doorbell().
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Rasesh Mody [Tue, 30 Aug 2011 15:27:39 +0000 (15:27 +0000)]
bna: Interrupt Polling and NAPI Init Changes
Change details:
- Remove unnecessary ccb check from bnad_poll_cq
- Add bnad pointer to rx_ctrl structure, so that bnad can be accessed directly
from rx_ctrl in the NAPI poll routines, even if ccb is NULL
- Validate ccb before referencing to it in bnad_msix_rx and bnad_napi_poll_rx
- Fix the order of NAPI init / uninit in Tx / Rx setup / teardown path:
a. Kill bnad tx free tasklet ahead of call to bna_tx_destroy()
b. Call NAPI disable only after call to Rx free_irq(). This makes sure Rx
interrupt does not schedule a poll when NAPI is already disabled
- NAPI poll runs before the h/w has completed configuration. This causes a
crash. Delay enabling NAPI till after bna_rx_enable(). Split NAPI
initialization into 2 steps, bnad_napi_init() & bnad_napi_enable().
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Rasesh Mody [Tue, 30 Aug 2011 15:27:38 +0000 (15:27 +0000)]
bna: PCI Probe Fix
Change details:
- Return error as -EIO if bnad_res_alloc fails
- Release the configuration lock before registering with net_device layer.
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Rasesh Mody [Tue, 30 Aug 2011 15:27:37 +0000 (15:27 +0000)]
bna: Naming Change and Minor Macro Fix
Naming changes: rename devid, BNAD_MAX_TXS, BNAD_MAX_RXS,
BNAD_MAX_RXPS_PER_RX to device, BNAD_MAX_TX, BNAD_MAX_RX,
BNAD_MAX_RXP_PER_RX respectively and change all the references.
Macro Fix: Add ioc_isr_mod_set check to bfa_nw_ioc_mbox_regisr macro
Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Huang Ying [Tue, 30 Aug 2011 15:21:30 +0000 (15:21 +0000)]
net, rds, Replace xlist in net/rds/xlist.h with llist
The functionality of xlist and llist is almost same. This patch
replace xlist with llist to avoid code duplication.
Known issues: don't know how to test this, need special hardware?
Signed-off-by: Huang Ying <ying.huang@intel.com> Cc: Chris Mason <chris.mason@oracle.com> Cc: Andy Grover <andy.grover@oracle.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:47:06 +0000 (00:47 +0000)]
r8169: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Realtek linux nic maintainers <nic_swsd@realtek.com> Cc: Francois Romieu <romieu@fr.zoreil.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:47:05 +0000 (00:47 +0000)]
qlge: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Anirban Chakraborty <anirban.chakraborty@qlogic.com> Cc: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com> Cc: Ron Mercer <ron.mercer@qlogic.com> Cc: linux-driver@qlogic.com Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:47:04 +0000 (00:47 +0000)]
qlcnic: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Anirban Chakraborty <anirban.chakraborty@qlogic.com> Cc: Sony Chacko <sony.chacko@qlogic.com> Cc: linux-driver@qlogic.com Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:47:03 +0000 (00:47 +0000)]
qla3xxx: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Ron Mercer <ron.mercer@qlogic.com> Cc: linux-driver@qlogic.com Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:47:01 +0000 (00:47 +0000)]
pasemi: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Olof Johansson <olof@lixom.net> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:46:58 +0000 (00:46 +0000)]
netxen: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Sony Chacko <sony.chacko@qlogic.com> Cc: Rajesh Borundia <rajesh.borundia@qlogic.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:46:57 +0000 (00:46 +0000)]
mv643xx: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:46:54 +0000 (00:46 +0000)]
jme: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Guo-Fu Tseng <cooldavid@cooldavid.org> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 31 Aug 2011 00:46:53 +0000 (00:46 +0000)]
ibmveth: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Santiago Leon <santil@linux.vnet.ibm.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Dmitry Kravkov [Mon, 29 Aug 2011 11:35:44 +0000 (11:35 +0000)]
bnx2x: Fix build error
On Mon, 2011-08-29 at 13:28 -0700, Randy Dunlap wrote:
> (on i386 or x86_64)
>
> drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:10148: error: 'bnx2x_fcoe_get_wwn' undeclared here (not in a function)
This should sync #define structures between definition and declaration Acked-by: Randy Dunlap <rdunlap@xenotime.net> Reported-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Beacon test flashes both port LEDs instead of just 1 LED of a port.
Updated driver version to 5.0.23.
Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Sritej Velaga [Mon, 29 Aug 2011 12:50:29 +0000 (12:50 +0000)]
qlcnic: fix cdrp race condition
Reading CRB registers(if reqd) before releasing the api lock.
Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Sritej Velaga [Mon, 29 Aug 2011 12:50:28 +0000 (12:50 +0000)]
qlcnic: Add FLT entry for CO cards FW image region
The FLT entry for FW image region has changed for C0 cards.
Updated the driver to look at the right region in the FLT.
Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Manish chopra [Mon, 29 Aug 2011 12:50:27 +0000 (12:50 +0000)]
qlcnic: Change debug messages in loopback path
Added more debug messages while loopback test in progress
Signed-off-by: Manish chopra <Manish.Chopra@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Emil Tantilov [Fri, 29 Jul 2011 06:46:15 +0000 (06:46 +0000)]
ixgbe: clear RNBC only for 82598
RNBC (0x03FC0) is only for 82598 and has different meaning
on newer HW. Make sure to only clear it for 82598.
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>
Emil Tantilov [Fri, 29 Jul 2011 06:46:10 +0000 (06:46 +0000)]
ixgbe: add check for supported modes
When setting advertised speed/duplex with ethtool.
Also cleaned up the comment since we also support 100/F.
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>
Don Skidmore [Thu, 28 Jul 2011 01:00:58 +0000 (01:00 +0000)]
ixgbe: fix ixgbe_fc_autoneg_fiber bug
A logic error in ixgbe_fc_autoneg_fiber() that treated a masked u32 as a
boolean would make it so we would never fall hit a error check case. So
now I force the u32 to a boolean value with '!!'.
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>
Don Skidmore [Sat, 30 Jul 2011 05:08:18 +0000 (05:08 +0000)]
ixgbe: cleanup feature flags in ixgbe_probe
I'm removing NETIF_F_GRO from being initialed in the feature flags during
ixgbe_probe() bases on a comment from Michal Miroslaw
<mirq-linux@rere.qmqm.pl> that it is always set by network code now.
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>
John Fastabend [Thu, 21 Jul 2011 22:43:29 +0000 (22:43 +0000)]
ixgbe: PFC not cleared on X540 devices
X540 devices do not clear PFC before sets. This results in
the device possibly responding to PFC frames that the user
has disabled. Although it would also be wrong for the peer
to be transmitting these frames. Now we clear the register
before set.
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>
John Fastabend [Mon, 18 Jul 2011 22:38:36 +0000 (22:38 +0000)]
ixgbe: consolidate, setup for multiple traffic classes
This consolidates setup code for multiple traffic classes in
the setup_tc routine.
Prep work to allow IEEE DCBX to optimize for number of traffic
classes. Also simplifies code paths.
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>
John Fastabend [Mon, 18 Jul 2011 22:38:30 +0000 (22:38 +0000)]
ixgbe: remove unneeded fdir pb alloc case
The packet buffer is correctly allocated by generic pb allocation
path in ixgbe_configure() there is no need to do the allocation
here as well.
Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
John Fastabend [Mon, 18 Jul 2011 22:38:25 +0000 (22:38 +0000)]
ixgbe: fixup remaining call sites for arbitrary TCs
One existing call sites still expect either 4 or 8 traffic
classes to be specified. This fixes this allowing arbitrary
values up to 8 to work as expected.
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>
Alexander Duyck [Wed, 20 Jul 2011 00:09:10 +0000 (00:09 +0000)]
ixgbe: Always tag VLAN tagged packets
This change is meant to fix the patch:
ixgbe: Cleanup FCOE and VLAN handling in xmit_frame_ring
And can be rolled into it if needed.
What this fixes is that VLAN tagged packets were not being tagged if they
were prio 7 which matches up with TC_PRIO_CONTROL. In order to fix it I am
just setting things up so that we always tag VLAN tagged packets.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Alexander Duyck [Wed, 29 Jun 2011 05:43:27 +0000 (05:43 +0000)]
ixgbe: Add support for setting CC bit when SR-IOV is enabled
This change makes it so that the CC bit in the descriptor is set when
SR-IOV is enabled. This is needed in order to support offloading
functionality when passing traffic over the internal TX switch.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
net: Define NETDEV_FCOE_WWNN, NETDEV_FCOE_WWPN only when CONFIG_LIBFCOE is enabled
bnx2fc driver calls netdev->netdev_ops->ndo_fcoe_get_wwn() and it may not
be defined with the current Kconfig dependencies. ndo_fcoe_get_wwn is
dependent on CONFIG_FCOE, but bnx2fc does not select CONFIG_FCOE, as it does
not depend on fcoe driver. Since both fcoe and bnx2fc drivers select
CONFIG_LIBFCOE, define NETDEV_FCOE_WWNN and NETDEV_FCOE_WWPN when
CONFIG_LIBFCOE is defined.
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Reported-by: Randy Dunlap <rdunlap@xenotime.net> Cc: Yi Zou <yi.zou@intel.com> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Yi Zou <yi.zou@intel.com> Acked-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Fri, 26 Aug 2011 09:45:40 +0000 (09:45 +0000)]
cnic: Add timeout for ramrod replies.
If the bnx2x device has encountered parity errors, the chip will not DMA
any replies. Using wait_event_timeout() will allow us to make forward
progress and let bnx2x reset the chip.
Signed-off-by: Michael Chan <mchan@broadcom.com> Reviewed-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Fri, 26 Aug 2011 09:45:39 +0000 (09:45 +0000)]
cnic, bnx2fc: Increase maximum FCoE sessions.
Increase it to NVRAM configured limit or 1024 whichever is less.
Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Based on finds for Stephen Rothwell, where current defconfig's
enable a ethernet driver and it is not compiled due to the newly
added NET_VENDOR_* component of Kconfig.
This patch enables all the "new" Kconfig options so that current
defconfig's will continue to compile the expected drivers. In
addition, by enabling all the new Kconfig options does not add
any un-expected options.
CC: Stephen Rothwll <sfc@canb.auug.org.au> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Tue, 23 Aug 2011 07:42:10 +0000 (00:42 -0700)]
drivers/net: Kconfig & Makefile cleanup
The is does a general cleanup of the drivers/net/ Kconfig and
Makefile. This patch create a "core" option and places all
the networking core drivers into this option (default is yes
for this option). In addition, it alphabitizes the Kconfig
driver options.
As a side cleanup, found that the arcnet, token ring, and PHY
Kconfig options were a tri-state option and should have been
a bool option.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Tue, 23 Aug 2011 01:04:50 +0000 (18:04 -0700)]
com20020_cs: Move the PCMCIA Arcnet driver
Move the COM20020 PCMICA Arcnet driver into drivers/net/arcnet/ with
the other Arcnet drivers. Made the necessary Kconfig and Makefile
changes as well.
Since this was the "last" PCMCIA driver in drivers/net/pcmcia/, this patch
also cleans up the references to drivers/net/pcmcia.
CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Tue, 23 Aug 2011 00:37:03 +0000 (17:37 -0700)]
ixbmtr_cs: Move the IBM PCMCIA Token Ring driver
Move the IBM PCMCIA Token Ring driver into drivers/net/tokenring/ with
the other Token Ring drivers. Made the necessary Kconfig and Makefile
changes as well.
CC: Mike Phillips <phillim@amtrak.com> CC: Burt Silverman <burts@us.ibm.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Sun, 31 Jul 2011 09:38:19 +0000 (02:38 -0700)]
ppp: Move the PPP drivers
Move the PPP drivers into drivers/net/ppp/ and make the
necessary Kconfig and Makefile changes.
CC: Paul Mackerras <paulus@samba.org> CC: Frank Cusack <fcusack@fcusack.com> CC: Michal Ostrowski <mostrows@speakeasy.net> CC: Michal Ostrowski <mostrows@earthlink.net> CC: Dmitry Kozlov <xeb@mail.ru> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Wed, 24 Aug 2011 08:34:35 +0000 (01:34 -0700)]
skfp: Fix SysKonnect FDDI driver compile issues
After moving the skfp driver, issues with the #include pathing to
their locel headers was somehow exposed. Several headers had the
incorrect path, so they were not able to be found during compile
time.
This patch fixes up the path issues to the local headers that need
to be included.
CC: "Maciej W. Rozycki" <macro@linux-mips.org> CC: Christoph Goos <cgoos@syskonnect.de> CC: <linux@syskonnect.de> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Jeff Kirsher [Sun, 31 Jul 2011 07:06:29 +0000 (00:06 -0700)]
fddi: Move the FDDI drivers
Move the FDDI drivers into drivers/net/fddi/ and make the
necessary Kconfig and Makefile changes.
CC: "Maciej W. Rozycki" <macro@linux-mips.org> CC: Christoph Goos <cgoos@syskonnect.de> CC: <linux@syskonnect.de> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Alexander Duyck [Fri, 15 Jul 2011 03:05:21 +0000 (03:05 +0000)]
ixgbe: convert rings from q_vector bit indexed array to linked list
This change converts the current bit array into a linked list so that the
q_vectors can simply go through ring by ring and locate each ring needing
to be cleaned.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Alexander Duyck [Fri, 15 Jul 2011 03:05:14 +0000 (03:05 +0000)]
ixgbe: Simplify transmit cleanup path
This patch helps to simplify the work being done by the transmit path by
removing the unnecessary compares between count and the work limit. Instead
we can simplify this by just adding a budget value that will act as a count
down from the work limit value.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Michał Mirosław [Wed, 8 Jun 2011 08:53:03 +0000 (08:53 +0000)]
ixgbevf: convert to ndo_fix_features
Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.
Since ixgbevf doesn't change hardware state on RX csum enable/disable
its reset is avoided.
Things noticed:
- HW VLAN acceleration probably can be toggled, but it's left as is
- the resets on RX csum offload change can probably be avoided
- there is A LOT of copy-and-pasted code here
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Eric Dumazet [Wed, 22 Jun 2011 05:01:35 +0000 (05:01 +0000)]
ixgbevf: provide 64 bit statistics
Compute statistics per ring using 64 bits, and provide
network device stats in 64 bits.
It should make this driver multiqueue operations faster (no more cache
line ping pongs on netdev->stats structure)
Use u64_stats_sync infrastructure so that its safe on 32bit arches as
well.
Based on a prior patch from Stephen Hemminger
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Greg Rose [Fri, 3 Jun 2011 03:53:24 +0000 (03:53 +0000)]
ixgbevf: Check if EOP has changed before using it
There is a chance that between the time EOP is read and the time it is
used another transmit on a different CPU could have run and completed,
thus leaving EOP in a bad state.
Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Bruce Allan [Fri, 19 Aug 2011 03:23:48 +0000 (03:23 +0000)]
e1000e: convert to netdev features/hw_features API
Private rx_csum flags are now duplicate of netdev->features &
NETIF_F_RXCSUM. Remove those duplicates and use the net_device_ops
ndo_set_features. This is based on the original patch submitted by
Michał Mirosław <mirq-linux@rere.qmqm.pl>
Cc: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Dean Nelson [Thu, 25 Aug 2011 14:39:24 +0000 (14:39 +0000)]
e1000: save skb counts in TX to avoid cache misses
Virtual Machines with emulated e1000 network adapter running on Parallels'
server were seeing kernel panics due to the e1000 driver dereferencing an
unexpected NULL pointer retrieved from buffer_info->skb.
The problem has been addressed for the e1000e driver, but not for the e1000.
Since the two drivers share similar code in the affected area, a port of the
following e1000e driver commit solves the issue for the e1000 driver:
e1000e: save skb counts in TX to avoid cache misses
In e1000_tx_map, precompute number of segements and bytecounts which
are derived from fields in skb; these are stored in buffer_info. When
cleaning tx in e1000_clean_tx_irq use the values in the associated
buffer_info for statistics counting, this eliminates cache misses
on skb fields.
Signed-off-by: Dean Nelson <dnelson@redhat.com> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Yaniv Rosner [Tue, 23 Aug 2011 06:33:24 +0000 (06:33 +0000)]
bnx2x: Add new PHY BCM54616
The BCM54616 PHY is very similar to the 54618SE, only without EEE support, which will not be activated due to querying the actual PHY type.
This check is already done by reading a dedicated PHY register.
Signed-off-by: Yaniv Rosner <yanivr@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Michal Schmidt [Tue, 23 Aug 2011 06:15:32 +0000 (06:15 +0000)]
bnx2x: resurrect RX hashing
bnx2x used to be able to set rxhash, but this was lost in the conversion
to hw_features (commit 66371c441).
Restore it and enable it by default.
Signed-off-by: Michal Schmidt <mschmidt@redhat.com> CC: Vladislav Zolotarov <vladz@broadcom.com> CC: Eilon Greenstein <eilong@broadcom.com> CC: Dmitry Kravkov <dmitry@broadcom.com> CC: Michał Mirosław <mirq-linux@rere.qmqm.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:15 +0000 (22:28 +0000)]
fcoe: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Robert Love <robert.w.love@intel.com> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Cc: devel@open-fcoe.org Cc: linux-scsi@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:13 +0000 (22:28 +0000)]
bnx2x: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Eilon Greenstein <eilong@broadcom.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:12 +0000 (22:28 +0000)]
bnx2: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Michael Chan <mchan@broadcom.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:11 +0000 (22:28 +0000)]
tg3: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Matt Carlson <mcarlson@broadcom.com> Cc: Michael Chan <mchan@broadcom.com> Cc: netdev@vger.kernel.org Cc: devicetree-discuss@lists.ozlabs.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:10 +0000 (22:28 +0000)]
IPoIB: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Roland Dreier <roland@kernel.org> Cc: Sean Hefty <sean.hefty@intel.com> Cc: Hal Rosenstock <hal.rosenstock@gmail.com> Cc: linux-rdma@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:09 +0000 (22:28 +0000)]
IB: nes: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Faisal Latif <faisal.latif@intel.com> Cc: Roland Dreier <roland@kernel.org> Cc: Sean Hefty <sean.hefty@intel.com> Cc: Hal Rosenstock <hal.rosenstock@gmail.com> Cc: linux-rdma@vger.kernel.org Cc: netdev@vger.kernel.org Acked-by: Faisal Latif <faisal.latif@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:08 +0000 (22:28 +0000)]
IB: amso1100: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Tom Tucker <tom@opengridcomputing.com> Cc: Steve Wise <swise@opengridcomputing.com> Cc: Roland Dreier <roland@kernel.org> Cc: Sean Hefty <sean.hefty@intel.com> Cc: Hal Rosenstock <hal.rosenstock@gmail.com> Cc: linux-rdma@vger.kernel.org Cc: netdev@vger.kernel.org Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Ian Campbell [Wed, 24 Aug 2011 22:28:07 +0000 (22:28 +0000)]
atm: convert to SKB paged frag API.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Chas Williams <chas@cmf.nrl.navy.mil> Cc: linux-atm-general@lists.sourceforge.net Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
Ben Hutchings [Wed, 24 Aug 2011 18:46:06 +0000 (18:46 +0000)]
headers, can: Add missing #include to <linux/can/bcm.h>
<linux/can/bcm.h> uses type canid_t, defined in <linux/can.h>.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Acked-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This has been tested in STA and AP mode by Florian.
Cc: David Quan <dquan@qca.qualcomm.com> Cc: Kathy Giori <kgiori@qca.qualcomm.com> Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Tested-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
carl9170: Use do_div for 64-bit division to fix 32-bit kernels
Use the do_div macro for 64-bit division. Otherwise, the module will
reference __udivdi3 under 32-bit kernels, which is not allowed in
kernel space.
drivers/built-in.o: In function `carl9170_collect_tally':
cmd.c:191: undefined reference to `__udivdi3'
cmd.c:192: undefined reference to `__udivdi3'
cmd.c:193: undefined reference to `__udivdi3'
Reported-by: Kalle Valo <kvalo@adurom.com> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Tested-by: Kalle Valo <kvalo@adurom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Here are the AR9580 1.0 initvals checksums using the
Atheros initvals-tools [1]. This is useful for when
we udate the initvals again with other values. It ensures
that we match the same initvals used internally. The
tool is documented on the wiki [2].
Cc: David Quan <dquan@qca.qualcomm.com> Cc: Kathy Giori <kgiori@qca.qualcomm.com> Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Tested-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
John W. Linville [Wed, 24 Aug 2011 19:05:14 +0000 (15:05 -0400)]
b43: correct warning for uninitialized variable 'macstat'
CC [M] drivers/net/wireless/b43/pio.o
drivers/net/wireless/b43/pio.c: In function ‘pio_rx_frame’:
drivers/net/wireless/b43/pio.c:614:6: warning: ‘macstat’ may be used uninitialized in this function
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki [Wed, 24 Aug 2011 09:52:34 +0000 (11:52 +0200)]
b43: HT-PHY: use separated function for forcing RF sequence
Comparison of the HT and N code has shown similarities in the ops
performed after b43_mac_phy_clock_set. That way we understood what is
happening in the HT-PHY code.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>