openwrt/staging/blogic.git
16 years agoiwlwifi: document Tx registers
Ben Cahill [Thu, 29 Nov 2007 03:10:05 +0000 (11:10 +0800)]
iwlwifi: document Tx registers

Document Tx registers

Clean up unused definitions

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document Rx registers
Ben Cahill [Thu, 29 Nov 2007 03:10:04 +0000 (11:10 +0800)]
iwlwifi: document Rx registers

Document Rx registers

Document Tx circular buffer base registers

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document keep-warm buffer
Ben Cahill [Thu, 29 Nov 2007 03:10:03 +0000 (11:10 +0800)]
iwlwifi: document keep-warm buffer

Document keep-warm buffer

Consolidate flow handler address definitions

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document txpower calculations
Ben Cahill [Thu, 29 Nov 2007 03:10:02 +0000 (11:10 +0800)]
iwlwifi: document txpower calculations

Document txpower calculations

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: document temperature calculation
Ben Cahill [Thu, 29 Nov 2007 03:10:01 +0000 (11:10 +0800)]
iwlwifi: document temperature calculation

Document temperature calculation

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h
Ben Cahill [Thu, 29 Nov 2007 03:10:00 +0000 (11:10 +0800)]
iwlwifi: move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h

Move HT_IE_EXT_CHANNEL_* driver definitions to iwl-4965.h

Add comments to guide .h file usage (hw/api/driver definitions)

Minor comment cleanup

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: move uCode API definitions to iwl-4965-commands.h
Ben Cahill [Thu, 29 Nov 2007 03:09:59 +0000 (11:09 +0800)]
iwlwifi: move uCode API definitions to iwl-4965-commands.h

Move uCode API definitions to iwl-4965-commands.h

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: clean up unused definitions in iwl-4965-hw.h
Ben Cahill [Thu, 29 Nov 2007 03:09:58 +0000 (11:09 +0800)]
iwlwifi: clean up unused definitions in iwl-4965-hw.h

Clean up unused definitions in iwl-4965-hw.h

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Clean up unused definitions in iwl-3945-hw.h
Ben Cahill [Thu, 29 Nov 2007 03:09:57 +0000 (11:09 +0800)]
iwlwifi: Clean up unused definitions in iwl-3945-hw.h

Clean up unused definitions in iwl-3945-hw.h

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: add comments to iwl*-base.c
Cahill, Ben M [Thu, 29 Nov 2007 03:09:55 +0000 (11:09 +0800)]
iwlwifi: add comments to iwl*-base.c

Add comments to iwlXXXX-base.c

Signed-off-by: Cahill, Ben M <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: add comments, mostly on Tx queues
Cahill, Ben M [Thu, 29 Nov 2007 03:09:54 +0000 (11:09 +0800)]
iwlwifi: add comments, mostly on Tx queues

Add comments, mostly on Tx queues

Signed-off-by: Cahill, Ben M <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h
Ben Cahill [Thu, 29 Nov 2007 03:09:53 +0000 (11:09 +0800)]
iwlwifi: clean up some unused definitions in iwl-4965.h and iwl-3945.h

Clean up some unused definitions in iwl-4965.h and iwl-3945.h

Move STA_FLG_ definitions to iwl-4965-commands.h

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Partially clean-up, add comments to iwl-*-hw.h
Ben Cahill [Thu, 29 Nov 2007 03:09:52 +0000 (11:09 +0800)]
iwlwifi: Partially clean-up, add comments to iwl-*-hw.h

Partially clean-up, add comments to iwl-XXXX-hw.h

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Document Rx calibration
Ben Cahill [Thu, 29 Nov 2007 03:09:51 +0000 (11:09 +0800)]
iwlwifi: Document Rx calibration

Document Rx calibration

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Document 4965 rate_n_flags bits
Ben Cahill [Thu, 29 Nov 2007 03:09:50 +0000 (11:09 +0800)]
iwlwifi: Document 4965 rate_n_flags bits

Document 4965 rate_n_flags bits

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Add comments to some driver data structures
Ben Cahill [Thu, 29 Nov 2007 03:09:49 +0000 (11:09 +0800)]
iwlwifi: Add comments to some driver data structures

Add comments to some driver data structures

Remove unused "sched_retry" member from struct iwl3945_tx_queue

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h
Ben Cahill [Thu, 29 Nov 2007 03:09:48 +0000 (11:09 +0800)]
iwlwifi: Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h

Move is_legacy() macro family from iwl-4965-hw.h to iwl-4965-rs.h

