carl9170fw.git
13 years agocarl9170 firmware: per-vif tx sequence counter
Christian Lamparter [Sat, 22 Jan 2011 19:52:56 +0000 (20:52 +0100)]
carl9170 firmware: per-vif tx sequence counter

mac80211 will properly assign sequence numbers to QoS-data frames
but cannot do so correctly for non-QoS-data and management frames
because beacons need them from that counter as well and mac80211
cannot guarantee proper sequencing.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: reorder SUSPEND/RESUME/WOL paths
Christian Lamparter [Sun, 16 Jan 2011 14:17:48 +0000 (15:17 +0100)]
carl9170 firmware: reorder SUSPEND/RESUME/WOL paths

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: wol stop after inject error
Christian Lamparter [Sun, 16 Jan 2011 14:16:06 +0000 (15:16 +0100)]
carl9170 firmware tools: wol stop after inject error

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: sample WOL packet generator
Christian Lamparter [Sun, 16 Jan 2011 02:10:54 +0000 (03:10 +0100)]
carl9170 firmware tools: sample WOL packet generator

Generates a MAGIC WOL packet.

- Note -

Monitor interfaces [with injection] can be easily created by "iw".
<http://wireless.kernel.org/en/users/Documentation/iw#Adding_interfaces_with_iw>

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: Wake-on-LAN support
Christian Lamparter [Sun, 16 Jan 2011 00:11:18 +0000 (01:11 +0100)]
carl9170 firmware: Wake-on-LAN support

With this feature enabled, the device will stay
active while the host goes into System Standby
[Suspend to RAM!].

Furthermore, it scans all incoming 802.11 data frames
for a MAGIC WOL pattern and - when found - propagates
the wake-up call to the USB Host.

Notes/Limitations:
* Your host has to support USB remote wake-up.
  [In some cases, /proc/acpi/wakeup has to be
   configured as well - see Google for more
   details]

* The MAC address is taken from the device EEPROM.
  [so, ifconfig dev hw ether overrides don't
   work (yet)]

* The magic pattern has to be within the first
  320 bytes of the data frame.

* The magic frames has to be send unencrypted.
  Therefore the WOL initiator has to support
  frame injection [not a problem for most
  mac80211-based drivers].

* The initatior need to be in range and on the
  same channel as well.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update headers for WOL
Christian Lamparter [Sun, 16 Jan 2011 00:07:39 +0000 (01:07 +0100)]
carl9170 firmware: update headers for WOL

This patch adds a few definitions for wake up on LAN.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add ieee80211_hdrlen helper from cfg80211.h
Christian Lamparter [Sun, 16 Jan 2011 00:05:08 +0000 (01:05 +0100)]
ieee80211: add ieee80211_hdrlen helper from cfg80211.h

ieee80211_hdrlen is a non-standard extenstion,
therefore it has to go into a separate commit.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: random number generator test
Christian Lamparter [Thu, 13 Jan 2011 13:58:41 +0000 (14:58 +0100)]
carlu: random number generator test

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: fix libcarlfw on 64bit cpus
Christian Lamparter [Thu, 13 Jan 2011 13:45:51 +0000 (14:45 +0100)]
carl9170 firmware tools: fix libcarlfw on 64bit cpus

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: fix compiler warnings
Christian Lamparter [Thu, 13 Jan 2011 13:38:33 +0000 (14:38 +0100)]
carl9170 firmware tools: fix compiler warnings

fwinfo.c:258: warning: format ‘%u’ expects type ‘unsigned int’, but argument 3 has type ‘size_t’
eeprom_fix.c:235: warning: overflow in implicit constant conversion

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware toolchain: newlib 1.19.0
Christian Lamparter [Thu, 13 Jan 2011 12:13:39 +0000 (13:13 +0100)]
carl9170 firmware toolchain: newlib 1.19.0

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: fix conflicting function declaration types
Christian Lamparter [Thu, 13 Jan 2011 12:09:05 +0000 (13:09 +0100)]
carlu: fix conflicting function declaration types

