pandora-kernel.git
12 years agoMerge branch 'master' of ssh://infradead/~/public_git/wireless-next into for-davem
John W. Linville [Mon, 19 Sep 2011 19:00:16 +0000 (15:00 -0400)]
Merge branch 'master' of ssh://infradead/~/public_git/wireless-next into for-davem

12 years agotcp: md5: remove one indirection level in tcp_md5sig_pool
Eric Dumazet [Mon, 12 Sep 2011 20:28:37 +0000 (20:28 +0000)]
tcp: md5: remove one indirection level in tcp_md5sig_pool

tcp_md5sig_pool is currently an 'array' (a percpu object) of pointers to
struct tcp_md5sig_pool. Only the pointers are NUMA aware, but objects
themselves are all allocated on a single node.

Remove this extra indirection to get proper percpu memory (NUMA aware)
and make code simpler.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobna: Eliminate Small Race Condition Window in RX Path
Rasesh Mody [Fri, 16 Sep 2011 15:06:48 +0000 (15:06 +0000)]
bna: Eliminate Small Race Condition Window in RX Path

Change details:
 - In a continuous sequence of ifconfig up/down operations, there is a small
   window of race between bnad_set_rx_mode() and bnad_cleanup_rx() while the
   former tries to access rx_info->rx & the latter sets it to NULL. This race
   could lead to bna_rx_mode_set() being called with a NULL (rx_info->rx)
   pointer and a crash.
 - Hold bnad->bna_lock while setting / unsetting rx_info->rx in bnad_setup_rx()
   & bnad_cleanup_rx(), thereby eliminating the race described above.

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>
12 years agobna: Set Ring Param Fix
Rasesh Mody [Fri, 16 Sep 2011 15:06:47 +0000 (15:06 +0000)]
bna: Set Ring Param Fix

When Rx queue size is changed, queues are torn down and setup with the new queue
size. During this operation, clear promiscuous mode and restore the original
VLAN filter.

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>
12 years agobna: Semaphore Lock Fix
Rasesh Mody [Fri, 16 Sep 2011 15:06:46 +0000 (15:06 +0000)]
bna: Semaphore Lock Fix

Remove a BUG_ON() as it is not required.

Change the unconditional write to release a semaphore to read sem first
and then write. This will eliminate the possibility of sem getting locked
while trying to release it in case if previous sem_get operation failed.

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>
12 years agoixgbe: remove duplicate netif_tx_start_all_queues
Emil Tantilov [Thu, 28 Jul 2011 06:17:09 +0000 (06:17 +0000)]
ixgbe: remove duplicate netif_tx_start_all_queues

netif_tx_start_all_queues() is already called in ixgbe_up_complete, no need
to do it twice.

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>
12 years agoixgbe: fix FCRTL/H register dump for X540
Emil Tantilov [Wed, 27 Jul 2011 04:16:29 +0000 (04:16 +0000)]
ixgbe: fix FCRTL/H register dump for X540

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>
12 years agoixgbe: cleanup some register reads
Emil Tantilov [Tue, 26 Jul 2011 07:51:41 +0000 (07:51 +0000)]
ixgbe: cleanup some register reads

Remove duplicate inc of hwstats->ruc
Introduce separate loops for 8 and 16 register reads.
Consolidate mac checks under one case.
Make sure registers are cleared on read.

Reported-by: Jonathan Lynch <jonathan.lynch@thenowfactory.com>
Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
CC: Jonathan Lynch <jonathan.lynch@thenowfactory.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agoixgbe: Make better use of memory allocations in one-buffer mode w/ RSC
Alexander Duyck [Fri, 26 Aug 2011 09:52:38 +0000 (09:52 +0000)]
ixgbe: Make better use of memory allocations in one-buffer mode w/ RSC

This patch improves the memory utilization with RSC when in one-buffer
mode.  This is accomplished by making the default buffer sizes match up
with the standard memory allocation sizes minus 1K for shared info and
padding overhead.  By doing this CPU utilization when doing large receives
can be reduced by as much as 8%.

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>
12 years agoixgbe: drop adapter from ixgbe_fso call documentation
Alexander Duyck [Thu, 21 Jul 2011 00:40:56 +0000 (00:40 +0000)]
ixgbe: drop adapter from ixgbe_fso call documentation

The adapter structure was removed from the call so it can be dropped from
the ixgbe_fso documentation.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agoixgbe: Add SFP support for missed 82598 PHY
Alexander Duyck [Thu, 21 Jul 2011 00:40:51 +0000 (00:40 +0000)]
ixgbe: Add SFP support for missed 82598 PHY

One of the 82598 phys was not being correctly identified as being SFP.
This change corrects that.

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>
12 years agoixgbe: Add missing code for enabling overheat sensor interrupt
Alexander Duyck [Thu, 21 Jul 2011 00:40:45 +0000 (00:40 +0000)]
ixgbe: Add missing code for enabling overheat sensor interrupt