These macros are for driver's rate scaling implementation, and are not
related to hardware or uCode API values (moved from iwl-4965-hw.h).

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: clean up and clarify some comments after 3945/4965 split
Ben Cahill [Thu, 29 Nov 2007 03:09:47 +0000 (11:09 +0800)]
iwlwifi: clean up and clarify some comments after 3945/4965 split

Clean up and clarify some comments after 3945/4965 split.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl-4965-hw.h: clean up unused eeprom structures and definitions
Ben Cahill [Thu, 29 Nov 2007 03:09:46 +0000 (11:09 +0800)]
iwl-4965-hw.h: clean up unused eeprom structures and definitions

Clean up unused eeprom structures and definitions in iwl-4965-hw.h.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: add comments to EEPROM stuff
Ben Cahill [Thu, 29 Nov 2007 03:09:45 +0000 (11:09 +0800)]
iwlwifi: add comments to EEPROM stuff

Add comments to EEPROM stuff.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: add comments to rate scaling code
Ben Cahill [Thu, 29 Nov 2007 03:09:44 +0000 (11:09 +0800)]
iwl4965: add comments to rate scaling code

Add comments to rate scaling code.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: re-align 3945 event log data
Ben Cahill [Thu, 29 Nov 2007 03:09:43 +0000 (11:09 +0800)]
iwl3945: re-align 3945 event log data

Re-align 3945 event log data.

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: continue namespace changes - fix CONFIG variables
Reinette Chatre [Thu, 29 Nov 2007 03:09:42 +0000 (11:09 +0800)]
iwlwifi: continue namespace changes - fix CONFIG variables

- Remove HT code from iwl-3945.h - it is not needed here as 3945
  does not support HT. The code ended up here during the header file
  split.
- Modify a few places where the CONFIG variables were named
  incorrectly: all changes are to comments only.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: Support for uCode without init and bsm section
Tomas Winkler [Thu, 29 Nov 2007 03:09:41 +0000 (11:09 +0800)]
iwlwifi: Support for uCode without init and bsm section

This patch enables loading fw w/o init and bsm section. It also provides
general cleanup of the rutine.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Release rt2x00 2.0.13
Ivo van Doorn [Tue, 27 Nov 2007 20:52:13 +0000 (21:52 +0100)]
rt2x00: Release rt2x00 2.0.13

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Cleanup rfkill
Ivo van Doorn [Tue, 27 Nov 2007 20:51:57 +0000 (21:51 +0100)]
rt2x00: Cleanup rfkill

The label exit_free_polldev is no longer used and can be removed.
input_free_polled_device() also calls input_free_device(), so
don't call it seperatly.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Remove redundant code in rfkill setup
Larry Finger [Tue, 27 Nov 2007 20:51:39 +0000 (21:51 +0100)]
rt2x00: Remove redundant code in rfkill setup

In rt2x00rfkill.c, routine input_allocate_device() is called even though
input_allocate_polled_device(), which was just called, includes a call to
that routine. This patch, which has not been tested, removes the redundant code.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Only update rssi average approximation on receiving beacon frames.
Mattias Nissler [Tue, 27 Nov 2007 20:50:26 +0000 (21:50 +0100)]
rt2x00: Only update rssi average approximation on receiving beacon frames.

Restrict rssi average updating to beacon frames of the bssid the
interface is
associated with. Without this restriction, strong signals belonging to other
BSS, e.g. beacon frames coming from a nearby AP, would cause incorrectly high
rssi approximation values. This would then cause the link tuner to reduce
sensitivity, resulting in transmissions from the BSS associated to to be
missed.

Signed-off-by: Mattias Nissler <mattias.nissler@gmx.de>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Use IEEE80211_IF_TYPE_INVALID directly
Ivo van Doorn [Tue, 27 Nov 2007 20:49:50 +0000 (21:49 +0100)]
rt2x00: Use IEEE80211_IF_TYPE_INVALID directly

No need to use a seperate define INVALID_INTERFACE while
we can use IEEE80211_IF_TYPE_INVALID directly.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Add TX/RX frame dumping facility
Ivo van Doorn [Tue, 27 Nov 2007 20:49:29 +0000 (21:49 +0100)]
rt2x00: Add TX/RX frame dumping facility

This adds TX/RX frame dumping capabilities through debugfs.
The intention is that with this approach debugging of rt2x00 is
simplified since _all_ frames going in and out of the device
are send to debugfs as well along with additional information
like the hardware descriptor.