rx.c:52: error: conflicting types for ‘carlu_handle_command’
carlu.h:143: note: previous declaration of ‘carlu_handle_command’ was here

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: Remove unused third address from mesh address extension header.
Javier Cardona [Fri, 17 Dec 2010 01:23:34 +0000 (17:23 -0800)]
mac80211: Remove unused third address from mesh address extension header.

The Mesh Control header only includes 0, 1 or 2 addresses. If there is
one address, it should be interpreted as Address 4.  If there are 2,
they are interpreted as Addresses 5 and 6 (Address 4 being the 4th
address in the 802.11 header).

The address extension used to hold up to 3 addresses instead of the current 2.
I'm not sure which draft version changed this, but it is very unlikely that it
will change again given the state of the approval process of this draft.  See
section 7.1.3.6.3 in current draft (8.0).

Also, note that the extra address that I'm removing was not being used, so this
change has no effect on over-the-air frame formats.  But I thought I better
remove it before someone does start using it.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: Let userspace enable and configure vendor specific path selection.
Javier Cardona [Fri, 17 Dec 2010 01:37:49 +0000 (17:37 -0800)]
mac80211: Let userspace enable and configure vendor specific path selection.

Userspace will now be allowed to toggle between the default path
selection algorithm (HWMP, implemented in the kernel), and a vendor
specific alternative.  Also in the same patch, allow userspace to add
information elements to mesh beacons.  This is accordance with the
Extensible Path Selection Framework specified in version 7.0 of the
802.11s draft.

Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix CAB MAC RESET regression
Christian Lamparter [Wed, 5 Jan 2011 18:27:46 +0000 (19:27 +0100)]
carl9170 firmware: fix CAB MAC RESET regression

commit "carl9170 firmware: improve tx ampdu ba_end handling"
introduced a serious regression.

Since the wlan_trigger was missing, the flushed CAB frames
were stuck in tx queue. This of course lead to countless
warnings from the tx watchdog as it reseted the MAC
processor over and over again.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix inaccurate delay calculation
Christian Lamparter [Wed, 5 Jan 2011 16:14:59 +0000 (17:14 +0100)]
carl9170 firmware: fix inaccurate delay calculation

The internal refclock is set by the driver to either:
44MHz - when the device operates on a 2.4 GHz channel
40MHz - 5GHz Band