This change adds a small bit of missing code for enabling the overheat sensor

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agoixgbe: make ixgbe_up and ixgbe_up_complete void functions
Alexander Duyck [Thu, 21 Jul 2011 00:40:40 +0000 (00:40 +0000)]
ixgbe: make ixgbe_up and ixgbe_up_complete void functions

ixgbe_up and ixgbe_up_complete will always return 0.  Since this doesn't
provide any useful information we might as well just make them both void
and save ourselves from having to return an unused 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>
12 years agov2 ixgbe: Update packet buffer reservation to correct fdir headroom size
Alexander Duyck [Thu, 21 Jul 2011 00:40:35 +0000 (00:40 +0000)]
v2 ixgbe: Update packet buffer reservation to correct fdir headroom size

This change fixes an issue in which the incorrect amount of headroom was
being reserved for flow director filters.

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>
12 years agoixgbe: remove redundant configuration of tx_sample_rate
Alexander Duyck [Thu, 21 Jul 2011 00:40:30 +0000 (00:40 +0000)]
ixgbe: remove redundant configuration of tx_sample_rate

This change fixes a minor redundancy in that tx_sample_rate was set twice.

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>
12 years agoixgb: convert to ndo_fix_features
Michał Mirosław [Wed, 8 Jun 2011 08:39:40 +0000 (08:39 +0000)]
ixgb: convert to ndo_fix_features

Private rx_csum flags are now duplicate of netdev->features & NETIF_F_RXCSUM.
Removing this needs deeper surgery.

Things noticed:
 - ixgb has RX csum disabled by default
 - 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>
12 years agoRevert "Scm: Remove unnecessary pid & credential references in Unix socket's send...
David S. Miller [Fri, 16 Sep 2011 23:34:00 +0000 (19:34 -0400)]
Revert "Scm: Remove unnecessary pid & credential references in Unix socket's send and receive path"

This reverts commit 0856a304091b33a8e8f9f9c98e776f425af2b625.

As requested by Eric Dumazet, it has various ref-counting
problems and has introduced regressions.  Eric will add
a more suitable version of this performance fix.

Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoethtool: Update ethtool_rxnfc::rule_cnt on return from ETHTOOL_GRXCLSRLALL
Ben Hutchings [Tue, 6 Sep 2011 13:52:47 +0000 (13:52 +0000)]
ethtool: Update ethtool_rxnfc::rule_cnt on return from ETHTOOL_GRXCLSRLALL

A user-space process must use ETHTOOL_GRXCLSRLCNT to find the number
of classification rules, then allocate a buffer of the right size,
then use ETHTOOL_GRXCLSRLALL to fill the buffer.  If some other
process inserts or deletes a rule between those two operations,
the user buffer might turn out to be the wrong size.

If it's too small, the return value will be -EMSGSIZE.  But if it's
too large, there is no indication of this.  Fix this by updating
the rule_cnt field on return.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoethtool: Clean up definitions of rule location arrays in RX NFC
Ben Hutchings [Tue, 6 Sep 2011 13:49:12 +0000 (13:49 +0000)]
ethtool: Clean up definitions of rule location arrays in RX NFC

Correct the description of ethtool_rxnfc::rule_locs; it is an array
of currently used locations, not all possible valid locations.

Add note that drivers must not use ethtool_rxnfc::rule_locs.

The rule_locs argument to ethtool_ops::get_rxnfc is either NULL or a
pointer to an array of u32, so change the parameter type accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoethtool: Explicitly state that RX NFC rule locations are priorities
Ben Hutchings [Tue, 6 Sep 2011 13:48:56 +0000 (13:48 +0000)]
ethtool: Explicitly state that RX NFC rule locations are priorities

The location of an RX flow classification rule is needed to identify
it for retrieval, replacement or deletion.  However it also defines
the priority of the rule in the case that a flow is matched by
multiple rules.  This is what I intended to imply by referring to the
use of a TCAM, commonly used to implement that behaviour.

However there are other ways this can be done, and it is better to
specify this explicitly.  Further, I want to add the option for
automatic selection of rule locations.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoethtool: Make struct ethtool_rxnfc kernel-doc more self-consistent
Ben Hutchings [Tue, 6 Sep 2011 13:48:20 +0000 (13:48 +0000)]
ethtool: Make struct ethtool_rxnfc kernel-doc more self-consistent

Refer consistently to 'classification rules' or just 'rules' rather
than 'filter specifications' or 'filter rules'.

Refer consistently to rule 'locations' and not 'indices'.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agovxge: make function table const
stephen hemminger [Fri, 16 Sep 2011 11:10:01 +0000 (11:10 +0000)]
vxge: make function table const

All tables of function pointers should be const.
The pre-existing code has lots of needless indirection...

Inspired by similar change in PAX.
Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobna: make function tables cont
stephen hemminger [Fri, 16 Sep 2011 11:09:51 +0000 (11:09 +0000)]
bna: make function tables cont

To prevent malicious usage, all tables of pointers must be const.

Compile tested only.
Gleaned for PAX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agopcnet32: constify function table
stephen hemminger [Fri, 16 Sep 2011 11:06:26 +0000 (11:06 +0000)]
pcnet32: constify function table

Function tables need to be const to prevent malicious use.