Based on the patch by Mattias Nissler.
Mattias also has some tools that will make the dumped frames
available to wireshark: http://www-user.rhrk.uni-kl.de/~nissler/rt2x00/

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Add skb descriptor
Ivo van Doorn [Thu, 24 Jan 2008 09:56:25 +0000 (01:56 -0800)]
rt2x00: Add skb descriptor

Use the skb->cb field to add a frame description that can be used
to transfer information passed each rt2x00 layer. This reduces the
required arguments for rt2x00lib_write_tx_desc().

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agort2x00: Add chipset version to chipset debugfs entry
Ivo van Doorn [Tue, 27 Nov 2007 20:48:37 +0000 (21:48 +0100)]
rt2x00: Add chipset version to chipset debugfs entry

The chipset debugfs entry already indicates it is about the chipset,
it only makes sense to also display the chipset version in there.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move register value/offset files into new folder
Ivo van Doorn [Tue, 27 Nov 2007 20:48:16 +0000 (21:48 +0100)]
rt2x00: Move register value/offset files into new folder

Cleanup debugfs interface by moving the csr/bbp/rf/eeprom value/offset
entries into the "register" folder.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Extend PLCP descriptor definition for rt2400pci
Ivo van Doorn [Tue, 27 Nov 2007 20:47:56 +0000 (21:47 +0100)]
rt2x00: Extend PLCP descriptor definition for rt2400pci

Extend word field definitions for the PLCP words
in the TX descriptor to contain the BBP fields as well.
This will remove rt2400pci_write_tx_desc() from the
checkstack script.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Replace DRV_NAME with KBUILD_MODNAME
Ivo van Doorn [Tue, 27 Nov 2007 20:47:34 +0000 (21:47 +0100)]
rt2x00: Replace DRV_NAME with KBUILD_MODNAME

DRV_NAME was always set to the KBUILD_MODNAME value,
lets clean everything up by removing DRV_NAME and just
use KBUILD_MODNAME directly.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: reinit on too many PHY TX errors
Stefano Brivio [Sat, 24 Nov 2007 22:35:25 +0000 (23:35 +0100)]
b43legacy: reinit on too many PHY TX errors

Restart the hardware on too many PHY TX errors. A thousand PHY TX errors
per 15 seconds means we won't be able to recover for sure.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: include full 64-bit timestamp in monitor mode
Johannes Berg [Sat, 24 Nov 2007 20:11:09 +0000 (21:11 +0100)]
b43legacy: include full 64-bit timestamp in monitor mode

When monitor mode is enabled, this will make b43legacy read out
the full 64-bit MAC time from the chip for each received packet.

This patch has been ported from b43.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: properly fix a bogus gcc warning
Frank Lichtenheld [Sat, 24 Nov 2007 20:11:08 +0000 (21:11 +0100)]
b43legacy: properly fix a bogus gcc warning

Use initialized_var() to properly fix a bogus gcc warning.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Cc: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Changes to enable BCM4311 rev 02 with wireless core revision 13
Larry Finger [Mon, 26 Nov 2007 16:29:47 +0000 (10:29 -0600)]
b43: Changes to enable BCM4311 rev 02 with wireless core revision 13

The BCM94311MCG rev 02 chip has an 802.11 core with revision 13 and
has not been supported until now. The changes include the following:

(1) Add the 802.11 rev 13 device to the ssb_device_id table to load b43.
(2) Add PHY revision 9 to the supported list.
(3) Change the 2-bit routing code for address extensions to 0b10 rather
    than the 0b01 used for the 32-bit case.
(4) Remove some magic numbers in the DMA setup.

The DMA implementation for this chip supports full 64-bit addressing with
one exception. Whenever the Descriptor Ring Buffer is in high memory, a
fatal DMA error occurs. This problem was not present in 2.6.24-rc2 due
to code to "Bias the placement of kernel pages at lower PFNs". When
commit 44048d70 reverted that code, the DMA error appeared. As a "fix",
use the GFP_DMA flag when allocating the buffer for 64-bit DMA. At present,
this problem is thought to arise from a hardware error.

This patch has been tested on my system and by Cédric Caumont
<icare40@hotmail.com>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: reinit on too many PHY TX errors
Stefano Brivio [Sun, 25 Nov 2007 10:10:33 +0000 (11:10 +0100)]
b43: reinit on too many PHY TX errors

Restart the hardware on too many PHY TX errors. A thousand PHY TX errors
per 15 seconds means we won't be able to recover for sure.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: include FCS in frames handed to mac80211
Johannes Berg [Sat, 24 Nov 2007 14:06:33 +0000 (15:06 +0100)]
b43: include FCS in frames handed to mac80211

