Sara Sharon
c47de66575
iwlwifi: mvm: support new TX API
...
Support the new TX command API for a000 devices.
Command is a very slim version of current TX command.
Generalize iwl_mvm_tx_mpdu to get rid of TX command dependencies.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:52 +03:00
Luca Coelho
6996490501
iwlwifi: mvm: add support for EWRD (Dynamic SAR) ACPI table
...
Dynamic SAR allows changing TX power limits at runtime to comply with
SAR regulations on multiple form factors (e.g. tablet vs. clamshell
mode). To support this, a new table was added to ACPI, which is
called Extended Wireless Regulatory Descriptor (EWRD). This table
allows OEMs to define different TX power profiles for each form-factor
or usage mode.
Read this new table and store it in our SAR profiles table, in
preparation for Dynamic SAR support.
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Luca Coelho
42ce76d615
iwlwifi: mvm: spin off SAR profile selection function
...
For dynamic SAR, we will need to select the current profile from
different places. In preparation for that, spin the profile selection
code out of iwl_mvm_sar_init().
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Haim Dreyfuss
c386dacb4e
iwlwifi: mvm: refactor SAR init to prepare for dynamic SAR
...
We are adding support for dynamic TX power tables for SAR (specific
absorption rate) compliance. Currently, we only support a single
(static) TX power table, which is read from ACPI, and use it
statically.
To prepare for more tables that can be switched dynamically, refactor
the SAR init flow to allow reusage and add the current static table as
a single entry in an array of tables.
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
09a2e25d10
iwlwifi: mvm: disable multi-queue for a000 devices
...
Firmware isn't configuring multi RX queue hardware yet in
the self init mode.
Disable it for now until we have an API that enables it.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
a0b4828c20
iwlwifi: mvm: use same scan API for all a000 devices
...
API will be the same regardless of FW compilation.
CDB related values will be filled in only for CDB.
Cahneg code and names accordingly.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
0ae988125d
iwlwifi: mvm: prepare for station count change
...
In a000 devices we will support up to 32 stations.
The max station define is used also for invalid station marking
which makes finding usages of actual maximum station pretty hard
to sort through - change it to be a different define in order
to make future changes easier.
Use also ARRAY_SIZE intead of define when possible.
Do not move yet to 32 stations until firmware do it though.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
dd48847763
iwlwifi: cleanup unused function
...
iwl_has_secure_boot() isn't getting called anywhere. Clean it up.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
c5a719ee57
iwlwifi: mvm: add queues after adding station
...
Currently aux & broadcast queues are added before calling add
station, which results with a SCD_QUEUE_CFG command sent with
a station id unknown yet to fw.
While this works for pre-a000 firmware, the a000 fw requires
the order to be reversed.
The reason the change is only for a000 devices and not for
previous devices is that we cannot reverse the order since
the tfd_queue_mask containing the aux queue will cause FW to
assert on adding a queue mask with a queue that is not enabled.
This is not a problem in a000 fw since the tfd_queue_mask was
removed from the add sta API.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:20:51 +03:00
Sara Sharon
d6be9c1d0b
iwlwifi: mvm: read new secure boot registers
...
Addresses were changed for a000 devices.
Signed-off-by: Sara Sharon <sara.sharon@intel.com >
Signed-off-by: Luca Coelho <luciano.coelho@intel.com >
2017-04-19 22:12:52 +03:00
Arend Van Spriel
26ecfe0179
brcmfmac: only build fwsignal module for CONFIG_BRCMFMAC_PROTO_BCDC
...
The fwsignal module is only referenced by the bcdc module and part of the
bcdc protocol. So only build it when CONFIG_BRCMFMAC_PROTO_BCDC is selected.
Fixes: acf8ac41dd ("brcmfmac: remove reference to fwsignal data from struct brcmf_pub")
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-19 14:39:44 +03:00
Kalle Valo
d074e0b84a
Merge tag 'iwlwifi-next-for-kalle-2017-04-13' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
...
Patches intended for v4.12:
* Some small fixes here and there;
* The usual cleanups and small improvements;
* Work to support A000 devices continues;
* New FW API version;
* Some debugging improvements;
2017-04-18 09:41:45 +03:00
Daniel Golle
1f242a3de7
rt2x00: reverse external PA capability flag logic
...
Consequently refer to external PA instead of inverting the logic and
use an internal PA capability flag which is a bit confusing.
Currently this is used for Rt3352 only, but MT7620A also allows for an
external PA which will be supported by a follow up patch.
Signed-off-by: Daniel Golle <daniel@makrotopia.org >
Acked-by: Stanislaw Gruszka <sgruszka@redhat.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:12:32 +03:00
Yan-Hsuan Chuang
4da5e7ea13
rtlwifi: btcoex: 21a 1ant: avoid LPS/IPS mismatch for pnp notify
...
When driver is going to sleep, it does not leave LPS/IPS, thus the
BTCoex may have mismatch when driver wakes up. To avoid that, BTCoex
needs to clear the IPS/LPS state when it receives a pnp notify, then
it can properly set up the hw when driver wakes up.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:04 +03:00
Yan-Hsuan Chuang
da0fd9ccb4
rtlwifi: btcoex: 21a 1ant: do not switch antenna when wifi is under 5G channel
...
When wifi is on a 5G channel, the 5G signal will not interfere bt 2.4G
signal, and they can transmit simultaneously, hence there is no need to
switch antenna between wifi and bt.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:03 +03:00
Yan-Hsuan Chuang
cb52b11859
rtlwifi: btcoex: 21a 1ant: monitor bt profiling when scan
...
When wifi is scanning and not connected, set the tdma and coex table
properly to control the priority of the packets to make the wifi bt
coexistence operate smoothly
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:03 +03:00
Yan-Hsuan Chuang
ee82808517
rtlwifi: btcoex: 21a 1ant: consider more cases when bt inquiry
...
With bt inquiry, the wifi may start as a softap or the wifi and bt are
busy, we take these scenarios into consider to avoid bt inquiry to
degrade the performance of the network
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:02 +03:00
Yan-Hsuan Chuang
19afb92222
rtlwifi: btcoex: 21a 1ant: move bt_disabled to global struct
...
Move the bt disable flag to a global structure to indicate that bt is
turned off.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:02 +03:00
Yan-Hsuan Chuang
bcdffd050c
rtlwifi: btcoex: 21a 1ant: If wifi only, do not initiate coex mechanism
...
If the device has wifi mode only, there is no need to initiate the
hardware for wifi and bt coexistence, so just return to avoid it.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:01 +03:00
Yan-Hsuan Chuang
edf8fa7b66
rtlwifi: btcoex: 21a 1ant: action when associating/authenticating
...
When wifi is associating or authenticating, set the coex table for wifi
to establish link. These packets should have higher priority.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:01 +03:00
Yan-Hsuan Chuang
06a75324d5
rtlwifi: btcoex: 21a 1ant: add multi port action for miracast and P2P
...
To support miracast and P2P, the chip may operate under concurrent mode,
In this situation, do not aggregate tx packet and properly set the rx
aggregation size.
We detect it by monitoring the number of link established.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:00 +03:00
Yan-Hsuan Chuang
4f78287e5e
rtlwifi: btcoex: 21a 1ant: set antenna control path for PTA
...
Set antenna control path if PTA is in control of the packet path of wifi
and bt. If wifi is turned off, tell the PTA about it.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:11:00 +03:00
Yan-Hsuan Chuang
e605103c44
rtlwifi: btcoex: 21a 1ant: remove setting for 2 antennas
...
The antenna position setting is useless for 1 antenna chip.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:10:59 +03:00
Yan-Hsuan Chuang
f0c40cf09d
rtlwifi: btcoex: 21a 1ant: mask profile bit for connect-ilde
...
Mask out the connect-idle bit.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:10:59 +03:00
Yan-Hsuan Chuang
3121b4ddd1
rtlwifi: btcoex: 21a 1ant: coex table setting for new fw
...
For newer fw, the coex table setting needs to be modified to operate
correctly.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:10:59 +03:00
Yan-Hsuan Chuang
19baccc456
rtlwifi: btcoex: 21a 1ant: add function to check wifi status
...
This function checks if wifi has changed its statusi. It will be needed
in the future.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:10:58 +03:00
Yan-Hsuan Chuang
1bdd83392f
rtlwifi: btcoex: 21a 1ant: fw settings for softap mode
...
For ap mode, adjust fw settings to operate properly.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:10:58 +03:00
Yan-Hsuan Chuang
f4a23e194e
rtlwifi: btcoex: 23b 2ant: some hi-prio pkt will cause hid_exist
...
Clear the hid_exist flag by monitoring the packet counter.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:39 +03:00
Yan-Hsuan Chuang
588a290b46
rtlwifi: btcoex: 23b 2ant: notify more bt information
...
These bt information are displayed in display coex
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:39 +03:00
Yan-Hsuan Chuang
1109440276
rtlwifi: btcoex: 23b 2ant: fine tune for bt hid_a2dp
...
Let bt control the aggregation size to improve stability.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:39 +03:00
Yan-Hsuan Chuang
2e6689824a
rtlwifi: btcoex: 23b 2ant: fine tune for bt pan_edr_a2dp
...
If we don't limit the rx aggregation size, and set tdma instead, the bt profile can
get more stable.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:38 +03:00
Yan-Hsuan Chuang
6dcf041eab
rtlwifi: btcoex: 23b 2ant: before firmware ready settings
...
Before firmware is ready, set GNT_BT to high to let bt transmit
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:38 +03:00
Yan-Hsuan Chuang
4e6becc044
rtlwifi: btcoex: 23b 2ant: power on settings for coex
...
When power on, the wifi could be initiating, force the antenna to
transmit bt packets to avoid bt unstable problems
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:37 +03:00
Yan-Hsuan Chuang
7558668d05
rtlwifi: btcoex: 23b 2ant: wifi is not actually off in mp mode
...
In mp mode, the wifi will not turn off and still has control of the PTA,
so the driver needs to distinguish whether it is mp mode or not
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:37 +03:00
Yan-Hsuan Chuang
ae889ebc76
rtlwifi: btcoex: 23b 2ant: need those information when scan
...
For scan notify, we need to supervise some registers to make sure that
coexistence is operating as we expected.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:36 +03:00
Yan-Hsuan Chuang
acb9c779ec
rtlwifi: btcoex: 23b 2ant: remove debugging code for 0x948
...
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:36 +03:00
Yan-Hsuan Chuang
2037b83c12
rtlwifi: btcoex: 23b 2ant: treat too many low prio packets as retry
...
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:35 +03:00
Yan-Hsuan Chuang
470eec1a3d
rtlwifi: btcoex: 23b 2ant: set coex table when wifi is idle
...
When wifi is idle, the bt should have more resource to transmit.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:09:35 +03:00
Yan-Hsuan Chuang
83cded7a1e
rtlwifi: btcoex: 23b 2ant: set coex table when wifi is linking
...
When wifi is under linking process, those packets are important. Mark
them as high priority to protect the linking process
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:40 +03:00
Yan-Hsuan Chuang
c5e2113613
rtlwifi: btcoex: 23b 2ant: turn off antenna when rssi is too high/low
...
For 2-antenna combo card, the signal of the neighbor antenna could be
over noise level and cause be severe interference. So we monitor the
rssi and turn off one of the antennas when the other is transmitting
and the rssi level is beyond a threshold.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:39 +03:00
Yan-Hsuan Chuang
a8570896b9
rtlwifi: btcoex: 23b 2ant: turn off ps and tdma mechanism when in concurrent mode
...
When wifi is in concurrent mode, we can not distinguish if it is the
real PS or just a fake one by sending null data, so we turn it off
in case of miracast scenario.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:39 +03:00
Yan-Hsuan Chuang
bcd37f4a08
rtlwifi: btcoex: 23b 2ant: let bt transmit when hw initialisation done
...
During hw initialisation, wifi may be ready after bt has already been
ready, which causes bt to act abnormally. To avoid this, set GNT_BT to
high during hw init.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Cc: Stable <stable@vger.kernel.org >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:38 +03:00
Yan-Hsuan Chuang
3b4fa04d8e
rtlwifi: btcoex: 23b 2ant: tell fw if external or internal switch is used
...
Some chips use an external antenna switch, but fw may not realize it.
Here we tell fw exactly that which type of switch we are using.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:38 +03:00
Yan-Hsuan Chuang
a0f430b3ea
rtlwifi: btcoex: 23b 2ant: workaround for bt a2dp and hid
...
For a2dp and hid, we need extra process to avoid voice degradation
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:37 +03:00
Yan-Hsuan Chuang
684df42cd5
rtlwifi: btcoex: 23b 2ant: check more cases when bt is queuing
...
If bt is queing, we need to set the packet priority properly.
Originally we only consider if wifi was connected or not, but now we
also consider if bt is under abnormal scan or wifi is scanning, roaming
or linking, and set the coex table.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:37 +03:00
Yan-Hsuan Chuang
609d59acb6
rtlwifi: btcoex: 23b 2ant: add pnp notidy to avoid LPS/IPS mismatch
...
When driver is going to sleep, it does not leave LPS/IPS, thus the
BTCoex may have mismatch when driver wakes up. To avoid that, BTCoex
needs to clear the IPS/LPS state when it receives a pnp notify, then
it can properly set up the hw when driver wakes up.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:36 +03:00
Yan-Hsuan Chuang
b59f02fb7f
rtlwifi: btcoex: 23b 2ant: fix PTA unstable problem when hw init
...
In the hardware initialisation stage, the PTA circuits may be unstable,
so we reset it after 6 secs to fix the problem.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:36 +03:00
Yan-Hsuan Chuang
1712952bea
rtlwifi: btcoex: 23b 2ant: more cases for adjusting tdma duration
...
These cases are for the btcoex to tune the performance
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:35 +03:00
Yan-Hsuan Chuang
5a347a4846
rtlwifi: btcoex: 23b 2ant: detect ap num and set GNT_BT properly
...
If ap num < 10, let wifi and bt transmit simultaneously, otherwise set
wifi into standy when bt is transmitting
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:35 +03:00
Yan-Hsuan Chuang
b91ed73139
rtlwifi: btcoex: 23b 2ant: rename tdma_adj_type to ps_tdma_du_adj_type
...
The variable is for PS tdma duration adjust, so rename it to clearly
to specify its usage.
Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com >
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Pkshih <pkshih@realtek.com >
Cc: Birming Chiu <birming@realtek.com >
Cc: Shaofu <shaofu@realtek.com >
Cc: Steven Ting <steventing@realtek.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:08:34 +03:00