Christophe JAILLET
c03e3fe91c
ipw2x00: Remove a memory allocation failure log message
...
Axe a memory allocation failure log message. This message is useless and
incorrect (vmalloc is not used here for the memory allocation)
This has been like that since the very beginning of this driver in
commit 43f66a6ce8 ("Add ipw2200 wireless driver.")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424154527.27309-1-christophe.jaillet@wanadoo.fr
2020-05-06 11:31:49 +03:00
Kai-Heng Feng
fd5d781964
rtw88: Use udelay instead of usleep in atomic context
...
It's incorrect to use usleep in atomic context.
Switch to a macro which uses udelay instead of usleep to prevent the issue.
Fixes: 6343a6d4b2 ("rtw88: Add delay on polling h2c command status bit")
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200423073007.3566-1-kai.heng.feng@canonical.com
2020-05-06 11:30:34 +03:00
Kai-Heng Feng
57a29df341
iopoll: Introduce read_poll_timeout_atomic macro
...
Like read_poll_timeout, an atomic variant for multiple parameter read
function can be useful.
Will be used by a later patch.
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424184918.30360-1-kai.heng.feng@canonical.com
2020-05-06 11:29:25 +03:00
Greg Kroah-Hartman
ea1b3bc6d5
brcmfmac: no need to check return value of debugfs_create functions
...
When calling debugfs functions, there is no need to ever check the
return value. The function can work or not, but the code logic should
never do something different based on this.
In doing this, make brcmf_debugfs_add_entry() return void as no one was
even paying attention to the return value.
Cc: Arend van Spriel <arend.vanspriel@broadcom.com >
Cc: Franky Lin <franky.lin@broadcom.com >
Cc: Hante Meuleman <hante.meuleman@broadcom.com >
Cc: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Cc: Wright Feng <wright.feng@cypress.com >
Cc: Kalle Valo <kvalo@codeaurora.org >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: "Rafał Miłecki" <rafal@milecki.pl >
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: brcm80211-dev-list@cypress.com
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200429101526.GA2094124@kroah.com
2020-05-04 12:50:13 +03:00
Jason Yan
ff2af09f45
brcmfmac: remove comparison to bool in brcmf_fws_attach()
...
Fix the following coccicheck warning:
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c:2359:6-40:
WARNING: Comparison to bool
Signed-off-by: Jason Yan <yanaijie@huawei.com >
Reviewed-by: Chi-hsien Lin <chi-hsien.lin@cypress.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200426094053.23132-1-yanaijie@huawei.com
2020-05-04 12:49:42 +03:00
Ryohei Kondo
2719afcae7
brcmfmac: add vendor ie for association responses
...
Miracast Certification clause 6.1.2 may fail if there is no WFD IE in
p2p assoc response. This change allows WFD IE to be added to p2p assoc
response.
Related WFA certification:
6.1.2 P-SnUT operating as a Group Owner accepts a WFD Session with a
Reference Source
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Ryohei Kondo <ryohei.kondo@cypress.com >
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587970803-77700-6-git-send-email-chi-hsien.lin@cypress.com
2020-05-04 12:48:57 +03:00
Chi-Hsien Lin
053ac9e143
brcmfmac: only generate random p2p address when needed
...
P2p spec mentioned that the p2p device address should be the globally
administered address with locally administered bit set. Therefore,
follow this guideline by default.
When the primary interface is set to a locally administered address, the
locally administered bit cannot be set again. Generate a random locally
administered address for this case.
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587970803-77700-5-git-send-email-chi-hsien.lin@cypress.com
2020-05-04 12:48:44 +03:00
Madhan Mohan R
d524d5ce36
brcmfmac: p2p cert 6.1.9-support GOUT handling p2p presence request
...
Send p2p presence response from the p2p interface address instead
of the p2p device address. This is needed for p2p cert 6.1.9 to pass.
Signed-off-by: Madhan Mohan R <MadhanMohan.R@cypress.com >
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587970803-77700-4-git-send-email-chi-hsien.lin@cypress.com
2020-05-04 12:48:32 +03:00
Wright Feng
19f557a9b8
brcmfmac: remove arp_hostip_clear from brcmf_netdev_stop
...
The firmware does not respond ARP request and causes ping failure with
following steps:
1. Bring up interface
ifconfig wlan0 up or start wpa_supplicant
2. Set the IP address
ifconfig wlan0 192.168.100.10
3. Bring down interface or
ifconfig wlan0 down or kill wpa_supplicant
4. Bring up interface again and set the same IP address
5. Connect to AP(192.168.100.1) and ping to AP will be failed.
FMAC clears arp_hostip when bringing down the interface, but not set it
back if setting the same IP address. We are able to see the IP address
in interface info(inconfig wlan0) but the ping still cannot work because
the firmware ARP offload does not respond the ARP request.
Because of that, we remove "arp_hostip_clear" from function
"brcmf_netdev_stop"
Signed-off-by: Wright Feng <wright.feng@cypress.com >
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587970803-77700-3-git-send-email-chi-hsien.lin@cypress.com
2020-05-04 12:48:28 +03:00
Wright Feng
774965f22d
brcmfmac: keep apsta enabled when AP starts with MCHAN feature
...
When starting station mode on wlan0 and AP mode on wlan1, the apsta will
be disabled and cause data stall on wlan0(station). The apsta feature
with MCHAN(Multi-Channel Concurrent) or RSDB(Real Simultaneous
Dual-Band) can make STA+AP work on two bands concurrently.
Because of that, we keep apsta enabled if firmware supports MCHAN or
RSDB features
Signed-off-by: Wright Feng <wright.feng@cypress.com >
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587970803-77700-2-git-send-email-chi-hsien.lin@cypress.com
2020-05-04 12:48:27 +03:00
Colin Ian King
a6336094c3
rtw88: fix spelling mistake "fimrware" -> "firmware"
...
There are spelling mistakes in two rtw_err error messages. Fix them.
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424084733.7716-1-colin.king@canonical.com
2020-05-04 12:47:13 +03:00
Yan-Hsuan Chuang
421ae61c10
rtw88: 8822c: update phy parameter tables to v50
...
Update RTL8822C devices' phy tables to v50.
The new parameters introduces new RFE type 5 for some new modules.
Also added a new regulatory CN for power limit.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424073812.26896-1-yhchuang@realtek.com
2020-05-04 12:46:14 +03:00
Kalle Valo
c1070c1c6c
Merge tag 'iwlwifi-next-for-kalle-2020-04-24-2' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
...
First set of iwlwifi patches intended for v5.8
* TX queue debugfs improvements;
* Support for a few new FW API versions;
* Remove deprecated scan FW API version;
* New hw configs and other related changes;
* Support for NPK buffers in debugging;
* More debugging fetures;
* Some other small fixes and clean-ups;
# gpg: Signature made Fri 24 Apr 2020 04:39:43 PM EEST using RSA key ID 1A3CC5FA
# gpg: Good signature from "Luciano Roth Coelho (Luca) <luca@coelho.fi >"
# gpg: aka "Luciano Roth Coelho (Intel) <luciano.coelho@intel.com >"
2020-05-04 11:45:47 +03:00
John Oldman
86501437d8
ssb: scan: fix block comments coding style issues
...
Fixed coding style issues
Signed-off-by: John Oldman <john.oldman@polehill.co.uk >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200425155233.19624-1-john.oldman@polehill.co.uk
2020-04-28 12:02:22 +03:00
John Oldman
2aad9f81d3
ssb: sprom: fix block comments coding style issues
...
Fixed coding style issues
Signed-off-by: John Oldman <john.oldman@polehill.co.uk >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424175043.16261-1-john.oldman@polehill.co.uk
2020-04-28 12:00:56 +03:00
Yan-Hsuan Chuang
3d8bf50860
rtw88: fix sparse warnings for download firmware routine
...
sparse warnings: (new ones prefixed by >>)
>> drivers/net/wireless/realtek/rtw88/mac.c:653:5: sparse: sparse:
symbol '__rtw_download_firmware' was not declared. Should it be static?
>> drivers/net/wireless/realtek/rtw88/mac.c:817:5: sparse: sparse:
symbol '__rtw_download_firmware_legacy' was not declared. Should it be
static?
Fixes: 15d2fcc6b2 ("rtw88: add legacy firmware download for 8723D devices")
Reported-by: kbuild test robot <lkp@intel.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200424101255.28239-1-yhchuang@realtek.com
2020-04-28 11:43:59 +03:00
Gil Adam
cbc636557d
iwlwifi: debug: set NPK buffer in context info
...
When buffer destination for ini debug is configured
to NPK (TB22DTF) set the appropriate bit in the context
info struct.
Signed-off-by: Gil Adam <gil.adam@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.3c9f0fa6033f.Id1d6c191f85efe0d6cf35434bfb186ffd46ff64c@changeid
2020-04-24 16:38:12 +03:00
Luca Coelho
62bee4862b
iwlwifi: pcie: add new structs for So devices with long latency
...
Some So devices have a longer wake latency. To support this properly,
add new cfg structs for them so the driver will inform the FW about
the need to use another xtal and use a higher wait value during state
transitions.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.daf515618f57.I80e60006b108e1586e3c56669635c670597fe08d@changeid
2020-04-24 16:38:12 +03:00
Luca Coelho
9c9613f0ee
iwlwifi: pcie: add new structure for Qu devices with medium latency
...
Some Qu devices require an intermediate amount of time to wake up and
for LTR notifications, so add a new structure with the correct values
for them and change the corresponding devices to use it.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.d6df2bcee78f.Ie008b0c8f03340a466c1ef981bfd25359c9de90d@changeid
2020-04-24 16:38:11 +03:00
Johannes Berg
0928df0a86
iwlwifi: mvm: tell firmware about required LTR delay
...
Some (integrated) devices need a longer LTR delay than the firmware
would typically apply, tell it about that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.24276ae2ad61.I8831a538f75893d5cee47b4a81f4b9b7fd0e8bea@changeid
2020-04-24 16:38:11 +03:00
Ihab Zhaika
2d39683e73
iwlwifi: update few product names in AX family
...
update the product names of few structs in AX family.
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.738dabad8732.I5673eaf8a016b8aa27ab8bab02121108fa723783@changeid
2020-04-24 16:38:11 +03:00
Luca Coelho
4ee27edd38
iwlwifi: pcie: add cfgs for SoCs with device ID 0x4FD0
...
A new device ID needs to be added to the list to support new SoCs.
Add it and support all subsystem IDs that other Qu devices support.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.5e5ce668ff8b.I20a9c8b3470aaabaa54361a5641637e5a14d8321@changeid
2020-04-24 16:38:11 +03:00
Ihab Zhaika
e819a80a97
iwlwifi: add new cards for AX family
...
add few PCI ID'S for AX family.
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.5eae2261b70c.I0369619a562c4e4008e2f0a3afb9ed5d4c9b49d4@changeid
2020-04-24 16:38:11 +03:00
Mordechay Goodstein
28dd7ccdc5
iwlwifi: acpi: read TAS table from ACPI and send it to the FW
...
Read the Time Averaged SAR (TAS) table from ACPI and if TAS
feature is enabled in the FW send the black list countries
which TAS is disabled in to the FW
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.40a327d32cfd.I7203f3afc8186cca34c48a1a116baac1df5eff4e@changeid
2020-04-24 16:38:11 +03:00
Emmanuel Grumbach
9efab1ad3f
iwlwifi: remove fw_monitor module parameter
...
This module parameter is no longer useful now that other debug
infrastructure was added to iwlwifi.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.03bd49c3432b.Ie62047d3b364b19c8c3584ea37790220466f2a8d@changeid
2020-04-24 16:38:11 +03:00
Luca Coelho
9dede81245
iwlwifi: remove deprecated and unused iwl_mvm_keyinfo struct
...
This struct hasn't been used in years and is just a remnant of an API
support removal that missed this structured.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.93860da2d12a.Ifeca3b3313e3f14330317bc3e3d62f7d991ec955@changeid
2020-04-24 16:38:10 +03:00
Gil Adam
c4ace42659
iwlwifi: mvm: add framework for specific phy configuration
...
Add framework for supporting specific PHY filter configuration,
which allows for application of various FW defined PHY filters
(one per antenna). Change phy_cfg_cmd to the new API (ver3).
Reading of configuration from platform's ACPI tables to be added
later when tables are defined.
Signed-off-by: Gil Adam <gil.adam@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.242a8f979592.I13c77a8a8dbf1a169b5052c7af1f8401ff3991ad@changeid
2020-04-24 16:38:10 +03:00
Johannes Berg
63417549fc
iwlwifi: pcie: move iwl_pcie_ctxt_info_alloc_dma() to user
...
There's no need for this to be an inline in the header file,
only the context-info.c file ever uses it. Move it there.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.818a06457888.Ib4f55280cd14d7edab37f2992b381c9b6ca4cd7a@changeid
2020-04-24 16:38:10 +03:00
Shahar S Matityahu
f05f8edd90
iwlwifi: yoyo: support IWL_FW_INI_TIME_POINT_HOST_ALIVE_TIMEOUT time point
...
Allow the driver to perform dump collection in case of alive notification
timeout in yoyo mode.
Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.bd46e6240590.Ibda6d9d330a1ae49670152cede34629b280f6cf9@changeid
2020-04-24 16:38:10 +03:00
Johannes Berg
a548c69d2e
iwlwifi: mvm: add DCM flag to rate pretty-print
...
It's useful to know if DCM was enabled, add this flag
to the rate pretty-printer.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.891bb9741eca.Ia66448f7e00be9e4c9ea7147b90d4fcd5f1d3845@changeid
2020-04-24 16:38:09 +03:00
Johannes Berg
161158d7af
iwlwifi: pcie: gen2: minor code cleanups in byte table update
...
One line should be indented less, otherwise it looks like it
belongs into the parentheses, which clearly it doesn't; also
some variables can move into their respective if branches.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.a4858aa0441b.I0e70e4a5493fe6b8db6390f9349ff0e7888ab240@changeid
2020-04-24 16:38:09 +03:00
Johannes Berg
95a9e44f8f
iwlwifi: pcie: add n_window/ampdu to tx_queue debugfs
...
Add the n_window and ampdu parameters so we can see them.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.a2cc1f36008f.Iea23802bb64a08de410223e9af4431dfcadf121b@changeid
2020-04-24 16:38:09 +03:00
Johannes Berg
df67a1bea0
iwlwifi: pcie: use seq_file for tx_queue debugfs file
...
On newer hardware, the tx_queue debugfs file would need to
allocate 37.5kib data since there are 512 queues, which is
too much. Rather than resorting to kludges like kvmalloc(),
use the seq_file API to print out the data.
While at it, also fix a NULL pointer dereference here, the
txq pointer from trans_pcie->txqs[] may be NULL if that
queue hasn't been allocated.
Signed-off-by: Johannes Berg <johannes.berg@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.491cf8224c49.I7f154d81e5becef3b5ff22d7c6e36170bde0d7d5@changeid
2020-04-24 16:38:09 +03:00
Mordechay Goodstein
250380c9b8
iwlwifi: support version 9 of WOWLAN_GET_STATUS notification
...
Add support for the new WOWLAN_GET_STATUS notification that contains a
new element that informs the driver of TIDs whose BA sessions were
closed during suspend.
Note that the new functionality of handling these closed sessions is not
implemented in this patch it. It only aligns to the new API version.
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.b02153b94c1d.Ieb6291586d60f372d5a505604b18227ef97e7202@changeid
2020-04-24 16:38:09 +03:00
Shahar S Matityahu
7a99c877ae
iwlwifi: dbg: support multiple dumps in legacy dump flow
...
Support multiple debug data collection triggers in legacy flow.
Utilize the already existing Yoyo infra so the change is rather simple.
Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.5be6a1923cbe.I10701236b03f66328041f2a38f5f0f22a26fd40b@changeid
2020-04-24 16:38:09 +03:00
Mordechay Goodstein
4af119509a
iwlwifi: move API version lookup to common code
...
The API version lookup is parsed from a TLV and should be in shared code
make make it reusable across all opmodes.
Also change the function names from mvm to fw, since this is not
mvm-specific anymore.
Additionally, since this function is not just a single line of code, it
shouldn't be inline. Convert them to actual functions.
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200421133326.cf94672dfcdb.I5ede9cc25ee8de7b8d2b5c574f917a18971da734@changeid
2020-04-24 16:37:57 +03:00
Tova Mussai
c2cf318df8
iwlwifi: nvm: use iwl_nl80211_band_from_channel_idx
...
Use iwl_nl80211_band_from_channel_idx in iwl_parse_nvm_mcc_info
Signed-off-by: Tova Mussai <tova.mussai@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.a64a018f244e.Ie75ac5bb0f0f524d26944800138855ef2228339a@changeid
2020-04-24 16:35:51 +03:00
Tova Mussai
de2cc97acb
iwlwifi: scan: remove support for fw scan api v13
...
The fw already supports scan api v14 and the firmware version that
supports only v13 was not published, so we can remove support for v13 in
the driver.
Signed-off-by: Tova Mussai <tova.mussai@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
Link: https://lore.kernel.org/r/iwlwifi.20200417131727.11883315579a.I4f59100e457c1079c5e4c90e4930d1fa62b7ddd7@changeid
2020-04-24 13:29:30 +03:00
Ping-Ke Shih
75e69fb11b
rtw88: 8723d: initialize mac/bb/rf basic functions
...
Implement rtw_chip_ops::phy_set_param and ::mac_init to initialize
mac/bb/rf, and they are used during interface up. The procedure contains
power on sequence registers, download firmware, load predefined parameters,
mac/bb/rf specific register and etc.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-9-yhchuang@realtek.com
2020-04-23 07:47:27 +03:00
Ping-Ke Shih
d91277de23
rtw88: 8723d: Organize chip TX/RX FIFO
...
TX FIFO size is 32k and it was divided into 256 pages with 128 bytes.
A boundary is used to split pages into two parts, head part is used to
store TX packets coming from host, and tail part is reserved for special
purposes, such as beacon packet, null data packet and so on.
The TX packets coming from host have many categories, such as VO, VI, BE,
BK, MG and etc. When going into head part of TX FIFO, they are classified
to four priority queue named low, normal, high and extra priority queues.
Each priority queue occupies predefined number of page, if a certain
priority queue is full, TX packet will store into PUB priority queue.
Similarly, RX FIFO is 16k and split into two parts, head part is used to
store RX packets, and tail part is 128 bytes and used to store report.
Thus, we fill this boundary to register as well.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-8-yhchuang@realtek.com
2020-04-23 07:47:26 +03:00
Ping-Ke Shih
ba9f0d1b8d
rtw88: 8723d: implement set_tx_power_index ops
...
The txagc table is used to map rate_id and txagc register address and
mask, and ops set_tx_power_index uses this table to write TX power to
corresponding registers. Since 8723D is a 1x1 2.4G 11n chip, only CCK, OFDM
and HT_MCS 0-7 are listed in the table.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-7-yhchuang@realtek.com
2020-04-23 07:47:25 +03:00
Ping-Ke Shih
7907b52de0
rtw88: 8723d: 11N chips don't support H2C queue
...
H2C queue is used to send command to firmware. Since 8723D doesn't support
this queue, this commit check wlan_cpu flag to avoid to set H2C related
registers.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-6-yhchuang@realtek.com
2020-04-23 07:47:24 +03:00
Ping-Ke Shih
fd9ead3851
rtw88: decompose while(1) loop of power sequence polling command
...
The power polling command is one kind of power sequence commands. It's used
to check hardware situation, and subsequent comamnds will be executed if
hardware is ready. A special case is PCIE must toggle BIT_PFM_WOWL and try
again if first try is failed.
In order to reduce indentation to understand the code easier, move polling
part to a separate function. Then, the 'while (1)...loop' is replaced by
two statements to do first try and retry.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-5-yhchuang@realtek.com
2020-04-23 07:47:23 +03:00
Ping-Ke Shih
4e223a5f53
rtw88: 8723d: Add mac power-on/-off function
...
The mac power-on flow consists of three steps:
1. pre_sys_cfg (Before switching power state)
2. power_switch (Switching power state)
3. init_sys_cfg (Settings after swtiching power state)
When switching power state, driver will load and parse the power sequence
tables. For 8723D devices, the logics for parsing are most same except for
the polling function. 8723D devices need to toggle BIT_PFM_WOWL twice.
The settings after power state is switched for 8723D devices are quite
different with other devices, extract a legacy function for them.
For power-off flow, 8723D devices have the same logic with existing chips.
But warning printed if we run power-off sequence in power-off state:
rtw_pci 0000:03:00.0: failed to poll offset=0x5f8 mask=0xff value=0x0
The scenario is user do 'ifconfig up' that will run power-on sequence to
bring up and then run power-off sequence to enter idle
(IEEE80211_CONF_IDLE). Then, user do 'ifconfig down' that will run
power-off sequence again, and the warning is shown. Original code check
power-on state to avoid to run power-on sequence twice, and this commit
extends to check both power-on and power-off states.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-4-yhchuang@realtek.com
2020-04-23 07:47:21 +03:00
Ping-Ke Shih
e5f57ad06a
rtw88: no need to send additional information to legacy firmware
...
The firmware of 11AC devices need more information to support more offload
functions, such as IQK. And 11N devices such as 8723D does not support
offload these function in firmware, there is no need to send these additional
information to firmware when it comes to 11N devices.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-3-yhchuang@realtek.com
2020-04-23 07:47:20 +03:00
Ping-Ke Shih
15d2fcc6b2
rtw88: add legacy firmware download for 8723D devices
...
The WLAN CPU of 8723D device is different from others, add legacy
firmware download function for it. A new variable wlan_cpu is used to
decide which firmware download function we should use.
Legacy firmware file contains 32 bytes header including version and
subversion. When downloading to wlan cpu, header is excluded.
Firmware is downloaded via beacon queue to reserved page that is a part of
TX buffer. Since 11N WLAN CPU uses different control registers, this patch
introduces related control registers.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200422034607.28747-2-yhchuang@realtek.com
2020-04-23 07:47:19 +03:00
Raz Bouganim
2b7aadd3b9
wlcore: Adding suppoprt for IGTK key in wlcore driver
...
This patch adding support for new cipher suite - AES-CMAC in wlcore driver.
This patch is required for support PMF/WPA3 connection to install IGTK key.
Signed-off-by: Raz Bouganim <r-bouganim@ti.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/1587472085-755-1-git-send-email-r-bouganim@ti.com
2020-04-23 07:46:38 +03:00
Tzu-En Huang
5ad4d8957b
rtw88: set power trim according to efuse PG values
...
8822C devices have power trim, thermal and PA bias values
programmed in efuse. Driver should configure the RF components
according to the values.
If the power trim is not configured, then the devices might have
distortion on the output tx power.
Signed-off-by: Tzu-En Huang <tehuang@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200420105207.31899-1-yhchuang@realtek.com
2020-04-21 16:00:21 +03:00
Ping-Ke Shih
ab0a031ecf
rtw88: 8723d: Add read_efuse to recognize efuse info from map
...
The logical efuse map is decoded from physical map by parsing the
header format of the physical map. And each different type of chips
has different logical efuse layout. So add the logical map's layout
for parsing the efuse contents.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200420055054.14592-9-yhchuang@realtek.com
2020-04-21 15:59:26 +03:00
Ping-Ke Shih
44baa97ca8
rtw88: 8723d: Add new chip op efuse_grant() to control efuse access
...
8723D devices need to grant efuse access before dumping physical efuse
map, other chips don't need it, so keep this ops as blank.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com >
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
Link: https://lore.kernel.org/r/20200420055054.14592-8-yhchuang@realtek.com
2020-04-21 15:59:23 +03:00