Sometimes it can be useful to see the FCS, especially when
bad-FCS frames are shown. Pass the FCS to mac80211 and let
it worry about snipping it off when required.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: include full 64-bit timestamp in monitor mode
Johannes Berg [Fri, 23 Nov 2007 13:50:51 +0000 (14:50 +0100)]
b43: include full 64-bit timestamp in monitor mode

When monitor mode is enabled, this will make b43 read out the
full 64-bit MAC time from the chip for each received packet.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: less eventcause shifts
Holger Schurig [Wed, 28 Nov 2007 08:15:11 +0000 (09:15 +0100)]
libertas: less eventcause shifts

* only shift eventcause once

* convert mac events to decimal, as this is what the firmware
  manual uses in section 6.1, too

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove user-specified channel list
Holger Schurig [Wed, 28 Nov 2007 16:30:21 +0000 (17:30 +0100)]
libertas: remove user-specified channel list

Remove the ability to specify channels to scan via debugfs

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove numprobes
Holger Schurig [Wed, 28 Nov 2007 16:29:36 +0000 (17:29 +0100)]
libertas: remove numprobes

Remove the ability to specify number of probes via debugfs

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: tweak tx path debugging
Holger Schurig [Wed, 28 Nov 2007 13:08:12 +0000 (14:08 +0100)]
libertas: tweak tx path debugging

Make two functions in the TX packet path emit
their debug messages with LBS_DEB_TX, not LBS_DEB_MAIN.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: tweak association debug output
Holger Schurig [Wed, 28 Nov 2007 13:05:02 +0000 (14:05 +0100)]
libertas: tweak association debug output

Change debug output codes from LBS_DEB_JOIN to LBS_DEB_ASSOC

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: rework event subscription
Holger Schurig [Mon, 26 Nov 2007 09:07:14 +0000 (10:07 +0100)]
libertas: rework event subscription

This patch moves re-works the implementation of event subscription
via debugfs. For this:

* it tells cmd.c and cmdresp.c about CMD_802_11_SUBSCRIBE_EVENT
* removes lots of low-level cmd stuff from debugfs.c
* create unified functions to read/write snr, rssi, bcnmiss and
  failcount
* introduces #define's for subscription event bitmask values
* add a function to search for a specific element in an IE
  (a.k.a. TLV)
* add a function to find out the size of the TLV. This is needed
  because lbs_prepare_and_send_command() has an argument for a
  data buffer, but not for it's lengths and TLVs can be, by
  definition, vary in size.
* fix a bug where it was not possible to disable an event

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: remove arbitrary typedefs
Holger Schurig [Fri, 23 Nov 2007 14:43:44 +0000 (15:43 +0100)]
libertas: remove arbitrary typedefs

New typedefs are usually frowned upon. This patch changes
libertas_adapter -> struct libertas_adapter
libertas_priv -> struct libertas_priv

While passing, make everything checkpatch.pl-clean that gets touches.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: configurable beacon interval
Brajesh Dave [Tue, 20 Nov 2007 22:44:28 +0000 (17:44 -0500)]
libertas: configurable beacon interval

Requires firmware version 5.110.19.p0 or newer, available here:
http://dev.laptop.org/pub/firmware/libertas/

Signed-off-by: Ashish Shukla <ashishs@marvell.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: separate mesh connectivity from that of the main interface
Brajesh Dave [Tue, 20 Nov 2007 22:44:14 +0000 (17:44 -0500)]
libertas: separate mesh connectivity from that of the main interface

The transmit and receive traffic as soon as the mesh interface is
brought up.

Test case 1:  Bring up only the mesh interface and ping.  No need for
any iwconfig commands on the main interface.

$ ifconfig msh0 192.168.5.3
$ iwconfig msh0 channel X
$ ping 192.168.5.2
If ping succeeds, PASS

Test case 2:  Associate with the main interface, and turn off AP.  Mesh
interface should not lose connectivity.

$ iwconfig eth0 mode managed essid "my_ssid"
$ ifconfig msh0 192.168.5.3
$ ping 192.168.5.2
<turn off access point>
If ping continues uninterrupted, PASS

This feature requires firmware version 5.110.19.p0 or newer, available
here: http://dev.laptop.org/pub/firmware/libertas/

Signed-off-by: Ashish Shukla <ashishs@marvell.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: nuke useless variable usbdriver_name and useless comments
Andres Salomon [Tue, 20 Nov 2007 22:44:04 +0000 (17:44 -0500)]
libertas: nuke useless variable usbdriver_name and useless comments