This is compile tested only.
Gleaned from PAX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agowan: make LAPB callbacks const
stephen hemminger [Fri, 16 Sep 2011 11:04:29 +0000 (11:04 +0000)]
wan: make LAPB callbacks const

This is compile tested only.
Suggested by dumpster diving in PAX.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoipv6: Send ICMPv6 RSes only when RAs are accepted
Tore Anderson [Sun, 28 Aug 2011 23:47:33 +0000 (23:47 +0000)]
ipv6: Send ICMPv6 RSes only when RAs are accepted

This patch improves the logic determining when to send ICMPv6 Router
Solicitations, so that they are 1) always sent when the kernel is
accepting Router Advertisements, and 2) never sent when the kernel is
not accepting RAs. In other words, the operational setting of the
"accept_ra" sysctl is used.

The change also makes the special "Hybrid Router" forwarding mode
("forwarding" sysctl set to 2) operate exactly the same as the standard
Router mode (forwarding=1). The only difference between the two was
that RSes was being sent in the Hybrid Router mode only. The sysctl
documentation describing the special Hybrid Router mode has therefore
been removed.

Rationale for the change:

Currently, the value of forwarding sysctl is the only thing determining
whether or not to send RSes. If it has the value 0 or 2, they are sent,
otherwise they are not. This leads to inconsistent behaviour in the
following cases:

* accept_ra=0, forwarding=0
* accept_ra=0, forwarding=2
* accept_ra=1, forwarding=2
* accept_ra=2, forwarding=1

In the first three cases, the kernel will send RSes, even though it will
not accept any RAs received in reply. In the last case, it will not send
any RSes, even though it will accept and process any RAs received. (Most
routers will send unsolicited RAs periodically, so suppressing RSes in
the last case will merely delay auto-configuration, not prevent it.)

Also, it is my opinion that having the forwarding sysctl control RS
sending behaviour (completely independent of whether RAs are being
accepted or not) is simply not what most users would intuitively expect
to be the case.

Signed-off-by: Tore Anderson <tore@fud.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agocan-gw: add netlink based CAN routing
Oliver Hartkopp [Thu, 1 Sep 2011 04:23:23 +0000 (04:23 +0000)]
can-gw: add netlink based CAN routing

This patch adds a CAN Gateway/Router to route (and modify) CAN frames.

It is based on the PF_CAN core infrastructure for msg filtering and msg
sending and can optionally modify routed CAN frames on the fly.
CAN frames can *only* be routed between CAN network interfaces (one hop).
They can be modified with AND/OR/XOR/SET operations as configured by the
netlink configuration interface known e.g. from iptables. From the netlink
view this can-gw implements RTM_{NEW|DEL|GET}ROUTE for PF_CAN.

The CAN specific userspace tool to manage CAN routing entries can be found in
the CAN utils http://svn.berlios.de/wsvn/socketcan/trunk/can-utils/cangw.c
at the SocketCAN SVN on BerliOS.

Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosfc: Use correct fields of struct ethtool_coalesce
Ben Hutchings [Mon, 5 Sep 2011 07:43:49 +0000 (07:43 +0000)]
sfc: Use correct fields of struct ethtool_coalesce

An earlier developer misunderstood the meaning of the 'irq' fields and
the driver did not support the standard fields.  To avoid invalidating
existing user documentation, we report and accept changes through
either the standard or 'irq' fields.  If both are changed at the same
time, we prefer the standard field.

Also explain why we don't currently use the 'max_frames' fields.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosfc: Validate IRQ moderation parameters in efx_init_irq_moderation()
Ben Hutchings [Mon, 5 Sep 2011 07:43:04 +0000 (07:43 +0000)]
sfc: Validate IRQ moderation parameters in efx_init_irq_moderation()

Add a range check, and move the check that RX and TX are consistent
from efx_ethtool_set_coalesce().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosfc: Correct reporting and validation of TX interrupt coalescing
Ben Hutchings [Mon, 5 Sep 2011 07:42:25 +0000 (07:42 +0000)]
sfc: Correct reporting and validation of TX interrupt coalescing

The reported TX IRQ moderation is generated in a completely crazy way.
Make it simple and correct.

When channels are shared between RX and TX, TX IRQ moderation must be
the same as RX IRQ moderation, but must be specified as 0!  Allow it
to be either specified as the same, or left at its previous value
in which case it will be quietly overridden.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosfc: Use consistent types for interrupt coalescing parameters
Ben Hutchings [Mon, 5 Sep 2011 07:41:44 +0000 (07:41 +0000)]
sfc: Use consistent types for interrupt coalescing parameters

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agosfc: Correct error code for unsupported interrupt coalescing parameters
Ben Hutchings [Mon, 5 Sep 2011 07:41:27 +0000 (07:41 +0000)]
sfc: Correct error code for unsupported interrupt coalescing parameters

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMAINTAINERS: update ath6kl
Kalle Valo [Tue, 13 Sep 2011 07:21:25 +0000 (10:21 +0300)]
MAINTAINERS: update ath6kl

