carl9170fw.git
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 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>
14 years agocarl9170 firmware: Initialize USB subsystem before the DMA engine
Christian Lamparter [Fri, 13 Aug 2010 20:02:00 +0000 (22:02 +0200)]
carl9170 firmware: Initialize USB subsystem before the DMA engine

The documentation states that the USB DMA engine control register
(0x1e1108) should be modified when the state engine is idling.
By tuning the initialization order and placing a larger workload
in between, the state machine should now always be in the correct
state.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: downgrade MAC reset error level
Christian Lamparter [Fri, 13 Aug 2010 19:41:50 +0000 (21:41 +0200)]
carl9170 firmware: downgrade MAC reset error level

Currently, MAC resets are the major cause of sudden death
situations. By downgrading the message to just an
"information" the reset logic in the driver no longer
assumes that a serious, fatal event occured and won't
shutdown prematurely.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: put power management definitions into the correct place
Christian Lamparter [Fri, 13 Aug 2010 18:56:37 +0000 (20:56 +0200)]
carl9170 firmware: put power management definitions into the correct place

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: fix error code handling
Christian Lamparter [Tue, 10 Aug 2010 23:02:21 +0000 (01:02 +0200)]
carl9170 firmware: fix error code handling

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: update API to 1.8.0 1.8.0
Christian Lamparter [Wed, 4 Aug 2010 16:20:05 +0000 (18:20 +0200)]
carl9170 firmware: update API to 1.8.0

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: integrate firmware descriptors
Christian Lamparter [Wed, 4 Aug 2010 16:09:34 +0000 (18:09 +0200)]
carl9170 firmware: integrate firmware descriptors

Merge the USB firmware descriptor into OTAR.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: save a few bytes on the command handler 1.7.4
Christian Lamparter [Sun, 1 Aug 2010 13:15:34 +0000 (15:15 +0200)]
carl9170 firmware: save a few bytes on the command handler

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: add flag for asynchronous commands
Christian Lamparter [Thu, 29 Jul 2010 16:21:11 +0000 (18:21 +0200)]
carl9170 firmware: add flag for asynchronous commands

This flag can be used by the application to tell _same_
application that it does not have to wait for the command
response, or it does not need to parse the received
response if the flag is set.

NOTE: The firmware does not care about this flag and
processes any received command in the same way.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: implement command sequence counter
Christian Lamparter [Thu, 29 Jul 2010 12:51:28 +0000 (14:51 +0200)]
carl9170 firmware: implement command sequence counter

The sequence is useful to detect the loss of a command
response/trap.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: update API to 1.7.3 1.7.3
Christian Lamparter [Tue, 27 Jul 2010 08:06:28 +0000 (10:06 +0200)]
carl9170 firmware: update API to 1.7.3

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: speedup handle_rx
Christian Lamparter [Mon, 26 Jul 2010 21:55:09 +0000 (23:55 +0200)]
carl9170 firmware: speedup handle_rx

Thanks to the improved rx processing in the driver,
rx overruns should no longer happen that frequently.

Also, The overrun detection might not be triggered
in this code-path at all when the recv wlan queue
has run dry.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: move wlan_dma_bump
Christian Lamparter [Mon, 26 Jul 2010 21:52:36 +0000 (23:52 +0200)]
carl9170 firmware: move wlan_dma_bump

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: fix array-out-of-bounds bug
Christian Lamparter [Mon, 26 Jul 2010 21:43:28 +0000 (23:43 +0200)]
carl9170 firmware: fix array-out-of-bounds bug

This patch fixes an out-of-bounds access which would occur
if the driver sets queue to 6 or 7. Additionally, the
transmission status report has only reserved 2 bits for
reporting this information.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: allow fallback to non-aggregation xmit
Christian Lamparter [Mon, 26 Jul 2010 21:28:39 +0000 (23:28 +0200)]
carl9170 firmware: allow fallback to non-aggregation xmit

This feature might come handy in future. Because aggregation
does not always work as smoothly as hoped. Furthermore,
the original firmware did something similar.

But be advised that once the aggregation for any particular
frame retry was disabled. It should remain disabled for all
following tries and not be enabled again.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: drop noise reading from channel switch response
Christian Lamparter [Mon, 26 Jul 2010 21:23:31 +0000 (23:23 +0200)]
carl9170 firmware: drop noise reading from channel switch response

The driver manually queries the noise values anyway.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: update API to 1.7.2 1.7.2
Christian Lamparter [Fri, 23 Jul 2010 00:11:07 +0000 (02:11 +0200)]
carl9170 firmware: update API to 1.7.2

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: use sudo to install firmware
Christian Lamparter [Fri, 23 Jul 2010 00:05:21 +0000 (02:05 +0200)]
carl9170 firmware: use sudo to install firmware

Only a root-user can modify the files under /lib/firmware.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: streamline dma_put hot-path
Christian Lamparter [Thu, 22 Jul 2010 23:51:35 +0000 (01:51 +0200)]
carl9170 firmware: streamline dma_put hot-path

This patch restores the original code-path in dma_put.
It no longer tries to correct the control flags for
all dma transfers.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: rename ^CARL*_MASK$ to ^CARL*$
Christian Lamparter [Thu, 22 Jul 2010 18:23:59 +0000 (20:23 +0200)]
carl9170 firmware: rename ^CARL*_MASK$ to ^CARL*$

This synchronizes the usage of _MASK in HW defintions
with ath9k and other Atheros' drivers.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: introduce per-rate ER Protection setting
Christian Lamparter [Thu, 22 Jul 2010 18:07:37 +0000 (20:07 +0200)]
carl9170 firmware: introduce per-rate ER Protection setting

Previously, the firmware has applied (or rather has stuck)
with the ERP settings of the first rate for all retry rates.
This is now history and the driver can choose between
different ERP settings for each individual retry rate.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: update README 1.7.1
Christian Lamparter [Wed, 21 Jul 2010 19:24:29 +0000 (21:24 +0200)]
carl9170 firmware: update README

the README should include a list of all necessary
tools and libraries to build the firmware.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: checkpatch fixes
Christian Lamparter [Wed, 21 Jul 2010 19:21:34 +0000 (21:21 +0200)]
carl9170 firmware: checkpatch fixes

Since the shared headers are meant to be included
into the kernel, they should pass checkpatch.pl
without generating hundreds of WARNINGS.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
14 years agocarl9170 firmware: import 1.7.0 1.7.0
Christian Lamparter [Mon, 19 Jul 2010 23:16:34 +0000 (01:16 +0200)]
carl9170 firmware: import 1.7.0

The carl9170 project aims to provide more than just a
working substitute firmware+driver for Atheros' AR9170
USB solutions.

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