This patch removes the previously used "80MHz" constant
(that's wrong anyway since this is the HT40 AHB/CPU clock)
and enhance the code so it can deal with the slight clock
speed variations.

Reported-by: Ignacy Gawedzki <i@lri.fr>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: improve tx ampdu ba_end handling
Christian Lamparter [Mon, 3 Jan 2011 21:53:46 +0000 (22:53 +0100)]
carl9170 firmware: improve tx ampdu ba_end handling

According to the documentation, the hardwire MAC helps
forming an aggregated frame.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix CAB queue delivery
Christian Lamparter [Mon, 3 Jan 2011 21:22:51 +0000 (22:22 +0100)]
carl9170 firmware: fix CAB queue delivery

This patch fixes a problem were frames - destined for
after-DTIM delivery - would just skip the waiting stage.

However, DELAYED_TX is not enabled by default. So, only
the few people who use a custom, non-standard firmware
will be affected.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: reorganize wlan context members
Christian Lamparter [Mon, 3 Jan 2011 21:16:14 +0000 (22:16 +0100)]
carl9170 firmware: reorganize wlan context members

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: return to the default clock rate before rebooting 1.9.2
Christian Lamparter [Sat, 25 Dec 2010 17:11:31 +0000 (18:11 +0100)]
carl9170 firmware: return to the default clock rate before rebooting

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update version to 1.9.2
Christian Lamparter [Sat, 25 Dec 2010 01:55:13 +0000 (02:55 +0100)]
carl9170 firmware: update version to 1.9.2

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: replace a few FUSB200 magics
Christian Lamparter [Sat, 25 Dec 2010 01:50:34 +0000 (02:50 +0100)]
carl9170 firmware: replace a few FUSB200 magics

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: refactor suspend/resume callbacks
Christian Lamparter [Sat, 25 Dec 2010 01:23:28 +0000 (02:23 +0100)]
carl9170 firmware: refactor suspend/resume callbacks

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add some more Faraday's FUSB200 defs
Christian Lamparter [Sat, 25 Dec 2010 01:19:51 +0000 (02:19 +0100)]
carl9170 firmware: add some more Faraday's FUSB200 defs

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove static rx chainmask register update
Christian Lamparter [Tue, 21 Dec 2010 21:47:58 +0000 (22:47 +0100)]
carl9170 firmware: remove static rx chainmask register update

The driver takes care of both chainmasks values.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: clarify aggregation vs. qos situation
Christian Lamparter [Fri, 17 Dec 2010 17:56:35 +0000 (18:56 +0100)]
carl9170 firmware: clarify aggregation vs. qos situation

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoieee80211: add Parameter Set Count bitmask
Bing Zhao [Fri, 10 Dec 2010 02:24:41 +0000 (18:24 -0800)]
ieee80211: add Parameter Set Count bitmask

WMM IE QoS Info field lower 4 bits: Parameter Set Count

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: toolchain binutils 2.21
Christian Lamparter [Thu, 16 Dec 2010 20:20:30 +0000 (21:20 +0100)]
carl9170 firmware: toolchain binutils 2.21

Finally, it's out.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocfg80211: add some element IDs in enum ieee80211_eid
Amitkumar Karwar [Tue, 7 Dec 2010 21:43:03 +0000 (13:43 -0800)]
cfg80211: add some element IDs in enum ieee80211_eid

1)WLAN_EID_BSS_COEX_2040
2)WLAN_EID_OVERLAP_BSS_SCAN_PARAM
3)WLAN_EID_EXT_CAPABILITY

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: reset PTA-DMA registers before reboot
Christian Lamparter [Mon, 6 Dec 2010 12:22:42 +0000 (13:22 +0100)]
carl9170 firmware: reset PTA-DMA registers before reboot

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add defs of the default interrupt table
Christian Lamparter [Sun, 5 Dec 2010 20:31:34 +0000 (21:31 +0100)]
carl9170 firmware: add defs of the default interrupt table

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: reinit stack pointer before jumping to bootcode
Christian Lamparter [Sat, 4 Dec 2010 21:43:45 +0000 (22:43 +0100)]
carl9170 firmware: reinit stack pointer before jumping to bootcode

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: cleanup dma memory before reset
Christian Lamparter [Sat, 4 Dec 2010 21:39:39 +0000 (22:39 +0100)]
carl9170 firmware: cleanup dma memory before reset

While the documentation does not mention anything
in this regard. There's clearly some bootloader
action in the DMA memory region.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update version to 1.9.1 1.9.1
Christian Lamparter [Mon, 15 Nov 2010 19:36:46 +0000 (20:36 +0100)]
carl9170 firmware: update version to 1.9.1

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix random reboot failures
Christian Lamparter [Mon, 15 Nov 2010 19:29:13 +0000 (20:29 +0100)]
carl9170 firmware: fix random reboot failures

This patch improves the reliability of various
reboot paths.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware build: automatically apply miniboot.fw
Christian Lamparter [Mon, 15 Nov 2010 19:27:08 +0000 (20:27 +0100)]
carl9170 firmware build: automatically apply miniboot.fw

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: minor shared header clean up
Christian Lamparter [Fri, 29 Oct 2010 16:27:03 +0000 (18:27 +0200)]
carl9170 firmware: minor shared header clean up

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix ar9170_stream struct
Christian Lamparter [Sat, 23 Oct 2010 16:44:33 +0000 (18:44 +0200)]
carl9170 firmware: fix ar9170_stream struct

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: move from private carl9170_tx_status to public _carl9170_tx_status
Christian Lamparter [Tue, 19 Oct 2010 18:38:50 +0000 (20:38 +0200)]
carlu: move from private carl9170_tx_status to public _carl9170_tx_status

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: privatize firmware structs
Christian Lamparter [Tue, 19 Oct 2010 18:35:21 +0000 (20:35 +0200)]
carl9170 firmware: privatize firmware structs