I think it was pretty obvious what fields in if_usb_driver are...

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: reset devices upon disconnect rather than module unloading
Andres Salomon [Tue, 20 Nov 2007 22:43:55 +0000 (17:43 -0500)]
libertas: reset devices upon disconnect rather than module unloading

1) Do not reset libertas devices upon module unload.  We're unloading
the module, we're not killing off devices.
2) Instead, reset libertas devices inside if_usb_disconnect, as we're
killing off interfaces and so on.
3) Resetting via disconnect callback means we no longer need to keep
track of probed libertas devices; kill off that list (and its wonderful
lack of locking..), as well.

Drop a useless comment as well.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: mark module_init/exit functions as __init/__exit
Andres Salomon [Tue, 20 Nov 2007 22:43:45 +0000 (17:43 -0500)]
libertas: mark module_init/exit functions as __init/__exit

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: drop useless default_fw_name variable
Andres Salomon [Tue, 20 Nov 2007 22:43:32 +0000 (17:43 -0500)]
libertas: drop useless default_fw_name variable

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: add copyright notices
Daniel Drake [Mon, 19 Nov 2007 16:20:12 +0000 (16:20 +0000)]
zd1211rw: add copyright notices

Requested by Michael Wu.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: Add ID for Trendnet TEW-429UB A
Daniel Drake [Mon, 19 Nov 2007 15:29:24 +0000 (15:29 +0000)]
zd1211rw: Add ID for Trendnet TEW-429UB A

Tested by chloubs on IRC
zd1211 chip 157e:300a v4810 high 00-11-e0 AL7230B_RF pa0 g----

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: port to mac80211
Daniel Drake [Mon, 19 Nov 2007 15:00:29 +0000 (15:00 +0000)]
zd1211rw: port to mac80211

This seems to be working smoothly now. Let's not hold back the mac80211
transition any further. This patch ports the existing driver from softmac
to mac80211.

Many thanks to everyone who helped out with the porting efforts.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: clean up association debug messages
Holger Schurig [Mon, 15 Oct 2007 10:55:56 +0000 (12:55 +0200)]
libertas: clean up association debug messages

This makes the debug output of all association stuff clearer by:

* adding some lbs_deb_enter()/lbs_deb_leave() calls
* printing the return level in one place
* lower-casing some string

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move to uniform lbs_/LBS_ namespace
Holger Schurig [Thu, 15 Nov 2007 23:05:47 +0000 (18:05 -0500)]
libertas: move to uniform lbs_/LBS_ namespace

This patch unifies the namespace of variables, functions defines
and structures. It does:

- rename libertas_XXX to lbs_XXX
- rename LIBERTAS_XXX to lbs_XXX
- rename wlan_XXX to lbs_XXX
- rename WLAN_XXX to LBS_XXX (but only those that were
  defined in libertas-local *.h files, e.g. not defines
  from net/ieee80211.h)

While passing, I fixed some checkpatch.pl errors too.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove redundant initialization of final_mode
John W. Linville [Thu, 15 Nov 2007 21:27:36 +0000 (16:27 -0500)]
iwlwifi: remove redundant initialization of final_mode

Problem identified by Miguel Botón <mboton.lkml@gmail.com>, alternate
solution suggested by Zhu Yi <yi.zhu@intel.com>, patch by me. :-)

Cc: Miguel Botón <mboton.lkml@gmail.com>
Cc: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Remove the old, now unused, data structures
Larry Finger [Fri, 9 Nov 2007 22:58:20 +0000 (16:58 -0600)]
ssb: Remove the old, now unused, data structures

The old, now unused, data structures and SPROM extraction routines
are removed.

Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:57:34 +0000 (16:57 -0600)]
b43legacy: Convert to use of the new SPROM structure

The b43legacy driver is modified to use the new SPROM structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:57:18 +0000 (16:57 -0600)]
b43: Convert to use of the new SPROM structure

The b43 driver is modified to use the new SPROM structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob44: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:56:10 +0000 (16:56 -0600)]
b44: Convert to use of the new SPROM structure

The b44 driver is changed to use the new SPROM data structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:56:25 +0000 (16:56 -0600)]
ssb: Convert to use of the new SPROM structure

In disagreement with the SPROM specs, revision 3 devices appear to have
moved the MAC address.

Change ssb to handle the revision 4 SPROM, which is a different size.
This change in size is handled by adding a new variable to the ssb_sprom
struct and using it whenever possible. For those routines that do not
have access to this structure, a 'u16 size' argument is added.

