wilink8-wlan/wl18xx.git
8 years agoRevert "wl18xx: allow ELP by default for PG2.0" master r8.a2.09
Ido Reis [Thu, 19 Jul 2012 08:18:03 +0000 (11:18 +0300)]
Revert "wl18xx: allow ELP by default for PG2.0"

This reverts commit a87f4750c618dae4897861910bbcd2d3d480adb9.

8 years agowl18xx: set default phy config to hp siso r8.a2.08
Ido Reis [Thu, 12 Jul 2012 18:22:59 +0000 (21:22 +0300)]
wl18xx: set default phy config to hp siso

update phy power values and ht mode for hp siso board.

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: enable wlconf configurations for r8.a2
Yair Shapira [Thu, 12 Jul 2012 13:53:43 +0000 (16:53 +0300)]
wl18xx: enable wlconf configurations for r8.a2

ht_mode added to wl18xx conf struct in order to support different modes
from the configuration file, as well as module params, and by default
(working without a conf file and/or no module params).

missing default values to wl18xx config added. also the default value
of low_band_component_type was changed to 4 and the default value
of low_band_component was changed to 2.

fixed string module params not to have defaults (so if empty, param
can be taken from conf file).

update wl18xx conf version to 3.

changed set_mac_and_phy routine to write to sdio regardless to phy
structure alignment (using kmemedup to duplicate phy structure)

Signed-off-by: Yair Shapira <yair.shapira@ti.com>
8 years agowlcore: access the firmware memory via debugfs r8.a2.08-candidate
Arkady Miasnikov [Mon, 18 Jun 2012 13:19:24 +0000 (16:19 +0300)]
wlcore: access the firmware memory via debugfs

Applications running in the user space needs access to the
memory of the chip. Examples of such access
- read/write global variables
- access to firmware log
- dump memory after firmware panic event

Arbitrary 4-bytes aligned location can be accessed by
read/write file wlcore/mem

Signed-off-by: Arkady Miasnikov <a-miasnikov@ti.com>
8 years agowl18xx: allow ELP by default for PG2.0
Ido Reis [Wed, 30 May 2012 18:41:56 +0000 (21:41 +0300)]
wl18xx: allow ELP by default for PG2.0

This is supported by new FW versions (.96+).

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: increase rx_ba_win_size to 32
Ido Reis [Mon, 25 Jun 2012 15:51:54 +0000 (18:51 +0300)]
wl18xx: increase rx_ba_win_size to 32

Signed-off-by: Ido Reis <idor@ti.com>
8 years agomac80211: use the correct capability info in ieee80211_set_associated() r8.a2.07-build_136 r8.a2.07-build_139 r8.a2.07-build_140 r8.a2.07-build_141 r8.a2.07-build_146
Luciano Coelho [Wed, 20 Jun 2012 12:23:12 +0000 (15:23 +0300)]
mac80211: use the correct capability info in ieee80211_set_associated()

If an AP is beaconing with different capabilities than the one we get
in the associate response, we were still using the capabilities
received in the beacons.  One example is when the AP is beaconing with
the short slot bit set to zero and then we try to connect to it with
long slot.  In this case, we would keep using long slot until the next
beacon was received.

Fix this by using the correct capability value when calling
ieee80211_handle_bss_capability().  We were using cbss->capability,
but we should use the bss_conf->assoc_capability instead.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore: reconfigure sleep_auth when removing interfaces
Arik Nemtsov [Sun, 10 Jun 2012 16:10:45 +0000 (19:10 +0300)]
wlcore: reconfigure sleep_auth when removing interfaces

The sleep_auth value of the last interface to be set up prevailed when
an interface was removed. Take care of this by correctly configuring the
value according to the remaining STA/AP interfaces.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore: allow setting sleep_auth before interface init
Arik Nemtsov [Sun, 10 Jun 2012 14:09:22 +0000 (17:09 +0300)]
wlcore: allow setting sleep_auth before interface init

Hold a value for sta_sleep_auth that is amenable to change by debugfs.
When detecting a legal value in this variable on interface init, use it
as an override value for sleep_auth.

This makes debugging more intuitive using the debugfs value.

Note: An AP going up will always set sleep_auth to PSM_CAM.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agomac80211: don't queue monitor work for HW_CONNECTION_MONITOR
Eliad Peller [Sun, 19 Feb 2012 13:26:09 +0000 (15:26 +0200)]
mac80211: don't queue monitor work for HW_CONNECTION_MONITOR

Devices that monitor the connection in the hw don't need
the monitor work in the driver.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
8 years agomac80211: check sdata_running on set_bitrate_mask r8.a2.07
Eliad Peller [Thu, 7 Jun 2012 14:00:47 +0000 (17:00 +0300)]
mac80211: check sdata_running on set_bitrate_mask

Otherwise, we will call the driver callback although
the sdata wasn't uploaded yet.

Signed-off-by: Eliad Peller <eliad@wizery.com>
8 years agoRevert "wl18xx: allow ELP by default for PG2.0" ol_r8.a2.06 r8.a2.06
Ido Reis [Sat, 2 Jun 2012 19:55:06 +0000 (22:55 +0300)]
Revert "wl18xx: allow ELP by default for PG2.0"

Firmware is not ready for theis change yet.
This reverts commit df0d7364bcc2db6a5f1311583f67c36e1e4b5fe2.

Signed-off-by: Idor Reis <idor@ti.com>
8 years agowlcore: update basic rates on channel switch
Eliad Peller [Mon, 4 Jun 2012 07:20:15 +0000 (10:20 +0300)]
wlcore: update basic rates on channel switch