This patch removes all public bit-packed structs
from the public view by making them private with
ifdef __CARL9170FW__.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agoRevert "carl9170 firmware: toolchain binutils 2.20.51"
Christian Lamparter [Mon, 18 Oct 2010 20:01:27 +0000 (22:01 +0200)]
Revert "carl9170 firmware: toolchain binutils 2.20.51"

This reverts commit 1999e162e83656d48ede992f37923c6efa85b123.

Oops, 2.20.51 is not an official release.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: fix build error
Christian Lamparter [Mon, 18 Oct 2010 19:54:02 +0000 (21:54 +0200)]
carl9170 firmware: fix build error

carlfw/usb/usb.c: In function 'usb_ep0setup':
carlfw/usb/usb.c:701: error: will never be executed

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agomac80211: Update mesh constants to approved IEEE ANA values
Steve deRosier [Sun, 10 Oct 2010 00:23:28 +0000 (17:23 -0700)]
mac80211: Update mesh constants to approved IEEE ANA values

This patch updates IEEE802.11 mesh constants to be consistent with newly
approved values. It modifies some values, as well as adds many new constants
in preparation for updating mesh code to the current 802.11s drafts. ANA
numbers were taken from:
https://mentor.ieee.org/802.11/dcn/09/11-09-0031-12-0000-ana-database-assigned-number-authority.xls

A few notes are in order:
1. This will break backwards compatibility with existing Linux kernels as
over-the-air constants have changed.
2. Some old and obsolete constants have been retained for now as the mesh code
itself hasn't been updated yet to the new 802.11s draft. This was desired to
keep the existing mesh scheme working until it can be updated. Adding the
approved values is the first step in updating the mesh code.
3. Obsolete constants have been clearly marked.
4. All ANA approved 802.11s constants have been added.

Signed-off-by: Steve deRosier <steve@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: introduce __aligned compiler attribute v2
Christian Lamparter [Sat, 16 Oct 2010 16:42:35 +0000 (18:42 +0200)]
carl9170 firmware: introduce __aligned compiler attribute v2

This patch reduces the firmware image size considerably.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: carlu_regwrite wrappers
Christian Lamparter [Fri, 15 Oct 2010 23:00:44 +0000 (01:00 +0200)]
carlu: carlu_regwrite wrappers

The wrappers will come in handy, once we
need to import code from the kernel driver.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: merge usb-frontend context carlusb into generic carlu struct
Christian Lamparter [Fri, 15 Oct 2010 22:57:59 +0000 (00:57 +0200)]
carlu: merge usb-frontend context carlusb into generic carlu struct

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: add missing endian conversion
Christian Lamparter [Fri, 15 Oct 2010 21:35:57 +0000 (23:35 +0200)]
carlu: add missing endian conversion

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: add GPIO test
Christian Lamparter [Fri, 15 Oct 2010 21:33:52 +0000 (23:33 +0200)]
carlu: add GPIO test

This new test allows flashes the LEDs and allows
the user to check if the WPS button works.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: put command definitions into separate header
Christian Lamparter [Fri, 15 Oct 2010 21:20:05 +0000 (23:20 +0200)]
carlu: put command definitions into separate header

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: support testing async commands
Christian Lamparter [Fri, 15 Oct 2010 21:14:30 +0000 (23:14 +0200)]
carlu: support testing async commands

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarlu: fix copy+paste error
Christian Lamparter [Fri, 15 Oct 2010 20:12:45 +0000 (22:12 +0200)]
carlu: fix copy+paste error