It's not in staging anymore and I'm the current maintainer.

Cc: Luis R. Rodriguez <mcgrof@gmail.com>
Cc: Naveen Singh <nvesing@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agomac80211: fix endian issues and comments for BAR failure handling
Felix Fietkau [Thu, 15 Sep 2011 07:37:46 +0000 (09:37 +0200)]
mac80211: fix endian issues and comments for BAR failure handling

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Cc: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: do not insert padding into tx buffers on AR9380+
Felix Fietkau [Wed, 14 Sep 2011 19:24:27 +0000 (21:24 +0200)]
ath9k: do not insert padding into tx buffers on AR9380+

With the new EDMA descriptor format, a single descriptor can contain up
to four buffer pointers. By splitting the buffer into two parts, we can
let the hardware add the padding internally instead of using memmove on
the skb data.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: optimize ath_tx_rc_status usage
Felix Fietkau [Wed, 14 Sep 2011 19:24:26 +0000 (21:24 +0200)]
ath9k: optimize ath_tx_rc_status usage

The only flag that needs to be set when ath_tx_rc_status is called with
rc_update == false is the IEEE80211_TX_STAT_TX_FILTERED flag. All other
data is ignored in that case.
This flag can be set from ath_tx_complete_buf instead, so that we can
drop a few redundant calls to ath_tx_rc_status and remove the rc_update
function parameter

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: remove a redundant check in ath_tx_form_aggr
Felix Fietkau [Wed, 14 Sep 2011 19:24:25 +0000 (21:24 +0200)]
ath9k: remove a redundant check in ath_tx_form_aggr

ath_lookup_legacy now checks all the tx rate flags for MCS vs legacy

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: optimize ath9k_ps_restore
Felix Fietkau [Wed, 14 Sep 2011 19:24:24 +0000 (21:24 +0200)]
ath9k: optimize ath9k_ps_restore

ath_hw_cycle_counters_update only needs to be called if the power state
changes. Most of the time this does not happen, even when ps_usecount
goes down to 0.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: remove the old tx descriptor API
Felix Fietkau [Wed, 14 Sep 2011 19:24:23 +0000 (21:24 +0200)]
ath9k_hw: remove the old tx descriptor API

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: use the new API for setting tx descriptors
Felix Fietkau [Wed, 14 Sep 2011 19:24:22 +0000 (21:24 +0200)]
ath9k: use the new API for setting tx descriptors

With the new API, tx descriptors can be written in one single pass
instead of having to re-read and rewrite fields from multiple places.
This makes the code easier to read and also slightly improves performance
on embedded MIPS hardware.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: add a new API for setting tx descriptors
Felix Fietkau [Wed, 14 Sep 2011 19:24:21 +0000 (21:24 +0200)]
ath9k_hw: add a new API for setting tx descriptors

Instead of using lots of different functions with long argument lists,
pull all the necessary information from one struct. This makes the code
easier to read and eliminates the need for copying data between multiple
linked descriptors.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: do not recalculate the descriptor checksum in ar9003_hw_fill_txdesc
Felix Fietkau [Wed, 14 Sep 2011 19:24:20 +0000 (21:24 +0200)]
ath9k_hw: do not recalculate the descriptor checksum in ar9003_hw_fill_txdesc

Reduces the number of accesses to uncached descriptor memory.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: call ath9k_hw_set_desc_link for beacon descriptors
Felix Fietkau [Wed, 14 Sep 2011 19:24:19 +0000 (21:24 +0200)]
ath9k: call ath9k_hw_set_desc_link for beacon descriptors

This ensures that only ath9k_hw_set_desc_link needs to recalculate the tx
descriptor checksum on AR9380+

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: move ath_buf_set_rate to remove a forward declaration
Felix Fietkau [Wed, 14 Sep 2011 19:24:18 +0000 (21:24 +0200)]
ath9k: move ath_buf_set_rate to remove a forward declaration

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: reduce the number of functions that access the tx descriptor
Felix Fietkau [Wed, 14 Sep 2011 19:24:17 +0000 (21:24 +0200)]
ath9k: reduce the number of functions that access the tx descriptor

Makes it easier to clean up the ath9k_hw descriptor API

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: remove ATH_TX_XRETRY and BUF_XRETRY flags
Felix Fietkau [Wed, 14 Sep 2011 19:24:16 +0000 (21:24 +0200)]
ath9k: remove ATH_TX_XRETRY and BUF_XRETRY flags

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: ensure that rx is not enabled during a reset
Felix Fietkau [Wed, 14 Sep 2011 19:23:03 +0000 (21:23 +0200)]
ath9k: ensure that rx is not enabled during a reset

During a reset, rx buffers are flushed after rx has been disabled. To avoid
race conditions, rx needs to stay disabled during the reset, so avoid any
calls to ath9k_hw_rxena in that case.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: make beacon timer initialization more reliable
Felix Fietkau [Wed, 14 Sep 2011 19:23:02 +0000 (21:23 +0200)]
ath9k: make beacon timer initialization more reliable