The new PCI_ID for the BCM4328 is also added.

Testing of the Revision 4 SPROM, which is used on the BCM4328, was done
by Michael Gerdau <mgerdau@tiscali.de>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Add new SPROM structure while keeping the old
Larry Finger [Fri, 9 Nov 2007 22:54:45 +0000 (16:54 -0600)]
ssb: Add new SPROM structure while keeping the old

The SPROM's for various devices utilizing the Sonics Silicon Backplane come
with various revisions. The Revision 2 SPROM inherited the data layout of 1, and
Revision 3 inherited the layout of 2. The first instance of Revision 4 has
now been found in a BCM4328 wireless LAN card. This device does not inherit any
layout from previous versions. Although it was possible to create a data
structure that kept all the old layouts, we decided to start fresh, keep only
those SPROM variables that are used by the drivers that utilize ssb, and to
do the conversion in such a manner that neither compilation or execution will
be affected if a bisection lands in the middle of these changes, while keeping
the patches as small as possible.

In this patch, the sprom structures are changed while maintaining the old ones.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move duplicate code into rt2x00pci_txdone()
Ivo van Doorn [Mon, 12 Nov 2007 14:02:40 +0000 (15:02 +0100)]
rt2x00: Move duplicate code into rt2x00pci_txdone()

rt2400pci, rt2500pci and rt61 require different
txdone handling, but the code that pushes the frame
upstream and cleans up the entry is identical to
all of them.
This will create the function rt2x00pci_txdone()
to remove the duplicate code.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed
Zhu Yi [Mon, 12 Nov 2007 03:37:43 +0000 (11:37 +0800)]
iwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed

The patch fixes a bug that enables RXON_FLG_TGG_PROTECT_MSK erroneously
for A mode in the erp_ie_changed mac80211 callback.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: silence a bogus gcc warning
Frank Lichtenheld [Mon, 12 Nov 2007 10:12:52 +0000 (11:12 +0100)]
b43: silence a bogus gcc warning

use uninitialized_var() to avoid the following bogus warning:
  CC [M]  drivers/net/wireless/b43/debugfs.o
drivers/net/wireless/b43/debugfs.c: In function ‘b43_debugfs_read’:
drivers/net/wireless/b43/debugfs.c:355: warning: ‘ret’ may be used uninitialized in this function

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: fix kconfig dependecies for rfkill and leds
Stefano Brivio [Wed, 7 Nov 2007 23:28:00 +0000 (00:28 +0100)]
b43legacy: fix kconfig dependecies for rfkill and leds

Fix dependencies for built-in b43legacy.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200
Reinette Chatre [Wed, 7 Nov 2007 06:06:28 +0000 (22:06 -0800)]
MAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200

Also fix Zhu Yi's name.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoremove unused iwl4965_init_hw_rates function
Zhu Yi [Wed, 7 Nov 2007 06:06:27 +0000 (22:06 -0800)]
remove unused iwl4965_init_hw_rates function

The patch removes the unused function to fix a recursive bug caused
by namespace change.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: cleanup namespace
Christoph Hellwig [Mon, 28 Jan 2008 00:41:47 +0000 (16:41 -0800)]
iwlwifi: cleanup namespace

Prefix all symbols with iwl3945_ or iwl4965_ and thus allow building
the driver into the kernel. Also remove all the useless default
statements in Kconfig while we're at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwl4965: fix cannot find a suitable rate issue
Mohamed Abbas [Wed, 7 Nov 2007 06:06:25 +0000 (22:06 -0800)]
iwl4965: fix cannot find a suitable rate issue

This patch fixes the iwl4965 problem for "Can not find a suitable rate
issues." by making rs_switch_to_mimo and rs_switch_to_siso functions
return -1 when CONFIG_IWL4965_HT is not selected. They used to return 0,
which means we can switch to HT rate causing the rate scale problem and
the error message.

The patch also fix another bug reported by Ben Cahill that it uses wrong
value for max_success_limit.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL
Zhu Yi [Wed, 7 Nov 2007 06:06:24 +0000 (22:06 -0800)]
iwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL

Replace 0x8086 with PCI_VENDOR_ID_INTEL for PCI_DEVICE declaration.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43/b43legacy: fix my copyright notices
Stefano Brivio [Tue, 6 Nov 2007 21:49:20 +0000 (22:49 +0100)]
b43/b43legacy: fix my copyright notices

Fix my copyright notices in b43 and b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Cc: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: rewrite A PHY initialization
Stefano Brivio [Tue, 6 Nov 2007 21:49:05 +0000 (22:49 +0100)]
b43: rewrite A PHY initialization