Don't download and check the firmware image twice.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update pram size comment
Christian Lamparter [Wed, 13 Oct 2010 19:39:17 +0000 (21:39 +0200)]
carl9170 firmware: update pram size comment

Only 16 kbytes are reserved for the program ram (+ stack), or
at least visible for my customer device.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.9.0 1.9.0
Christian Lamparter [Tue, 12 Oct 2010 11:00:21 +0000 (13:00 +0200)]
carl9170 firmware: update API to 1.9.0

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: reintegrate timer/clock routines
Christian Lamparter [Tue, 12 Oct 2010 10:36:05 +0000 (12:36 +0200)]
carl9170 firmware: reintegrate timer/clock routines

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170: fix total error filter bit handling
Christian Lamparter [Sat, 9 Oct 2010 20:00:31 +0000 (22:00 +0200)]
carl9170: fix total error filter bit handling

The total error (aka fatal error) bit was erroneously
prefixed as AR9170_RX_ERROR instead of AR9170_RX_STATUS.

(+ minor styling tweaks)

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firwmare: toolchain gcc 4.4.5
Christian Lamparter [Sun, 3 Oct 2010 20:13:32 +0000 (22:13 +0200)]
carl9170 firwmare: toolchain gcc 4.4.5

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: don't show null entries
Christian Lamparter [Thu, 30 Sep 2010 16:06:52 +0000 (18:06 +0200)]
carl9170 firmware tools: don't show null entries

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove bogoclock
Christian Lamparter [Thu, 30 Sep 2010 15:52:59 +0000 (17:52 +0200)]
carl9170 firmware: remove bogoclock

There's no need to measure the cpu clock. The internal clock
source is (always) set to 80Mhz and only timer 0 to 3 are
affected by under-/overclocking.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: purge undefined function declarations
Christian Lamparter [Thu, 30 Sep 2010 15:39:36 +0000 (17:39 +0200)]
carl9170 firmware: purge undefined function declarations

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: introduce __noreturn attribute
Christian Lamparter [Thu, 30 Sep 2010 15:34:47 +0000 (17:34 +0200)]
carl9170 firmware: introduce __noreturn attribute

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: upgrade API struct layout checks
Christian Lamparter [Thu, 30 Sep 2010 15:30:42 +0000 (17:30 +0200)]
carl9170 firmware: upgrade API struct layout checks

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.8.3 1.8.8.3
Christian Lamparter [Tue, 28 Sep 2010 17:47:31 +0000 (19:47 +0200)]
carl9170 firmware: update API to 1.8.8.3

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: implement software rx filter
Christian Lamparter [Tue, 28 Sep 2010 17:46:10 +0000 (19:46 +0200)]
carl9170 firmware: implement software rx filter

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: toolchain binutils 2.20.51
Christian Lamparter [Sun, 19 Sep 2010 22:13:12 +0000 (00:13 +0200)]
carl9170 firmware: toolchain binutils 2.20.51

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove firmware context memset
Christian Lamparter [Thu, 16 Sep 2010 20:13:38 +0000 (22:13 +0200)]
carl9170 firmware: remove firmware context memset

There's no need to reinitialize the firmware context on boot.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: abort build if stack frame > 128
Christian Lamparter [Thu, 16 Sep 2010 19:59:46 +0000 (21:59 +0200)]
carl9170 firmware: abort build if stack frame > 128

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update default config
Christian Lamparter [Tue, 14 Sep 2010 17:36:55 +0000 (19:36 +0200)]
carl9170 firmware: update default config

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.8.2 1.8.8.2
Christian Lamparter [Mon, 13 Sep 2010 21:21:44 +0000 (23:21 +0200)]
carl9170 firmware: update API to 1.8.8.2

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: outsource obsolete TX DMA bump code
Christian Lamparter [Mon, 13 Sep 2010 21:13:09 +0000 (23:13 +0200)]
carl9170 firmware: outsource obsolete TX DMA bump code

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update shared headers
Christian Lamparter [Mon, 13 Sep 2010 21:03:01 +0000 (23:03 +0200)]
carl9170 firmware: update shared headers

 * add SET_CONSTVAL helper

 * cosmetic changes

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: improve mac reset handling
Christian Lamparter [Mon, 13 Sep 2010 20:49:05 +0000 (22:49 +0200)]
carl9170 firmware: improve mac reset handling

