ti_config_fragment: audio_display: build driver for PWM based LCD backlight

Add necessary kernel CONFIG to enable PWM based backlight on the LCD panel for
boards that use a PWM to control the backlight.

This config builds it as a loadable kernel module.

Signed-off-by: Darren Etheridge <detheridge@ti.com>
wlcore: memset wl->rx_filter_enabled to zero after recovery

[ Upstream commit 02d0727ca3b0bc8194bd69cd52ddf9e4e2910890 ]

cases were the driver will keep trying to clear a
filter which is not configured in FW.

Such case will cause consecutive recoveries due to
command execution failures.

While on it, convert rx_filter_enabled to bitmap,
to save some memory and make sparse happy (it
doesn't like sizeof(bool array)).

Signed-off-by: Nadim Zubidat <nadimz@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: cancel Tx watchdog on suspend and rearm on first Tx after

[ Upstream commit 9be86cf067f43c3a43a538189d773afc812e4017 ]

out the packets during the time when the host is supsended. Cancel
the Tx-watchdog on suspend to not cause a spurious recovery on resume
for that case. Set a flag to reinit the watchdog on the first Tx after
resume, so we'll still recover if the FW is not empty and there's
indeed a problem.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: block read/writes to FW during ELP

[ Upstream commit 51ae14d0eae31a7d678c201c9664efbb373f97fa ]

the lower layers to get stuck. The reads/writes concerning ELP wakeup
are the exception here and are checked for. In addition to blocking the
IO, produce a warning.

Signed-off-by: Barak Bercovitz <barak@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: AP: don't start mac80211 PS on non-peer HLIDs

[ Upstream commit 7a536265b0b470893c13dc0f094e3078521818e2 ]

of the broadcast HLID. This causes us to search for a station on a
non-peer link and fail, causing warnings in our log.

Prevent the driver from considering PSM changes for any non-peer HLIDs.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore/wl12xx/wl18xx: simplify fw_status handling

[ Upstream commit 75fb4df7f804229372e073977615a149a4a28dc0 ]

complex calculations, read the fw status and let each low-level
driver (wl12xx/wl18xx) convert it into a common struct.

This is required for the upcoming fw api changes, which
break the current logic anyway.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore/wl12xx/wl18xx: configure num_links per-hw

[ Upstream commit da08fdfaf09f161c923c9d2b7db2fba8cc9c457c ]

(according to the hw). Get ready for it by configuring
wl->num_links per-hw, instead of using the const WL12XX_MAX_LINKS.

However, continue using WLCORE_MAX_LINKS in order to simplify
structs declarations (we use it in multiple bitmaps, and converting
them to dynamic arrays is just cumbersome).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore/wl12xx/wl18xx: configure max_stations per-hw

[ Upstream commit 32f0fd5b700064f821105be041d0075decc4ec64 ]

same ap). add a new wl->max_ap_stations and use it instead
of the current common AP_MAX_STATIONS.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore/wl12xx/wl18xx: configure iface_combinations per-hw

[ Upstream commit abf0b24912640c4fa94b0a2f22ee9d51c8521b16 ]

Define the supported combinations in each driver,
and save it in wl->iface_combinations.

Since each driver defines its own combinations now,
it can also define its max supported channels, so
we no longer need to save and set it explicitly
in wlcore.

Update wl18xx interface combinations to allow
multiple APs.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wl18xx: move to new firmware (wl18xx-fw-3.bin)

[ Upstream commit 028e7243ac411c3aba7a754bcc775c2fbb0b3e5c ]

This fw is not backward compatible with older
firmware (due to api changes), so use bump
the firmware name as well.

Some modifications were done to the driver-fw api
in order to support multiple APs.

Additionally, some of the consts (such as max stations,
max links and max RX BA sessions) were changed.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: send EAPOL frames with voice priority

[ Upstream commit 2a5ad92e271e518281504eeeab1dd311351ff7b7 ]

TX_HW_ATTR_EAPOL_FRAME bit in tx attribute.

Sending EAPOL with voice priority fixes re-key
timeout issues during heavy traffic.

Signed-off-by: Igal Chernobelsky <igalc@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: don't stop sched_scan on interface removal

[ Upstream commit 5a441f5ff75daf9c3c6657a66e2806a1255f5b84 ]

is no longer needed, as sched scanning is automatically
restarted by mac80211.

Signed-off-by: Barak Bercovitz <barak@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: wl18xx: allow CCK rates for AP mode

[ Upstream commit bc566f9203c2813a2e083677eb99c62b1cb14d03 ]

is no longer required in 18xx chips, starting with FW 8.6.0.0.8.

Update the min allowed FW version in 18xx to support this functionality.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: don't handle unsetting of default wep key

[ Upstream commit bf4e5f1ac0e2b277424ec0d035b1fbab46dd66bb ]

The fw doesn't support this notification, so simply
ignore it.

The actual flow actually triggers fw recovery in some
cases, as mac80211 unsets the default key only after
disassoc, when wlvif->sta.hlid, resulting in invalid
hlid being passed to the fw.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: consider multiple APs when checking active_link_count

[ Upstream commit 41ed1a787c4940d58d5870c633ab6291dd4679dd ]

checking for active sta count (according to the active_link_count)
we must take them all into account.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: decrease warning verbosity during recovery

[ Upstream commit 1ede95007371c27729383c8977e04abf63874ea8 ]

being passed to the bus when the HW is not available. This can happen
many times during recovery and slow it down. It also spams the kernel
logs.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: increase timeout to 5000 msecs

[ Upstream commit 5b07d97a381508dfc79bda72778ac27c1bdba320 ]

the current timeout. increase it to 5 seconds.

Signed-off-by: Yaniv Machani <yanivma@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: enable beacon filtering only after receiving a beacon

[ Upstream commit d881fa2c5032918e2b03ce6e12a5886f08acb459 ]

might result in not having a beacon at all for the
current connected AP, which prevents the station
from entering power-save.

Replace the current approach (of starting beacon
filtering on init) and configure beacon filering
only after bss_conf->dtimper is set (which means
mac80211 already parsed a beacon).

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: add support for STA CSA with chan contexts

[ Upstream commit 6b27fe51675fd462967b824f63c5c009e9616363 ]

switch_channel op while operating with channel contexts.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
mac80211: allow driver to return error from sched_scan_stop

[ Upstream commit 37e3308cb2b6933019d9d9c2045877d6d68d9c5a ]

for the driver to be able to return an error to propagate that
to cfg80211 so it doesn't send an event.

Reviewed-by: Alexander Bondar <alexander.bondar@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>