Rewrite and sync A PHY initialization with specs, thus allowing for further
work to be done on 802.11a support. Note that A PHY initialization involves
G PHYs as well.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: rewrite and fix rfkill initialization
Stefano Brivio [Tue, 6 Nov 2007 21:48:45 +0000 (22:48 +0100)]
b43legacy: rewrite and fix rfkill initialization

The rfkill subsystem doesn't like code like that
rfkill_allocate();
rfkill_register();
rfkill_unregister();
rfkill_register(); /* <- This will crash */

This sequence happens with
modprobe b43
ifconfig wlanX up
ifconfig wlanX down
ifconfig wlanX up

Fix this by always re-allocating the rfkill stuff before register.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: use a consistent naming scheme for the ops
Stefano Brivio [Tue, 6 Nov 2007 21:48:25 +0000 (22:48 +0100)]
b43legacy: use a consistent naming scheme for the ops

Use a consistent naming scheme for the ops.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: use the retry limits provided by mac80211
Stefano Brivio [Tue, 6 Nov 2007 21:48:12 +0000 (22:48 +0100)]
b43legacy: use the retry limits provided by mac80211

Use the retry limits provided by mac80211.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoSGISEEQ: use cached memory access to make driver work on IP28
Thomas Bogendoerfer [Sat, 24 Nov 2007 12:29:19 +0000 (13:29 +0100)]
SGISEEQ: use cached memory access to make driver work on IP28

SGI IP28 machines would need special treatment (enable adding addtional
wait states) when accessing memory uncached. To avoid this pain I changed
the driver to use only cached access to memory.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Don't enable RX/TX without a link (if possible)
Olof Johansson [Thu, 29 Nov 2007 02:58:25 +0000 (20:58 -0600)]
pasemi_mac: Don't enable RX/TX without a link (if possible)

pasemi_mac: Don't enable RX/TX without a link (if possible)

Don't enable RX/TX of packets until we have a link, since there's a chance
we'll just get RX frame errors, etc.

The case where we don't have a PHY we can't do much about: Just enable
it and deal with errors as they come in.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Print warning when not attaching to a PHY
Olof Johansson [Thu, 29 Nov 2007 02:58:06 +0000 (20:58 -0600)]
pasemi_mac: Print warning when not attaching to a PHY

pasemi_mac: Print warning when not attaching to a PHY

Print a warning on the console when not connecting to a phy for an interface.
It turns out to be a pretty common problem when someone gets the MDIO info
wrong in their device tree, resulting in the macs running at a fixed 1Gbit FD.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Remove SKB copy/recycle logic
Olof Johansson [Thu, 29 Nov 2007 02:57:56 +0000 (20:57 -0600)]
pasemi_mac: Remove SKB copy/recycle logic

pasemi_mac: Remove SKB copy/recycle logic

It doesn't really buy us much, since copying is about as expensive
as the allocation in the first place. Just remove it for now.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: SKB unmap optimization
Olof Johansson [Thu, 29 Nov 2007 02:57:45 +0000 (20:57 -0600)]
pasemi_mac: SKB unmap optimization

pasemi_mac: SKB unmap optimization

Avoid touching skb_shinfo() in the unmap path, since it turns out to
normally cause cache misses and delays. instead, save number of fragments
in the TX_RING_INFO structures since that's all that's needed anyway.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Software-based LRO support
Olof Johansson [Thu, 29 Nov 2007 02:57:27 +0000 (20:57 -0600)]
pasemi_mac: Software-based LRO support

pasemi_mac: Software-based LRO support

Implement LRO for pasemi_mac. Pretty straightforward.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Improve RX interrupt mitigation
Olof Johansson [Thu, 29 Nov 2007 02:57:09 +0000 (20:57 -0600)]
pasemi_mac: Improve RX interrupt mitigation

pasemi_mac: Improve RX interrupt mitigation

Currently the receive side interrupts will go off on the reception of
a packet, NAPI will poll the ring and keep polling as long as there's
a decent amount of packets to receive.

This is less than optimal, especially for LRO where it's better if we
have a more substantial amount of packets to process at once, to get
the real LRO benefits.

So, set the count threshold to a higher value and use the timeout feature
that will give us an interrupt even if not enough packets have come in
to set off the count threshold.

FIXME: It'd be real nice to have ethtool support for users to tune this
at runtime.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Fix TX cleaning
Olof Johansson [Thu, 29 Nov 2007 02:56:54 +0000 (20:56 -0600)]
pasemi_mac: Fix TX cleaning