Extensive testing has confirmed that the code from the original
firmware source might not be sufficient to restore the MAC-state
after a reset.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove trailing semicolon from #define
Christian Lamparter [Mon, 13 Sep 2010 17:47:50 +0000 (19:47 +0200)]
carl9170 firmware: remove trailing semicolon from #define

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: harmonize shared header layout
Christian Lamparter [Sun, 5 Sep 2010 23:01:19 +0000 (01:01 +0200)]
carl9170 firmware: harmonize shared header layout

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: purge duplicated registers
Christian Lamparter [Fri, 3 Sep 2010 17:23:24 +0000 (19:23 +0200)]
carl9170 firmware: purge duplicated registers

Felix kindly pointed out:
* SYNTH_CONTROL was introduced in the AR9002+ generation.

* TXPWRADJ is of little relevance for AR9001.

* M_SLEEP same as above, only of use on pre-11n chips.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.8.1 1.8.8.1
Christian Lamparter [Mon, 30 Aug 2010 04:09:41 +0000 (06:09 +0200)]
carl9170 firmware: update API to 1.8.8.1

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware tools: fix crash if source is a directory
Christian Lamparter [Mon, 30 Aug 2010 04:05:06 +0000 (06:05 +0200)]
carl9170 firmware tools: fix crash if source is a directory

The tools will no longer crash if the "firmware" file is
a directory.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: move SRAM & PRAM definitions into shared headers
Christian Lamparter [Mon, 30 Aug 2010 03:42:49 +0000 (05:42 +0200)]
carl9170 firmware: move SRAM & PRAM definitions into shared headers

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: modify the right beacon
Christian Lamparter [Mon, 30 Aug 2010 03:30:25 +0000 (05:30 +0200)]
carl9170 firmware: modify the right beacon

Previously, the beacon address and length hardware registers
were (ab-)used as additional parameters for the beacon
modification functions. This idea worked fine, until I decided
to change the associated code and moved the beacon address and
length "set" _after_ the wlan_cab_modify_dtim_beacon...

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.8 1.8.8
Christian Lamparter [Sun, 29 Aug 2010 01:36:12 +0000 (03:36 +0200)]
carl9170 firmware: update API to 1.8.8

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove stale hw definitios
Christian Lamparter [Sun, 29 Aug 2010 00:15:27 +0000 (02:15 +0200)]
carl9170 firmware: remove stale hw definitios

Looks like MAC vs. CAM name lead to some confusion.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: rename cab_flush to bcn_ctrl and fix update delay
Christian Lamparter [Sat, 28 Aug 2010 22:43:04 +0000 (00:43 +0200)]
carl9170 firmware: rename cab_flush to bcn_ctrl and fix update delay

Along with the renaming, this patch fixes the weird
beacon update delay and removes the previously used
workaround for the problem.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add undocumented PRETBTT timer
Christian Lamparter [Sat, 28 Aug 2010 22:29:46 +0000 (00:29 +0200)]
carl9170 firmware: add undocumented PRETBTT timer

There seems to be an additional timer in the MAC_PRETBTT
register. Unfortunately, the hardware specification does
not have any documentation about what this timer, (or
how it differs from the other for that matter).

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update copyright boilerplate
Christian Lamparter [Sat, 28 Aug 2010 22:28:08 +0000 (00:28 +0200)]
carl9170 firmware: update copyright boilerplate

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.7.1 1.8.7.1
Christian Lamparter [Thu, 26 Aug 2010 21:58:09 +0000 (23:58 +0200)]
carl9170 firmware: update API to 1.8.7.1

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: revamp Content After Beacon handling
Christian Lamparter [Tue, 24 Aug 2010 00:44:50 +0000 (02:44 +0200)]
carl9170 firmware: revamp Content After Beacon handling