When starting the AP beacon timer, it assumes that the TSF has recently
been cleared. Set the SC_OP_TSF_RESET flag to ensure that this is always
the case.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: fix enabling interrupts after a hardware error interrupt
Felix Fietkau [Wed, 14 Sep 2011 19:23:01 +0000 (21:23 +0200)]
ath9k: fix enabling interrupts after a hardware error interrupt

The interrupt handler increases the interrupt disable refcount, so the
tasklet needs to always call ath9k_hw_enable_interrupts.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: Fix PS wrappers and enabling LED
Mohammed Shafi Shajakhan [Wed, 14 Sep 2011 09:39:40 +0000 (15:09 +0530)]
ath9k: Fix PS wrappers and enabling LED

in ath_pci_resume it seems we are not enabling LED properly, in addition
we have a PS wrapper fix for this

Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k: enable LED pin for AR946/8x chipsets
Mohammed Shafi Shajakhan [Wed, 14 Sep 2011 09:39:13 +0000 (15:09 +0530)]
ath9k: enable LED pin for AR946/8x chipsets

now the LED starts working for AR946/8x chipsets

Cc: "Balasubramanian, senthilkumar" <senthilb@qca.qualcomm.com>
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: Do full chip reset on 11A channels for AR9003
Rajkumar Manoharan [Wed, 14 Sep 2011 08:50:30 +0000 (14:20 +0530)]
ath9k_hw: Do full chip reset on 11A channels for AR9003

AR9003 seems to have issues sometimes with fast channel change
in 5GHz and this case is handled specifically for AR9280 by doing
a full reset. Let's do a full reset for 5GHz channles of AR9380
& for all channels of AR9280 pci chips.

Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: move register definitions to header files
Senthil Balasubramanian [Tue, 13 Sep 2011 17:08:19 +0000 (22:38 +0530)]
ath9k_hw: move register definitions to header files

Move the register macros to appropriate header files to be in
sync with other register definitions and also a single place
to refer everything.

Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: Add support for AR946/8x chipsets.
Senthil Balasubramanian [Tue, 13 Sep 2011 17:08:18 +0000 (22:38 +0530)]
ath9k_hw: Add support for AR946/8x chipsets.

This patch adds support for AR946/8x chipets.

Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: Split tx/rx gain table initval handling
Senthil Balasubramanian [Tue, 13 Sep 2011 17:08:17 +0000 (22:38 +0530)]
ath9k_hw: Split tx/rx gain table initval handling

Split tx/rx gain table initval hanlding part so readability
is better and easy to manage the code.

Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoath9k_hw: Add initvals and register definitions for AR946/8x chipsets.
Senthil Balasubramanian [Tue, 13 Sep 2011 17:08:16 +0000 (22:38 +0530)]
ath9k_hw: Add initvals and register definitions for AR946/8x chipsets.

Add initvals and register modifications required to support AR946/8x chipsets.

Signed-off-by: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agonl80211/cfg80211/mac80211: fix wme docs
Eliad Peller [Sun, 11 Sep 2011 06:46:55 +0000 (09:46 +0300)]
nl80211/cfg80211/mac80211: fix wme docs

Add/fix some missing docs.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
12 years agoMerge branch 'for-linville' of git://github.com/lucacoelho/wl12xx
John W. Linville [Fri, 16 Sep 2011 20:20:43 +0000 (16:20 -0400)]
Merge branch 'for-linville' of git://github.com/lucacoelho/wl12xx

12 years agoMerge git://github.com/Jkirsher/net-next
David S. Miller [Fri, 16 Sep 2011 19:18:02 +0000 (15:18 -0400)]
Merge git://github.com/Jkirsher/net-next

12 years agoMerge branch 'for-davem' of git://git.infradead.org/users/linville/wireless-next
David S. Miller [Fri, 16 Sep 2011 19:14:19 +0000 (15:14 -0400)]
Merge branch 'for-davem' of git://git.infradead.org/users/linville/wireless-next

12 years agoMerge branch 'master' of ../netdev-next/
David S. Miller [Fri, 16 Sep 2011 06:58:54 +0000 (02:58 -0400)]
Merge branch 'master' of ../netdev-next/

12 years agoixgbe: Correctly name and handle MSI-X other interrupt
Alexander Duyck [Fri, 15 Jul 2011 07:29:55 +0000 (07:29 +0000)]
ixgbe: Correctly name and handle MSI-X other interrupt

It was possible to inadvertently add additional interrupt causes to the
MSI-X other interrupt.  This occurred when things such as RX buffer overrun
events were being triggered at the same time as an event such as a Flow
Director table reinit request.  In order to avoid this we should be
explicitly programming only the interrupts that we want enabled.  In
addition I am renaming the ixgbe_msix_lsc function and interrupt to drop
any implied meaning of this being a link status only interrupt.

Unfortunately the patch is a bit ugly due to the fact that ixgbe_irq_enable
needed to be moved up before ixgbe_msix_other in order to have things
defined in the correct order.

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>
12 years agoixgbe: cleanup configuration of EITRSEL and VF reset path
Alexander Duyck [Fri, 15 Jul 2011 07:29:49 +0000 (07:29 +0000)]
ixgbe: cleanup configuration of EITRSEL and VF reset path