On channel switch we have to update the basic rates, in
order to reflect possible band changes (otherwise, we
might start beaconing on 11a with the default rates
of 11g.

Signed-off-by: Eliad Peller <eliad@wizery.com>
8 years agowlcore: add HW flag to add AP stations only after beaconing
Arik Nemtsov [Fri, 1 Jun 2012 17:33:06 +0000 (20:33 +0300)]
wlcore: add HW flag to add AP stations only after beaconing

When performing reconfig as AP, the wlcore FW does not support adding
stations before the beaconing is enabled. Set a mac80211 HW flag to
add AP stations only after starting to beacon.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agomac80211: allow adding stations after AP start on reconfig
Arik Nemtsov [Fri, 1 Jun 2012 17:10:51 +0000 (20:10 +0300)]
mac80211: allow adding stations after AP start on reconfig

When performing a HW restart for an AP mode interface, allow
adding stations back only after the AP is beaconing. Control
the time of addition via a HW flag.

Some devices only support the addition of stations in AP mode after
the AP is started (as done during normal operation).

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agomac80211: stop Rx during HW reconfig
Arik Nemtsov [Fri, 1 Jun 2012 14:36:27 +0000 (17:36 +0300)]
mac80211: stop Rx during HW reconfig

While HW reconfig is in progress, drop all incoming Rx. This prevents
incoming packets from changing the internal state of the driver or
calling callbacks of the low level driver while it is in inconsistent
state.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agomac80211: don't call drv_ampdu_action() during reconfig
Arik Nemtsov [Fri, 1 Jun 2012 17:26:10 +0000 (20:26 +0300)]
mac80211: don't call drv_ampdu_action() during reconfig

When tearing down BA sessions during HW reconfig, the low level driver
is not aware of them yet. Add a parameter to relevant Rx/Tx BA functions
to prevent calls to the driver, while removing all mac80211 related state.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agomac80211: clear ifmgd->bssid only after building DELBA
Eliad Peller [Thu, 31 May 2012 16:36:27 +0000 (19:36 +0300)]
mac80211: clear ifmgd->bssid only after building DELBA

ieee80211_set_disassoc() clears ifmgd->bssid before
building DELBA frames, resulting in frames with invalid
bssid ("00:00:00:00:00:00").

Fix it by clearing ifmgd->bssid only after building
all the needed frames.

After this change, we no longer need to save the
bssid (before clearing it), so remove the local array.

Reported-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
8 years agomac80211: fix ADDBA declined after suspend with wowlan r8.a2.04
Eyal Shapira [Mon, 28 May 2012 23:15:03 +0000 (16:15 -0700)]
mac80211: fix ADDBA declined after suspend with wowlan

WLAN_STA_BLOCK_BA is set while suspending but doesn't get cleared
when resuming in case of wowlan. This causes further ADDBA requests
received to be rejected. Fix it by clearing it in the wowlan path
as well.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
8 years agowl18xx: allow ELP by default for PG2.0
Ido Reis [Wed, 30 May 2012 18:41:56 +0000 (21:41 +0300)]
wl18xx: allow ELP by default for PG2.0

This is supported by new FW versions (.96+).

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: increase rx descriptors
Ido Reis [Wed, 30 May 2012 18:32:27 +0000 (21:32 +0300)]
wl18xx: increase rx descriptors

increase rx desc to 32 (from 16)
increase aggr buffer size to 15 pages

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowlcore/wl12xx/wl18xx: make NVS file optional for wl18xx
Arik Nemtsov [Tue, 29 May 2012 15:38:05 +0000 (18:38 +0300)]
wlcore/wl12xx/wl18xx: make NVS file optional for wl18xx

Don't spew errors when we can't find the NVS file in wlcore. Instead
fail the wl12xx boot HW op if the NVS isn't found.

Take this opportunity to remove some dead code from register_hw()
which looks for the NVS again needlessly.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowl18xx: clean up phy module parameters
Arik Nemtsov [Tue, 29 May 2012 09:44:12 +0000 (12:44 +0300)]
wl18xx: clean up phy module parameters

Give all wl18xx phy module paramters -1 as a default value, indicating
the paramter was not set. Add previous default values to the default
18xx priv conf structure.

Remove the board_type field from wl18xx priv. The field with the same
name inside the phy conf is good enough for our purposes.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowl18xx: align wl18xx_conf_phy with FW variant and remove it
Arik Nemtsov [Tue, 29 May 2012 09:40:50 +0000 (12:40 +0300)]
wl18xx: align wl18xx_conf_phy with FW variant and remove it

wl18xx_conf_phy represents part of the FW native wl18xx_mac_and_phy_params
structure. Remove it and replace the phy part of the wl18xx conf with the
FW bound structure. This allows us to set/override all members.

Increment the wlconf version to ensure compatibility with the new
structure

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowl18xx: read configuration structure from a binary file
Luciano Coelho [Tue, 22 May 2012 06:54:51 +0000 (09:54 +0300)]
wl18xx: read configuration structure from a binary file

Instead of using the hardcoded configuration structure, try to read it
from a "firmware" file called wl18xx-conf.bin.  If the file doesn't
exist, fall back to the hardcoded version.  If the file exists but is
illegal, bail out.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore/wl18xx: export conf struct in a debugfs file
Luciano Coelho [Sun, 11 Mar 2012 16:12:01 +0000 (18:12 +0200)]
wlcore/wl18xx: export conf struct in a debugfs file

Add conf file header structure, magic and version values and export
the entire conf struct in debugfs.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore/wl18xx: the conf structs must be packed so they can be exported
Luciano Coelho [Mon, 21 May 2012 07:22:02 +0000 (10:22 +0300)]
wlcore/wl18xx: the conf structs must be packed so they can be exported

Since we are now going to export the conf structure and read it from a
file, it should be packed to avoid surprises with padding bytes.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowl18xx: update fw statistics r8.a2.03 r8.a2.03-build_127 r8.a2.03-build_128 r8.a2.03-build_129 r8.a2.03-build_130 r8.a2.03-build_131 r8.a2.03-build_132
Ido Reis [Wed, 23 May 2012 09:47:55 +0000 (12:47 +0300)]
wl18xx: update fw statistics

Signed-off-by: Ido Reis <idor@ti.com>
8 years agomac80211: [NOT_FOR_UPSTREAM] setting only VO as UAPSD
Assaf Azulay [Tue, 8 May 2012 11:29:57 +0000 (14:29 +0300)]
mac80211: [NOT_FOR_UPSTREAM] setting only VO as UAPSD

due to IOP with a lot of APs in the world, we can see that the
best behavior of our station is when working in "mixed mode":
only voice will be in UAPSD, while the other queues are in legasy
mode.

Signed-off-by: Assaf Azulay <assaf@ti.com>
8 years agowlcore: use u8 instead of enum for bcn_filt_mode r8.a2.01-build_126
Luciano Coelho [Tue, 22 May 2012 21:24:58 +0000 (00:24 +0300)]
wlcore: use u8 instead of enum for bcn_filt_mode

Since we will export the conf structure as a file, we need to use well
defined types.  Instead of using enum, whose size may vary, use u8 for
bcn_filt_mode instead.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore/wl18xx/wl12xx: use u8 instead of bool for host_fast_wakeup_support
Luciano Coelho [Tue, 22 May 2012 21:24:57 +0000 (00:24 +0300)]
wlcore/wl18xx/wl12xx: use u8 instead of bool for host_fast_wakeup_support

The conf structure is going to be exported to a file, so we should use
only well defined types.  bool is not well defined and may vary from
platform to platform, so change the host_fast_wakeup_support type to
u8 instead.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowl18xx: use a single dimension for tx_agg_vs_rate in fw_stats (SQUASH)
Luciano Coelho [Tue, 22 May 2012 21:25:02 +0000 (00:25 +0300)]
wl18xx: use a single dimension for tx_agg_vs_rate in fw_stats (SQUASH)

This fixes commit 6c5ecb12 (wl18xx: update fw statistics) where we
were printing values from out-of-bounds memory areas.

Flatten the array into a single dimension to make it possible to print
it out using the existing macro.  The only drawback is that [1][0]
will be printed as [16] instead, but this is better than printing
random pointers.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowl18xx: enable fw logger for pg2 chips
Ido Reis [Tue, 22 May 2012 09:41:36 +0000 (12:41 +0300)]
wl18xx: enable fw logger for pg2 chips

fw logger is avialble for pg2 devices from fw 8.2.0.0.91

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: update fw statistics
Ido Reis [Tue, 22 May 2012 09:34:10 +0000 (12:34 +0300)]
wl18xx: update fw statistics

aligned to fw 8.2.0.0.91
struct and debugfs enries updated

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowlcore: add counters with reasons for aggr packet sending (DEBUG)
Luciano Coelho [Tue, 13 Mar 2012 15:14:46 +0000 (17:14 +0200)]
wlcore: add counters with reasons for aggr packet sending (DEBUG)

Count the reasons that triggered us to send the buffer to the firmware
for transmission.  Count buffer_full, fw_buffer_full, other reasons
and no_data left to send.

This is useful when debugging throughput issues.

To have a better understanding of what is going on in the TX data
path, we can count the number of times we sent n packets.  For
example, if we sent 10 times aggregations of 2 packets, we print [2] =
10.

Instead of counting the reasons as an overall value, we count the
reasons for each number of packets used in the aggregation.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore: export raw binary with the FW statistics in debugfs
Luciano Coelho [Fri, 23 Mar 2012 12:16:33 +0000 (14:16 +0200)]
wlcore: export raw binary with the FW statistics in debugfs

Instead of parsing all the binary data returned by the firmware, we
should simply export the binary and let the userspace do the parsing.

This commit adds a new file to debugfs to do that.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowl18xx: add support to clear FW statistics
Luciano Coelho [Mon, 19 Mar 2012 15:53:35 +0000 (17:53 +0200)]
wl18xx: add support to clear FW statistics

This patch calls ACX_CLEAR_STATISTICS to clear the firmware
statistics.  The trigger is a new debugfs file called
clear_fw_statistics in the fw_stats directory.

Signed-off-by: Luciano Coelho <coelho@ti.com>
8 years agowlcore: add debugfs control over rx interrupt pacing
Eyal Shapira [Thu, 17 May 2012 17:40:10 +0000 (20:40 +0300)]
wlcore: add debugfs control over rx interrupt pacing

Add control over several conf fields which combined
control the rx interrupt pacing mechanism, that is avoiding
getting an interrupt following a single frame rx but instead
have the FW trigger the interrupt only after a certain
amount of frames received or a timeout.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
8 years agowlcore: add support macros to easily add conf debugfs entries
Eyal Shapira [Thu, 17 May 2012 17:35:31 +0000 (20:35 +0300)]
wlcore: add support macros to easily add conf debugfs entries

The current debugfs code contains too much code duplication
of bolierplate code. Add some macro magic to avoid this and
enable adding new debugfs entries by using just a few lines.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
8 years agowlcore/wl12xx/wl18xx: add version.h to a new .gitignore file (INTERNAL)
Arik Nemtsov [Fri, 11 May 2012 08:59:33 +0000 (11:59 +0300)]
wlcore/wl12xx/wl18xx: add version.h to a new .gitignore file (INTERNAL)

This file is generated by the build process and we should not store it.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowl18xx: change FW names for PG1, PG2 r8.a2.01 r8.a2.01-build_120 r8.a2.01-build_121 r8.a2.01-build_122 r8.a2.01-build_123 r8.a2.01-build_124
Arik Nemtsov [Thu, 17 May 2012 06:47:33 +0000 (09:47 +0300)]
wl18xx: change FW names for PG1, PG2

Rename the FWs according to the new naming scheme:

PG1 -wl18xx-fw-pg1.1.bin
PG2 -wl18xx-fw.bin

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore: compare ssid_len before comparing ssids r8.a1.06-build_117 r8.a2.01-build_118 r8.a2.01-build_119
Eliad Peller [Tue, 15 May 2012 15:31:58 +0000 (18:31 +0300)]
wlcore: compare ssid_len before comparing ssids

When comparing 2 ssids the ssid_len must be taken
into account. Otherwise, a substring will be treated
as equal.

This bug might cause ssids to get scanned as
public ssids (rather than hidden), resulting in
broadcast probe request (instead of ssid-specific
ones)

Signed-off-by: Eliad Peller <eliad@wizery.com>
8 years agowlcore: increase number of BA sessions to 3
Assaf Azulay [Wed, 2 May 2012 19:09:59 +0000 (22:09 +0300)]
wlcore: increase number of BA sessions to 3

With the new FW (sigle role X.3.8.0.108, multi role X.5.4.0.21)
we are supporting 3 RX BA sessions, this change is to support this
new ability.

Signed-off-by: Assaf Azulay <assaf@ti.com>
8 years agowlcore/wl12xx/wl18xx: implement op_set_key per HW arch r8.a1.06-build_116
Arik Nemtsov [Mon, 14 May 2012 19:56:22 +0000 (22:56 +0300)]
wlcore/wl12xx/wl18xx: implement op_set_key per HW arch

The 12xx set_key just calls the common wlcore_set_key function, in order
to program the keys into the FW.

The 18xx variant changes the spare block count when a GEM or TKIP
key is set. Also modify the get_spare_blocks HW op for 18xx to return
the correct numbers of spare blocks, according to what is currently
set in FW.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore: stop queues on Tx flush
Arik Nemtsov [Mon, 14 May 2012 18:58:01 +0000 (21:58 +0300)]
wlcore: stop queues on Tx flush

Stop network queues during Tx flush, and also drop other internal
mac80211 packets (mgmt) that may arrive when the queues are stopped.

When flush is done all driver queues are clear, forcefully if needed.

Based on a patch by Eliad Peller <eliad@wizery.com>

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore: add stop reason bitmap for waking/starting queues
Arik Nemtsov [Mon, 14 May 2012 18:55:13 +0000 (21:55 +0300)]
wlcore: add stop reason bitmap for waking/starting queues

Allow the driver to wake/stop the queues for multiple reasons. A queue
is started when no stop-reasons exist.

Convert all wake/stop queue calls to use the new API.

Before, a stopped queue was almost synonymous a high-watermark on Tx.
Remove a bit of code in wl12xx_tx_reset() that relied on it.

Based on a similar patch by Eliad Peller <eliadWizery.com>.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore/wl12xx/wl18xx: handle spare blocks spacials cases per arch
Arik Nemtsov [Tue, 24 Apr 2012 14:55:02 +0000 (17:55 +0300)]
wlcore/wl12xx/wl18xx: handle spare blocks spacials cases per arch

Add a HW op for getting spare blocks.

12xx cards require 2 spare blocks for GEM encrypted SKBs, regardless
of VIFs or keys programmed into the FW.

18xx cards require 2 spare blocks when there are any connected TKIP or
GEM VIFs. For now always return 2 spare blocks, as this works with all
networks. The special case TKIP/GEM functionality is added at a later
patch.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space
Arik Nemtsov [Mon, 14 May 2012 11:31:37 +0000 (14:31 +0300)]
wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space

18xx chips do not require extra space in the TKIP header. Introduce a
new HW quirk to allow us to make this feature arch-specific. 12xx chip
will now have this quirk.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowlcore: set wl->ht_cap per-band
Eliad Peller [Sun, 13 May 2012 11:59:28 +0000 (14:59 +0300)]
wlcore: set wl->ht_cap per-band

Save the ht_cap IE per-band, so we can configure different
params to BG and A bands (we currently don't support MIMO
on A band)

[Small fix for rx_highest - Arik]

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agowl18xx: data packets hlid was not updated during tx
Ido Reis [Sun, 13 May 2012 17:07:53 +0000 (20:07 +0300)]
wl18xx: data packets hlid was not updated during tx

the hlid bit in the tx descriptor was not set on data packets tx.

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: PG2.0 HW Watch dog support
Ido Reis [Mon, 23 Apr 2012 14:35:25 +0000 (17:35 +0300)]
wl18xx: PG2.0 HW Watch dog support

Signed-off-by: Orit Brayer <orit@ti.com>
Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: FW/PHY arguments added for pg2
Ido Reis [Mon, 23 Apr 2012 13:49:19 +0000 (16:49 +0300)]
wl18xx: FW/PHY arguments added for pg2

Added 4 new parameters that are passed by the firmware to PHY.

Parameter Name| Description                    | Type  | Default Value
--------------|--------------------------------|-------|---------------------
Psat          | enable point saturation        | bool  | false
--------------|--------------------------------|-------|---------------------
low_power_val | low tx power value in dBm      | s8    | 0
--------------|--------------------------------|-------|---------------------
med_power_val | medium tx power value in dBm   | s8    | 0xa
--------------|--------------------------------|-------|---------------------
high_power_val| high tx power value in dBm     | s8    | 0x1e

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: dual fw support for pg1/pg2
Ido Reis [Sun, 6 May 2012 12:08:51 +0000 (15:08 +0300)]
wl18xx: dual fw support for pg1/pg2

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: PG2 padding
Ido Reis [Sun, 13 May 2012 11:53:40 +0000 (14:53 +0300)]
wl18xx: PG2 padding

in pg2 only the last frame in the aggregate buffer should be
aligned to the sdio block size. This frame header's msb should be
set to 0, while in all the previous frames in the aggregation
buffer, this bit should be set to 1.

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: pg2 update
Ido Reis [Sun, 22 Apr 2012 17:45:52 +0000 (20:45 +0300)]
wl18xx: pg2 update

pg2 is recognized with its unique chip id.
pg2 differ from pg1 in some control registers and addresses.
the difference in addressing in now maintained as a private struct
in the wl18xx_pric struct, that is assigned after recognizing the chip.
the yield workaround uses the specific struct to use the appropriate
addresses.
since pg2 suppose to work without the yield workaround, a new module
parameter is added, disable_yield_fix, that if assigned to true, the
workaround is discarded. default value is false.

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowl18xx: fix PHY_INIT addresses mem size
Ido Reis [Sun, 13 May 2012 12:27:17 +0000 (15:27 +0300)]
wl18xx: fix PHY_INIT addresses mem size

was hardcoded 252, now uses the parameters struct size.

Signed-off-by: Ido Reis <idor@ti.com>
8 years agowlcore: fix sparse warning in wl1271_get_scan_channels (squash) r8.a1.06-build_110 r8.a1.06-build_111 r8.a1.06-build_113
Victor Goldenshtein [Sun, 6 May 2012 15:59:55 +0000 (18:59 +0300)]
wlcore: fix sparse warning in wl1271_get_scan_channels (squash)

This fixes cpu_to_le32 sparse warnings and removes
mistakenly created duplicated lines in
wl1271_scan_send().

Should be squashed with: 80d71c9 wl12xx: adding
support for dynamic scan configuration.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Igal Chernobelsky <igalc@ti.com>
8 years agowl18xx: change default tcp_checksum to false ol_r8.a1.06 r8.a1.05-build_97 r8.a1.06-build_100 r8.a1.06-build_101 r8.a1.06-build_102 r8.a1.06-build_103 r8.a1.06-build_104 r8.a1.06-build_105 r8.a1.06-build_107 r8.a1.06-build_108 r8.a1.06-build_109 r8.a1.06-build_98 r8.a1.06-build_99
Assaf Azulay [Wed, 25 Apr 2012 08:21:11 +0000 (11:21 +0300)]
wl18xx: change default tcp_checksum to false

as tcp check sum is going to be removed from firmware, and as
there is a problem with getting dns in security when checksum is
enabled, it was decided to disable it by default.
for none security modes it can be enabled by module paramenter.

Signed-off-by: Assaf Azulay <assaf@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
8 years agoRevert "wlcore/wl12xx/wl18xx: make tkip extra space configurable by lower drivers" r8.a1.05
Luciano Coelho [Wed, 21 Mar 2012 19:37:24 +0000 (21:37 +0200)]
Revert "wlcore/wl12xx/wl18xx: make tkip extra space configurable by lower drivers"

This reverts commit eca4290723d827f0b9c4efcd2a295d8f3b040319.

9 years agowlcore: avoid using NET_IP_ALIGN for RX alignment ol_r8.a1.05 r8.a1.04-build_74 r8.a1.04-build_75 r8.a1.04-build_76 r8.a1.04-build_77 r8.a1.04-build_78 r8.a1.04-build_79 r8.a1.04-build_80 r8.a1.04-build_81 r8.a1.04-build_82 r8.a1.04-build_83 r8.a1.04-build_84 r8.a1.05-build_86 r8.a1.05-build_87 r8.a1.05-build_88 r8.a1.05-build_89 r8.a1.05-build_90 r8.a1.05-build_91 r8.a1.05-build_92 r8.a1.05-build_93 r8.a1.05-build_94 r8.a1.05-build_95 r8.a1.05-build_96 wl18xx-2012-04-04
Eyal Shapira [Wed, 28 Mar 2012 00:44:19 +0000 (02:44 +0200)]
wlcore: avoid using NET_IP_ALIGN for RX alignment

NET_IP_ALIGN can be overriden on different architectures
and therefore cannot be used in the RX path to account
for the 2 bytes added for alignment (either by the FW
in the case of 18xx or by the host for 12xx).
Instead use an internal define.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
9 years agowl18xx: use new fw stats structures
Luciano Coelho [Tue, 13 Mar 2012 14:32:14 +0000 (16:32 +0200)]
wl18xx: use new fw stats structures

Some of the structures were updated, other structures had a few
missing values and a few new ones were added.  Change the driver
structs accordingly.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore/wl12xx/wl18xx: don't force version check everytime (SQUASH)
Luciano Coelho [Thu, 22 Mar 2012 14:40:32 +0000 (16:40 +0200)]
wlcore/wl12xx/wl18xx: don't force version check everytime (SQUASH)

With compat-wireless, we shouldn't force the version.h file checks,
otherwise it will overwrite what we generated in compat-wireless
itself.  This was only needed for dirty trees anyway.  The side-effect
is that the version will not be regenerated when the tree becomes
dirty.

Should be squashed with c062da59.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add tx_ba_win_size entry in debugfs
Luciano Coelho [Wed, 21 Mar 2012 20:02:22 +0000 (22:02 +0200)]
wlcore: add tx_ba_win_size entry in debugfs

Add a file in debugfs that let's us change the TX BA window size.
After changing this value, the interface needs to be downed and then
upped again for the changes to take effect.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: increase tx_ba_win_size to 64 (SQUASH)
Luciano Coelho [Wed, 21 Mar 2012 19:45:31 +0000 (21:45 +0200)]
wl18xx: increase tx_ba_win_size to 64 (SQUASH)

Now the firmware can support TX block ack sessions with 64 frames.

Should be squashed with:
a811804b wl18xx: add runtime configuration parameters

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: increase aggregation buffer size by one page jenkins-OpenLink_R8_AndroidDailyBuild-46 wl18xx-2012-03-20
Luciano Coelho [Thu, 15 Mar 2012 09:20:39 +0000 (11:20 +0200)]
wlcore: increase aggregation buffer size by one page

With 4 pages (16Kb), we can't fit 10 frames in the aggregation buffer
during iperf.  This is the optimal for the firmware.  Thus, increase
the buffer size by one page.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl12xx: fix broken multicast in AP mode jenkins-OpenLink_R8_AndroidDailyBuild-44 jenkins-OpenLink_R8_AndroidDailyBuild-45
Eyal Shapira [Sat, 17 Mar 2012 15:54:38 +0000 (17:54 +0200)]
wl12xx: fix broken multicast in AP mode

commit 64981e8 (wl12xx: use correct link for bcast frames) broke
multicast traffic in WPA as it would casue multicast
packets to be sent on the global_hlid instead of the bcast_hlid

(Should be squashed with original patch for upstream)

9 years agowl12xx: use correct link for bcast frames
Eliad Peller [Tue, 28 Feb 2012 11:19:42 +0000 (13:19 +0200)]
wl12xx: use correct link for bcast frames

Broadcast management frames (e.g. global deauth)
should be sent out on the bcast link, rather than
the global, which should be used only for pre-added
stations (e.g. for auth/assoc resp).

Signed-off-by: Eliad Peller <eliad@wizery.com>
9 years agowl12xx: fix a memory leak of probereq template upon recovery
Eyal Shapira [Wed, 14 Mar 2012 11:22:09 +0000 (13:22 +0200)]
wl12xx: fix a memory leak of probereq template upon recovery

wlvif->probereq is zeroed when adding an interface but
the skb pointed to isn't freed when the interface is removed.
This would lead to a mem leak on every recovery.
Fix it by freeing the skb when removing the interface.

9 years agowl12xx: fix race between suspend/resume and recovery
Eyal Shapira [Tue, 13 Mar 2012 09:53:15 +0000 (11:53 +0200)]
wl12xx: fix race between suspend/resume and recovery

The iteration on the wlvif list in wl1271_op_resume/suspend was
perfomed before locking wl->mutex which would lead to a kernel
panic in case a recovery was queued at the same time
and would delete the wlvifs from the list.

9 years agowlcore/wl12xx/wl18xx: move lower driver debugfs to a subdir (SQUASH) jenkins-OpenLink_R8_AndroidDailyBuild-27 jenkins-OpenLink_R8_AndroidDailyBuild-28 jenkins-OpenLink_R8_AndroidDailyBuild-29 jenkins-OpenLink_R8_AndroidDailyBuild-30 jenkins-OpenLink_R8_AndroidDailyBuild-31 jenkins-OpenLink_R8_AndroidDailyBuild-35 jenkins-OpenLink_R8_AndroidDailyBuild-36 jenkins-OpenLink_R8_AndroidDailyBuild-37 jenkins-OpenLink_R8_AndroidDailyBuild-38 jenkins-OpenLink_R8_AndroidDailyBuild-39 jenkins-OpenLink_R8_AndroidDailyBuild-40 jenkins-OpenLink_R8_AndroidDailyBuild-41 jenkins-OpenLink_R8_AndroidDailyBuild-42 jenkins-OpenLink_R8_AndroidDailyBuild-43 wl18xx-2012-03-02
Luciano Coelho [Fri, 2 Mar 2012 13:43:58 +0000 (15:43 +0200)]
wlcore/wl12xx/wl18xx: move lower driver debugfs to a subdir (SQUASH)

Instead of adding more files from the lower drivers into the same
directory in debugfs as wlcore, we now add a subdirectory for the
lower driver.  This makes things a bit easier, because we can quickly
see where the debugfs entry is implemented and what is specific to the
lower driver.

This should be squashed into:
cd44ede3 wlcore: abstract debugfs fw_stats to be handled by the lower drivers
d335bf21 wl12xx: implement fw status debugfs entries
e373343d wl18xx: implement fw status debugfs entries

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore/wl12xx/wl18xx: make tkip extra space configurable by lower drivers
Luciano Coelho [Fri, 2 Mar 2012 11:22:56 +0000 (13:22 +0200)]
wlcore/wl12xx/wl18xx: make tkip extra space configurable by lower drivers

The wl18xx firmware doesn't need the TKIP extra space for TX.
Abstract this value and let the lower driver set it as needed, by
introducing a new value in the wl structure and adding the correct
values for both lower drivers.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: export pwr_limit_reference_11_abg value as a module parameter jenkins-OpenLink_R8_AndroidDailyBuild-26
Luciano Coelho [Thu, 1 Mar 2012 09:05:24 +0000 (11:05 +0200)]
wl18xx: export pwr_limit_reference_11_abg value as a module parameter

Yet another temporary module parameter requested by the firmware team.
This will be replaced by the conf binary.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: export low/high band component values as module params
Luciano Coelho [Thu, 1 Mar 2012 07:57:13 +0000 (09:57 +0200)]
wl18xx: export low/high band component values as module params

We use hardcoded values for the different board types.  In some cases
we may need to override the defaults, so export the values as module
params.  If not defined, the defaults for the specified board type
will be used.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: add power limit reference value to mac_and_phy settings
Luciano Coelho [Thu, 1 Mar 2012 07:33:38 +0000 (09:33 +0200)]
wl18xx: add power limit reference value to mac_and_phy settings

With more recent PHY firmware versions (>8.1.0.0.116), we need to use
the correct value for the pwr_limit_reference_11_abg parameter when
setting the mac_and_phy options.

For now we use a hardcoded 0xc8 as the value.  This will be moved to
the configuration binary when it gets implemented.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: gather information about firmware stability jenkins-OpenLink_R8_AndroidDailyBuild-24 jenkins-OpenLink_R8_AndroidDailyBuild-25 wl18xx-2012-02-28
Luciano Coelho [Tue, 28 Feb 2012 20:27:03 +0000 (22:27 +0200)]
wlcore: gather information about firmware stability

It's sometimes useful to gather information about the firmware
stability in long test runs, especially to see if problems are
recurring frequently or not.  With this commit we count the number of
times a hardware recovery was issued and print it out during recovery
and in the driver_state in debugfs.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add a debugfs entry to allow changing the sleep mode by hand
Luciano Coelho [Tue, 28 Feb 2012 17:13:28 +0000 (19:13 +0200)]
wlcore: add a debugfs entry to allow changing the sleep mode by hand

For FW debugging purposes, we may need to change the sleep mode
(aka. sleep_auth) by hand, and set it to the mode we want.  To allow
this, a debugfs entry is added.

Now we store the sleep_auth value that has been set and use that
instead of the quirk to decide whether we should enter ELP or not.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: add module parameter to force SISO 20MHz jenkins-OpenLink_R8_AndroidDailyBuild-23 wl18xx-2012-02-27
Luciano Coelho [Mon, 27 Feb 2012 21:49:00 +0000 (23:49 +0200)]
wl18xx: add module parameter to force SISO 20MHz

In some cases it may be useful to force narrow-band SISO channels.
Add a new value to the ht_mode module parameter to force the device to
operate in SISO 20MHz.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: use proper values for supported local rates
Luciano Coelho [Mon, 27 Feb 2012 21:24:27 +0000 (23:24 +0200)]
wlcore: use proper values for supported local rates

We were setting all the rates bits when starting the AP role.  Instead
of doing this, we should set only the rates we really support
(eg. MIMO rates or wide-channel rates).  This commit changes that so
that we always use the default rates (basic rates + MCS0-7) and add
the values returned by the ap_get_mimo_wide_rate_mask operation.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: don't use MIMO when ht_mode is set to wide
Luciano Coelho [Mon, 27 Feb 2012 21:17:35 +0000 (23:17 +0200)]
wl18xx: don't use MIMO when ht_mode is set to wide

If the wl18xx module is loaded with ht_mode=wide (the default), we
shouldn't use MIMO rates when the channel type is not HT40.  Fix this
by checking the ht_mode before deciding which rates to used.
Additionally, set the ht_mode parameter explicitly to "wide" as the
default.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: update channel also when channel type has changed
Luciano Coelho [Mon, 27 Feb 2012 17:26:21 +0000 (19:26 +0200)]
wlcore: update channel also when channel type has changed

We were not updating wl->channel_type when only the type has changed
in wl12xx_config_vif.  This was causing problems when restarting the
AP role in the same channel as before.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: print the interrupt status when recovery is triggered jenkins-OpenLink_R8_AndroidDailyBuild-18 jenkins-OpenLink_R8_AndroidDailyBuild-19 jenkins-OpenLink_R8_AndroidDailyBuild-20 jenkins-OpenLink_R8_AndroidDailyBuild-21 jenkins-OpenLink_R8_AndroidDailyBuild-22
Luciano Coelho [Thu, 23 Feb 2012 11:36:34 +0000 (13:36 +0200)]
wlcore: print the interrupt status when recovery is triggered

In some cases it may be useful for debugging to check what is the
status of the interrupt register when a hardware recovery happens.
Print the contents of REG_INTERRUPT_NO_CLEAR (aka. HINT_STS_RAW) when
recovery starts.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: print the PHY firmware version from the private static data
Luciano Coelho [Thu, 23 Feb 2012 08:57:31 +0000 (10:57 +0200)]
wl18xx: print the PHY firmware version from the private static data

The wl18xx firmware writes the PHY firmware version in the static
data.  Add an operation to parse the static data and print the PHY
firmware version when booting.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: create private static_data area and add operation to parse it
Luciano Coelho [Thu, 23 Feb 2012 08:20:05 +0000 (10:20 +0200)]
wlcore: create private static_data area and add operation to parse it

The wl18xx firmware has more information in the static_data than
wl12xx.  To be able to parse that in an abstracted way, this patch
adds a priv area to the static data struct and an operation that
allows the lower driver to parse it if necessary.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: fix "wlcore: update beacon and probe_resp..." (SQUASH) jenkins-OpenLink_R8_AndroidDailyBuild-12 wl18xx-2012-02-22
Luciano Coelho [Wed, 22 Feb 2012 16:24:28 +0000 (18:24 +0200)]
wlcore: fix "wlcore: update beacon and probe_resp..." (SQUASH)

This makes the code a bit cleaner.  Thanks Eliad for the comment.

Needs to be squashed with:
fbf05e7f (wlcore: update beacon and probe_resp templates when rates change)

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: implement fw status debugfs entries
Luciano Coelho [Wed, 22 Feb 2012 13:48:49 +0000 (15:48 +0200)]
wl18xx: implement fw status debugfs entries

Implement the operations that are necessary to fetch the
wl18xx-specific FW statistics and export them in debugfs.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl12xx: implement fw status debugfs entries
Luciano Coelho [Wed, 22 Feb 2012 13:48:49 +0000 (15:48 +0200)]
wl12xx: implement fw status debugfs entries

Implement the operations that are necessary to fetch the
wl12xx-specific FW statistics.  Re-add some of the code removed from
wlcore.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add debugfs macro to help print fw statistics arrays
Luciano Coelho [Wed, 22 Feb 2012 16:07:19 +0000 (18:07 +0200)]
wlcore: add debugfs macro to help print fw statistics arrays

Add a macro to make it easy to print arrays from the FW statistics
array in debugfs.  At the same time, increase the buffer size so
arrays fit more easily.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: abstract debugfs fw_stats to be handled by the lower drivers
Luciano Coelho [Wed, 22 Feb 2012 13:47:06 +0000 (15:47 +0200)]
wlcore: abstract debugfs fw_stats to be handled by the lower drivers

The FW statistics differ from hardware to hardware.  This commit
prepares for hardware-specific implementation of the FW statistics
debugfs entries.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: use all AP basic rates as default ol_r8.a1.02 wl18xx-2012-02-21
Luciano Coelho [Tue, 21 Feb 2012 09:39:15 +0000 (11:39 +0200)]
wlcore: use all AP basic rates as default

Sometimes we get a BSS_CHANGED_BEACON_ENABLED event before the basic
rates have been properly set.  To avoid problems with the firmware not
expecting to receive frames at rates that are not set during
CMD_START_ROLE, we now start with all basic rates by default.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: update beacon and probe_resp templates when rates change
Luciano Coelho [Tue, 21 Feb 2012 09:34:18 +0000 (11:34 +0200)]
wlcore: update beacon and probe_resp templates when rates change

When the data rates change, we get BSS_CHANGED_BASIC_RATES.  At this
point, we should update all the templates to match the new rates.  We
were changing some of the templates, but the beacon and the probe
response templates were missing.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agoARM: defconfig: add debug and throughput configs for Blaze
Luciano Coelho [Tue, 21 Feb 2012 07:23:14 +0000 (09:23 +0200)]
ARM: defconfig: add debug and throughput configs for Blaze

(not for upstream)

Added two new defconfig files:

      * blaze_tp_defconfig: for high throughput (no debugging)
      * blaze_debug_defconfig: heavy debugging (slow)

These configurations are an attempt of having a minimal configuration.
Lots of stuff have been removed, probably won't boot to the GUI.  For
use with console only.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore/wl12xx/wl18xx: move version prints to module init wl18xx-02-20
Luciano Coelho [Mon, 20 Feb 2012 14:54:54 +0000 (16:54 +0200)]
wlcore/wl12xx/wl18xx: move version prints to module init

It's good to print out the driver version as early as possible, so we
can also catch problems with the probe.  Move the version info to init.

Also, change "compilation time" to "timestamp", because it doesn't
mean the compile time anymore but the modification time of the source
file that generates it.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore/wl12xx/wl18xx: force recheck of version.h and use -dirty if needed
Luciano Coelho [Mon, 20 Feb 2012 09:59:59 +0000 (11:59 +0200)]
wlcore/wl12xx/wl18xx: force recheck of version.h and use -dirty if needed

If the tree was changed and unstaged or if a new tag was added, we
were not regenerating the version.h file, so it would contain outdated
information.

To fix this, force the version.h file to be rechecked during make and
use __TIMESTAMP__ instead of using the shell's date command, so that
we don't regenerate it everytime.

Additionally, use --dirty in git describe to mark dirty trees as such.

Thanks Eliad for the help with this.

Cc: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: disable MCS_13 for wl18xx PG 1.0 wl18xx-2012-02-15
Luciano Coelho [Wed, 15 Feb 2012 20:46:15 +0000 (22:46 +0200)]
wl18xx: disable MCS_13 for wl18xx PG 1.0

There are some problems with MCS_13 in PG 1.0 hardware.  So we disable
it when PG 1.0 is detected.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: reorder identify_chip and get_hw_info
Luciano Coelho [Wed, 15 Feb 2012 20:38:05 +0000 (22:38 +0200)]
wlcore: reorder identify_chip and get_hw_info

We can do get the HW information and identify the chip already at
probe time.  This makes it easier to mangle with the parameters during
identify chip before registering the hardware with mac80211.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: change low_band_component_type value for COM8
Luciano Coelho [Wed, 15 Feb 2012 12:58:10 +0000 (14:58 +0200)]
wl18xx: change low_band_component_type value for COM8

Like HDK, COM8 uses 0x06 for the low_band_component_type as well.
Hardcode the value for COM8 until this configuration can be done in
the external configuration binary (to be implemented).

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add space for private area when allocating fw_status (SQUASH) wl18xx-2012-02-14
Luciano Coelho [Tue, 14 Feb 2012 13:18:26 +0000 (15:18 +0200)]
wlcore: add space for private area when allocating fw_status (SQUASH)

When allocating the fw_status structure, the space for the
lower-driver private area was missing.  This was causing an illegal
write outside the allocated area, which was causing random oopses
around the kernel.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowl18xx: release OCP bridge (yield issue) ol_r8.a1.01 wl18xx-2012-02-09
Victor Goldenshtein [Thu, 9 Feb 2012 19:22:35 +0000 (21:22 +0200)]
wl18xx: release OCP bridge (yield issue)

Some PDSP Registers wake up value is such that OCP
bridge is stuck, this happens randomly.
Toggle BT and PHY reset till OCP is free during boot.

Signed-off-by: Orit Brayer <orit@ti.com>
Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add fw_name module parameters for overriding
Luciano Coelho [Thu, 9 Feb 2012 18:39:38 +0000 (20:39 +0200)]
wlcore: add fw_name module parameters for overriding

In order to support multiple concurrent firmware projects, we need to
allow the used firmware names to be changed at runtime.  This patch
adds module parameters for the FW names and checks if the name is the
same, in which case, we don't need to perform a fw change (with HW
recovery).

This is temporary and should be cleaned up for upstream.  The upstream
code with fw_type and such is already a bit different, so we need to
rebase and re-do this properly.  There are other, probably cleaner,
ways to do this.

Signed-off-by: Luciano Coelho <coelho@ti.com>
9 years agowlcore: add missing wake_lock declarations
Ido Reis [Thu, 9 Feb 2012 12:34:40 +0000 (14:34 +0200)]
wlcore: add missing wake_lock declarations

Signed-off-by: Ido Reis <idor@ti.com>