Commit "carl9170 firmware: Support multiple CAB queues"
introduced a regression. The CAB queue was drained too
early and therefore the bc/mc buffered frames were sent
out at the wrong dtim period.

This patch takes care of the stated regression, but it
also fixes yet another, this time a more theoretical
race in multi AP mode.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.7 1.8.7
Christian Lamparter [Sat, 21 Aug 2010 19:30:00 +0000 (21:30 +0200)]
carl9170 firmware: update API to 1.8.7

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update default config
Christian Lamparter [Sat, 21 Aug 2010 19:07:39 +0000 (21:07 +0200)]
carl9170 firmware: update default config

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: mac reset refactoring, take-2
Christian Lamparter [Sat, 21 Aug 2010 18:36:04 +0000 (20:36 +0200)]
carl9170 firmware: mac reset refactoring, take-2

No matter what, the current MAC-only reset code is not
adequate, if the MAC state machine gets completely stuck.

This patch introduces a configurable switch, which
allows the firmware to delegate a full-chip reset
to the driver.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add definition for async PSM command
Christian Lamparter [Thu, 19 Aug 2010 14:38:11 +0000 (16:38 +0200)]
carl9170 firmware: add definition for async PSM command

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: check virtual interface no. range
Christian Lamparter [Wed, 18 Aug 2010 20:53:50 +0000 (22:53 +0200)]
carl9170 firmware: check virtual interface no. range

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.6 1.8.6
Christian Lamparter [Mon, 16 Aug 2010 23:19:48 +0000 (01:19 +0200)]
carl9170 firmware: update API to 1.8.6

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove unused dummys
Christian Lamparter [Mon, 16 Aug 2010 19:48:21 +0000 (21:48 +0200)]
carl9170 firmware: remove unused dummys

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: Support multiple CAB queues
Christian Lamparter [Mon, 16 Aug 2010 19:44:31 +0000 (21:44 +0200)]
carl9170 firmware: Support multiple CAB queues

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: boot-up interrupt 1.8.5
Christian Lamparter [Sat, 14 Aug 2010 21:03:42 +0000 (23:03 +0200)]
carl9170 firmware: boot-up interrupt

The firmware now generates an interrupt after it booted.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: set AHB clock to 40MHz early on
Christian Lamparter [Sat, 14 Aug 2010 19:29:42 +0000 (21:29 +0200)]
carl9170 firmware: set AHB clock to 40MHz early on

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: compact pta_init
Christian Lamparter [Sat, 14 Aug 2010 16:59:01 +0000 (18:59 +0200)]
carl9170 firmware: compact pta_init

A small gain can be obtained by caching the temporary
usb control flag modifications and commit the new
setting at the end.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: update API to 1.8.5
Christian Lamparter [Sat, 14 Aug 2010 13:43:46 +0000 (15:43 +0200)]
carl9170 firmware: update API to 1.8.5

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: remove usb transport watchdog
Christian Lamparter [Sat, 14 Aug 2010 00:47:49 +0000 (02:47 +0200)]
carl9170 firmware: remove usb transport watchdog

The idea of this watchdog was to check regulary,
whenever the driver was still responding to firmware
requests within a reasonable window. But the concept
is flawed and never received any substantial testing.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: revamp reset code
Christian Lamparter [Sat, 14 Aug 2010 00:36:52 +0000 (02:36 +0200)]
carl9170 firmware: revamp reset code

Getting the reset code to work 100% proved to be
a wild-goose chase. Therefore we'll settle with
an easier solution and let the usb subsystem take
care of the clean-up operation.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
13 years agocarl9170 firmware: add comment about RX overrun recovery
Christian Lamparter [Fri, 13 Aug 2010 23:11:18 +0000 (01:11 +0200)]
carl9170 firmware: add comment about RX overrun recovery

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>