This change is meant to cleanup some of the code related to SR-IOV and the
interrupt registers.  Specifically I am moving the EITRSEL configuration
into the MSI-X configuration section instead of enablement.  Also I am
fixing the VF shutdown path since it had operations in the incorrect order.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
12 years agoixgbe: cleanup reset paths
Alexander Duyck [Fri, 15 Jul 2011 07:29:44 +0000 (07:29 +0000)]
ixgbe: cleanup reset paths

The reset paths are overly complicated and are either missing steps or
contain extra unnecessary steps such as reading MAC address twice.  This
change is meant to help clean up the reset paths an get things functioning
correctly.

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>
12 years agoixgbe: Update TXDCTL configuration to correctly handle WTHRESH
Alexander Duyck [Fri, 15 Jul 2011 03:06:12 +0000 (03:06 +0000)]
ixgbe: Update TXDCTL configuration to correctly handle WTHRESH

This change updated the TXDCTL configuration.  The main goal is to be much
more explicit about the configuration and avoid a possible fake TX hang
when the interrupt throttle rate is set to 0.

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>
12 years agoixgbe: combine PCI_VDEVICE and board declaration to same line
Alexander Duyck [Fri, 15 Jul 2011 03:06:06 +0000 (03:06 +0000)]
ixgbe: combine PCI_VDEVICE and board declaration to same line

This patch is a minor whitespace cleanup to compress the device ID
declaration and board type declaration onto the same line.  It seems to
make sense since all of the combinations of the two are less than 80
characters and it makes the overall layout a bit more readable.

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>
12 years agoixgbe: Drop unnecessary adapter->hw dereference in loopback test setup
Alexander Duyck [Fri, 15 Jul 2011 03:06:01 +0000 (03:06 +0000)]
ixgbe: Drop unnecessary adapter->hw dereference in loopback test setup

This patch drops a set of unnecessary dereferences to the hardware structure
since we already have a local copy of the hardware pointer.

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>
12 years agoixgbe: commonize ixgbe_map_rings_to_vectors to work for all interrupt types
Alexander Duyck [Fri, 15 Jul 2011 03:05:51 +0000 (03:05 +0000)]
ixgbe: commonize ixgbe_map_rings_to_vectors to work for all interrupt types

This patch makes it so that the map_rings_to_vectors call will work with
all interrupt types.  The advantage to this is that there will now be a
predictable mapping for all given interrupt types.

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>
12 years agoixgbe: Use ring->dev instead of adapter->pdev->dev when updating DCA
Alexander Duyck [Fri, 15 Jul 2011 03:05:46 +0000 (03:05 +0000)]
ixgbe: Use ring->dev instead of adapter->pdev->dev when updating DCA

This change switches us over to using the ring->dev pointer instead of
having to use the adapter->pdev->dev reference.  The advantage to this is
that it is a much shorter route to get the to final needed 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>
12 years agoixgbe: cleanup allocation and freeing of IRQ affinity hint
Alexander Duyck [Fri, 15 Jul 2011 03:05:37 +0000 (03:05 +0000)]
ixgbe: cleanup allocation and freeing of IRQ affinity hint

The allocation and freeing of the IRQ affinity hint needs some updates
since there are a number of spots where we run into possible issues with
the hint not being correctly updated.

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>
12 years agov2 ixgbe: consolidate all MSI-X ring interrupts and poll routines into one
Alexander Duyck [Wed, 31 Aug 2011 00:01:11 +0000 (00:01 +0000)]
v2 ixgbe: consolidate all MSI-X ring interrupts and poll routines into one

This change consolidates all of the MSI-X interrupt and polling routines
into two single functions.  One for the interrupt and one for the code.
The main advantage to doing this is that the compiler can optimize the
routines into single monolithic functions which should allow all of them
function to occupy a single block of memory and as such avoid jumping
around.

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>
12 years agoixgbe: Change default Tx work limit size to 256 buffers
Alexander Duyck [Wed, 31 Aug 2011 00:01:06 +0000 (00:01 +0000)]
ixgbe: Change default Tx work limit size to 256 buffers

This change makes it so that the default Tx work limit is 256 buffers or
1/2 of an entire ring instead of a full ring size so that it is much more
likely that we will be able to actually reach the work limit value.
Previously with the value set to an entire ring it would not have been
possible for us to trigger an event due to the fact that the Tx work is
stopped at the point where we cannot place one more buffer on the ring and
it is not restarted until cleanup is complete.

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>
12 years agonet: consolidate and fix ethtool_ops->get_settings calling
Jiri Pirko [Sat, 3 Sep 2011 03:34:30 +0000 (03:34 +0000)]
net: consolidate and fix ethtool_ops->get_settings calling

This patch does several things:
- introduces __ethtool_get_settings which is called from ethtool code and
  from drivers as well. Put ASSERT_RTNL there.
- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()
- changes calling in drivers so rtnl locking is respected. In
  iboe_get_rate was previously ->get_settings() called unlocked. This
  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same
  problem. Also fixed by calling __dev_get_by_index() instead of
  dev_get_by_index() and holding rtnl_lock for both calls.
- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()
  so bnx2fc_if_create() and fcoe_if_create() are called locked as they
  are from other places.
- use __ethtool_get_settings() in bonding code

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
v2->v3:
-removed dev_ethtool_get_settings()
-added ASSERT_RTNL into __ethtool_get_settings()
-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock
 around it and __ethtool_get_settings() call
v1->v2:
        add missing export_symbol
Reviewed-by: Ben Hutchings <bhutchings@solarflare.com> [except FCoE bits]
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/irda: sh_irda: add PM support
Kuninori Morimoto [Wed, 31 Aug 2011 20:08:48 +0000 (20:08 +0000)]
net/irda: sh_irda: add PM support

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/irda: sh_irda: update author's email address
Kuninori Morimoto [Wed, 31 Aug 2011 20:08:37 +0000 (20:08 +0000)]
net/irda: sh_irda: update author's email address

it also cleanup white space

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet/irda: sh_irda: add sh_irda_ prefix to all functions
Kuninori Morimoto [Wed, 31 Aug 2011 20:08:22 +0000 (20:08 +0000)]
net/irda: sh_irda: add sh_irda_ prefix to all functions

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Code movement
Matt Carlson [Wed, 31 Aug 2011 11:44:54 +0000 (11:44 +0000)]
tg3: Code movement

This patch just moves some code around for better organization.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Eliminate tg3_halt_cpu() prototype
Matt Carlson [Wed, 31 Aug 2011 11:44:53 +0000 (11:44 +0000)]
tg3: Eliminate tg3_halt_cpu() prototype

This patch moves the implementatino of tg3_halt_cpu() earlier in the
file to eliminate its prototype.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Eliminate tg3_write_sig_post_reset() prototype
Matt Carlson [Wed, 31 Aug 2011 11:44:52 +0000 (11:44 +0000)]
tg3: Eliminate tg3_write_sig_post_reset() prototype

This patch moves the implementation of tg3_write_sig_post_reset()
earlier to eliminate its prototype.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Eliminate tg3_stop_fw() prototype
Matt Carlson [Wed, 31 Aug 2011 11:44:51 +0000 (11:44 +0000)]
tg3: Eliminate tg3_stop_fw() prototype

This patch moves tg3_stop_fw() earlier in the file to eliminate its
prototype.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Add ability to turn off 1shot MSI
Matt Carlson [Wed, 31 Aug 2011 11:44:50 +0000 (11:44 +0000)]
tg3: Add ability to turn off 1shot MSI

In older devices, 1-shot MSI mode had to be enabled by the code.  In
newer devices however, 1-shot MSI mode is enabled by default; code would
be needed to disable it.

Disabling 1-shot MSI mode is useful when debugging.  This patch changes
the code so that the TG3_FLAG_1SHOT_MSI accurately reflects (and
controls) the state of 1-shot MSI mode.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Remove tp->rx_offset term when unneeded
Matt Carlson [Wed, 31 Aug 2011 11:44:49 +0000 (11:44 +0000)]
tg3: Remove tp->rx_offset term when unneeded

This patch removes the tp->rx_offset term if NET_IP_ALIGN is defined to
zero.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Fix missed MSI workaround
Matt Carlson [Wed, 31 Aug 2011 11:44:48 +0000 (11:44 +0000)]
tg3: Fix missed MSI workaround

This patch fixes a minor counter initialization bug and makes the MSI
workaround slightly more efficient by attempting to service pending
interrupts before applying the workaround.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agotg3: Check all adv bits when checking config
Matt Carlson [Wed, 31 Aug 2011 11:44:47 +0000 (11:44 +0000)]
tg3: Check all adv bits when checking config

This patch makes sure the driver checks all advertisement bits when
checking the current hw advertisements.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agoMII: fix Kconfig dependencies for MII
Jeff Kirsher [Wed, 14 Sep 2011 21:23:14 +0000 (21:23 +0000)]
MII: fix Kconfig dependencies for MII

MII Kconfig option is apart of the core networking drivers and
by default NET_CORE is enabled so drivers selecting MII will
have MII enabled as well.  It was found using the randconfig
option during testing, MII would be selected but NET_CORE
could be disabled.  This caused a dependency error.

Resolved the dependency by selecting NET_CORE when MII is
selected.

Reported-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: update the doc with new info about the driver's debug (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:42 +0000 (21:51 +0000)]
stmmac: update the doc with new info about the driver's debug (v3)

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: update the driver version (Aug_2011) (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:43 +0000 (21:51 +0000)]
stmmac: update the driver version (Aug_2011) (v3)

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: add HW DMA feature register (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:41 +0000 (21:51 +0000)]
stmmac: add HW DMA feature register (v3)

New GMAC chips have an extra register to indicate
the presence of the optional features/functions of
the DMA core.

This patch adds this support and all the HW cap
are exported via debugfs.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: rework the code to get the Synopsys ID (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:40 +0000 (21:51 +0000)]
stmmac: rework the code to get the Synopsys ID (v3)