pasemi_mac: Fix TX cleaning

This is a bit awkward. We don't have a timer-delayed interrupt on TX
complete, but we have a count threshold. So set that reasonably high
(32 packets), and schedule the NAPI poll when it goes off. Also bump a
regular timer that will take care of rotting packets for the last 1..31
ones in case we don't trigger a TX interrupt (and there's no RX activity
that would otherwise trigger the poll).

The longer-term fix is to separate TX from RX NAPI and do two separate
poll loops.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: performance tweaks
Olof Johansson [Thu, 29 Nov 2007 02:56:41 +0000 (20:56 -0600)]
pasemi_mac: performance tweaks

pasemi_mac: performance tweaks

* Seems like we do better with a smaller RX ring, probably because chances of
  still having the SKB cached are better
* Const-ify variables to get better code generation and fewer reloads
* Move prefetching around a little, and try to prefetch the whole SKB
* Set NETIF_F_HIGHDMA
* Misc other minor tweaks

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Convert to new dma library
Olof Johansson [Thu, 29 Nov 2007 02:56:32 +0000 (20:56 -0600)]
pasemi_mac: Convert to new dma library

pasemi_mac: Convert to new dma library

Convert the pasemi_mac driver to the new platform global DMA manaagement
library. This also does a couple of other minor cleanups w.r.t. channel
management.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi: DMA engine management library
Olof Johansson [Thu, 29 Nov 2007 02:56:20 +0000 (20:56 -0600)]
pasemi: DMA engine management library

pasemi: DMA engine management library

Introduce a DMA management library to manage the various DMA resources
on the PA Semi SoCs. Since several drivers need to allocate these shared
resources, provide some abstractions as well as allocation/free functions
for channels, etc.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Move register definitions to include/asm-powerpc
Olof Johansson [Thu, 29 Nov 2007 02:56:04 +0000 (20:56 -0600)]
pasemi_mac: Move register definitions to include/asm-powerpc

pasemi_mac: Move register definitions to include/asm-powerpc

Move the common register formats and descriptor layouts from
drivers/net/pasemi_mac.h to include/asm-poewrpc/pasemi_dma.h

Previously only the ethernet driver was using them, but other drivers
are coming up that will also use them, so it makes sense to share the
constants.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: RX/TX ring management cleanup
Olof Johansson [Thu, 29 Nov 2007 02:54:28 +0000 (20:54 -0600)]
pasemi_mac: RX/TX ring management cleanup

pasemi_mac: RX/TX ring management cleanup

Prepare a bit for supporting multiple TX queues by cleaning up some
of the ring management and shuffle things around a bit.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosky2: rx allocation threshold change
Stephen Hemminger [Wed, 28 Nov 2007 22:50:16 +0000 (14:50 -0800)]
sky2: rx allocation threshold change

When using larger MTU's sky2 driver changes from allocating one
data area, to using multiple pages. The threshold for this was based on
a heuristic where the cost of a single allocation is bigger than one
page.  Since the allocator has changed, this heuristic is now incorrect;
instead just make the threshold be when the total size of the allocation
is greater than one page.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosky2: align IP header on Rx if possible
Stephen Hemminger [Wed, 28 Nov 2007 22:27:03 +0000 (14:27 -0800)]
sky2: align IP header on Rx if possible

The sky2 driver was not aligning the IP header on receive buffers.
This workaround is only needed on hardware with broken FIFO, newer chips
without FIFO can just DMA to unaligned address.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agor6040: cleanups
Francois Romieu [Wed, 28 Nov 2007 22:02:33 +0000 (23:02 +0100)]
r6040: cleanups

- whitespaces vs tabs
- use 80 cols
- use if_mii
- use netdev_priv
- remove useless cast to void *
- PCI device id does not need to be globally available

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: erroneous dev->priv
Francois Romieu [Wed, 28 Nov 2007 21:55:36 +0000 (22:55 +0100)]
r6040: erroneous dev->priv

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: remove virt_to_bus
Francois Romieu [Wed, 28 Nov 2007 21:31:00 +0000 (22:31 +0100)]
r6040: remove virt_to_bus

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: compile error
Francois Romieu [Wed, 28 Nov 2007 20:36:22 +0000 (21:36 +0100)]
r6040: compile error

drivers/net/r6040.c: In function 'rx_buf_alloc':
drivers/net/r6040.c:262: warning: passing argument 2 of 'pci_map_single' makes pointer from integer without a cast

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>