The Synopsys ID is now passed from the MAC core
to the main. This info will be used for managing
the HW cap register (supported in the new GMAC
generations).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: export DMA TX/RX rings via debugfs (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:39 +0000 (21:51 +0000)]
stmmac: export DMA TX/RX rings via debugfs (v3)

This patch adds the following debugFs entry to dump the
RX/TX DMA rings:

/sys/kernel/debug/stmmaceth/descriptors_status

This is an example:

=======================
  RX descriptor ring
=======================
[0] DES0=0x85ee0320 DES1=0x1fff1fff BUF1=0x5fae2022 BUF2=0x0
[1] DES0=0x85ee0320 DES1=0x1fff1fff BUF1=0x5fae0022 BUF2=0x0
[2] DES0=0x81460320 DES1=0x1fff1fff BUF1=0x5f9dd022 BUF2=0x0

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: add MMC support exported via ethtool (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:38 +0000 (21:51 +0000)]
stmmac: add MMC support exported via ethtool (v3)

This patch adds the MMC management counters support.
MMC module is an extension of the register address
space and all the hardware counters can be accessed
via ethtoo -S ethX.

Note that, the MMC interrupts remain masked and the logic
to handle this kind of interrupt will be added later (if
actually useful).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: support wake up irq from external sources (v3)
Deepak Sikri [Thu, 1 Sep 2011 21:51:37 +0000 (21:51 +0000)]
stmmac: support wake up irq from external sources (v3)

On some platforms e.g. SPEAr the wake up irq differs from the
GMAC interrupt source.
With this patch an external wake up irq can be passed through the
platform code and named as "eth_wake_irq".

In case the wake up interrupt is not passed from the platform
so the driver will continue to use the mac irq (ndev->irq)

Signed-off-by: Deepak Sikri <deepak.sikri@st.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: remove the mmc code (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:36 +0000 (21:51 +0000)]
stmmac: remove the mmc code (v3)

DWMAC Management Counters (MMC) are not fully support.
The minimal support added in the past allowed to
only disable counters (if present) and mask their
interrupts.
This patch prepares the driver to support the MMC
removing obsolete code.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agostmmac: remove the STBus bridge setting from the GMAC code (v3)
Giuseppe CAVALLARO [Thu, 1 Sep 2011 21:51:35 +0000 (21:51 +0000)]
stmmac: remove the STBus bridge setting from the GMAC code (v3)

This patch removes a piece of code (actually commented)
only useful for some ST platforms in the past.

This kind of setting now can be done by using the platform
callbacks provided in linux/stmmac.h (see the stmmac.txt for
further details).

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years ago6LoWPAN: fix skb_copy call
alex.bluesman.smirnov@gmail.com [Thu, 1 Sep 2011 03:55:15 +0000 (03:55 +0000)]
6LoWPAN: fix skb_copy call

This patch fixes 2 issues in lowpan_skb_deliver function:
1. Check for return status of skb_copy call;
2. Use skb_copy with proper GFP flag, drop check for non-interrupt
context.

Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobr: remove redundant check and init
Jiri Pirko [Thu, 1 Sep 2011 03:29:38 +0000 (03:29 +0000)]
br: remove redundant check and init

Since these checks and initialization are done in
dev_ethtool_get_settings called later on, remove this redundancy.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomii: Remove references to DP83840 PHY in mii.h
Mark Einon [Wed, 31 Aug 2011 23:22:17 +0000 (23:22 +0000)]
mii: Remove references to DP83840 PHY in mii.h

There are references to this PHY chip in the generic mii.h header, so removing them.
Re-jiggle the changed comments, in response to points raised by Ben Hutchings.

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agomii: Convert spaces to tabs in mii.h
Mark Einon [Wed, 31 Aug 2011 23:22:16 +0000 (23:22 +0000)]
mii: Convert spaces to tabs in mii.h

Whitespace changes - spaces converted to tabs after each define name and value

Signed-off-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agonet: linkwatch: allow vlans to get carrier changes faster
Eric Dumazet [Tue, 30 Aug 2011 23:31:58 +0000 (23:31 +0000)]
net: linkwatch: allow vlans to get carrier changes faster

There is a time-lag of IFF_RUNNING flag consistency between vlan and
real devices when the real devices are in problem such as link or cable
broken.

This leads to a degradation of Availability such as a delay of failover
in HA systems using vlan since the detection of the problem at real
device is delayed.

We can avoid the linkwatch delay (~1 sec) for devices linked to another
ones, since delay is already done for the realdev.

Based on a previous patch from Mitsuo Hayasaka

Reported-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Patrick McHardy <kaber@trash.net>
Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: Tom Herbert <therbert@google.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Jesse Gross <jesse@nicira.com>
Tested-by: Mitsuo Hayasaka <mitsuo.hayasaka.hu@hitachi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
12 years agobna: Driver Version changed to 3.0.2.1
Rasesh Mody [Tue, 30 Aug 2011 15:27:48 +0000 (15:27 +0000)]
bna: Driver Version changed to 3.0.2.1

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>