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
Yan-Hsuan Chuang
b01127b268
rtlwifi: btcoex: 23b 2ant: check PS state before setting tdma duration
...
For time division multiple access, the wifi and bt take turns to
transmit, but we need to let AP know that wifi is under standby mode by
sending null data to "pretend" entering power saving state using lps
rpwm.
But, the fw does not know if it is the actual power saving mode or just a
fake one to cheat to the AP. Hence, before fw setting the tdma duration,
the fw needs the driver to check the power saving state first.
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
Arend Van Spriel
6ea51fc708
brcmfmac: only add channels and ssids once in scan request
...
When receiving pno results there may be duplicate channels and/or
ssids. Assure each is added only once when preparing the internal
escan request.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:23 +03:00
Arend Van Spriel
6594e1e834
brcmfmac: remove bogus check in scheduled scan result handler
...
Checking whether the address of an array element is null is bogus
so removing it.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:23 +03:00
Arend Van Spriel
4835f37e3b
brcmfmac: add length checks in scheduled scan result handler
...
Assure the event data buffer is long enough to hold the array
of netinfo items and that SSID length does not exceed the maximum
of 32 characters as per 802.11 spec.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:22 +03:00
Arend Van Spriel
acf8ac41dd
brcmfmac: remove reference to fwsignal data from struct brcmf_pub
...
The fwsignal module is part of the bcdc protocol and as such does
its instance data is not needed in core structure. Moving it into
struct brcmf_bcdc instead.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:22 +03:00
Arend Van Spriel
fc0471e3e8
brcmfmac: ignore interfaces when fwsignal is disabled
...
When brcmf_fws_add_interface() is called the struct brcmf_if::fws_desc
field is initialized regardless the state of the fwsignal functionality,
ie. the fcmode. This is not needed when fcmode is NONE, which is the
default mode.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:21 +03:00
Arend Van Spriel
ffb9f18ad8
brcmfmac: rename brcmf_fws_{de,}init to brcmf_fws{at,de}tach
...
This is a non-functional change to align the fwsignal module to
the naming pattern used throughout the driver.
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com >
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com >
Reviewed-by: Franky Lin <franky.lin@broadcom.com >
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:07:21 +03:00
Heiner Kallweit
6e84ab604b
brcmfmac: properly align buffers on certain platforms with 64 bit DMA
...
Systems with 64 bit DMA at least partially require buffers to be used
for DMA to be 8-byte-aligned. One example is Amlogic Meson GX.
Switching the MMC/SDIO driver for this platform to SG DMA mode
resulted in problems due to unaligned buffers.
Fortunately the brcmfmac driver has a global define for the alignment.
Changing it to 8 fixed the issues with Meson GX.
Suggested-by: Helmut Klein <hgkr.klein@gmail.com >
Tested-by: Helmut Klein <hgkr.klein@gmail.com >
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:06:30 +03:00
Ganapathi Bhat
ecd7eb7c2b
mwifiex: Fix invalid port issue
...
We have to use start port, for TX/RX of single packet,
instead of current aggregating port. This will fix SDIO
CMD53(TX/RX) returning -ETIMEDOUT and halting the data path.
Fixes: 0cb52aac4d ("mwifiex: do not set multiport flag for tx/rx single packet")
Signed-off-by: Ganapathi Bhat <gbhat@marvell.com >
Signed-off-by: Kalle Valo <kvalo@codeaurora.org >
2017-04-13 17:05:19 +03:00
Alexey Dobriyan
d92be7a41e
net: make struct net_device::min_header_len 8-bit
...
This field is never big enough to warrant 16-bitness.
8-bit accesses enjoy shorted encoding on i386/x86_64 than 16-bit
accesses:
add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-10 (-10)
function old new delta
loopback_setup 169 164 -5
ether_setup 148 143 -5
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 13:59:21 -04:00
Alexey Dobriyan
5b3dc2f37d
net: neigh: make ->hh_len 32-bit
...
Using 16-bit ->hh_len doesn't save any memory, save some .text instead:
add/remove: 0/0 grow/shrink: 1/6 up/down: 2/-19 (-17)
function old new delta
neigh_update 2312 2314 +2
fwnet_header_cache 199 197 -2
eth_header_cache 101 99 -2
ip6_finish_output2 2371 2368 -3
vrf_finish_output6 1522 1518 -4
vrf_finish_output 1413 1409 -4
ip_finish_output2 1627 1623 -4
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 13:59:21 -04:00
Ilan Tayari
eaffadbbb3
gso: Support frag_list splitting with head_frag
...
A driver may use build_skb() for received packets.
These SKBs then have a head_frag.
Since commit d7e8883cfc ("net: make GRO aware of
skb->head_frag"), GRO may build frag_list SKBs out of
head_frag received SKBs.
In such a case, the chained SKBs end up with a head_frag.
Commit 07b26c9454 ("gso: Support partial splitting at
the frag_list pointer") adds partial segmentation of frag_list
SKB chains into individual SKBs.
However, this is not done if the chained SKBs have any
linear part, because the device may not be able to DMA
the private linear buffer.
A chained frag_list SKB with head_frag is wrongfully
detected in this case as having a private linear part
and thus falls back to software GSO, while in fact the
linear part is backed by a DMA page just like any other frag.
This causes low performance when forwarding those packets
that were built with build_skb()
Allow partial segmentation at the frag_list pointer for
chained SKBs with head_frag.
Note that such SKBs can only be created by GRO, when applied
to received packets with head_frag.
Also note that this change only affects the data path that
performs the partial segmentation at frag_list pointer, and
not any of the other more common data paths.
Signed-off-by: Ilan Tayari <ilant@mellanox.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 13:53:35 -04:00
David S. Miller
b94b8fce87
Merge branch 'l2tp-const'
...
Guillaume Nault says:
====================
l2tp: constify l2tp_session_get*() and l2tp_tunnel_find*()
Declare parameters of these functions as "const" where possible.
====================
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:44:03 -04:00
Guillaume Nault
2f858b928b
l2tp: define parameters of l2tp_tunnel_find*() as "const"
...
l2tp_tunnel_find() and l2tp_tunnel_find_nth() don't modify "net".
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:44:02 -04:00
Guillaume Nault
9aaef50c44
l2tp: define parameters of l2tp_session_get*() as "const"
...
Make l2tp_pernet()'s parameter constant, so that l2tp_session_get*() can
declare their "net" variable as "const".
Also constify "ifname" in l2tp_session_get_by_ifname().
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:44:02 -04:00
David S. Miller
2a446c5190
Merge branch 'ftgmac100-rework-batch4-misc'
...
Benjamin Herrenschmidt says:
====================
ftgmac100: Rework batch 4 - Misc
This is v2 of the fourth batch of updates to the ftgmac100 driver.
This is a bunch of misc cleanups and fixes, such as properly
disabling HW checksum generation on AST2400 where it's known
to be broken and some chip init updates.
This also adds the ability to turn HW checksum on/off and
configure the ring sizes via ethtool.
v2 Fixes patch 1/10 (NETIF_F_HW_CSUM conversion)
The next (and last) batch will add a few more "features" such
as netpoll, multicast/promist, vlan offload...
====================
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:17:03 -04:00
Benjamin Herrenschmidt
bd3e4fde2f
ftgmac100: Set default ring sizes to 128 entries
...
I haven't seen any improvement above that size on the machines
I've tested with.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:17:02 -04:00
Benjamin Herrenschmidt
52d9138fb3
ftgmac100: Make ring sizes configurable via ethtool
...
We set an arbitrary max at 1024 since we pre-allocate the actual
descriptor arrays and skb arrays to the full size to keep the
code a bit simpler and avoid allocation failures in the reset
task.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-04-12 10:17:02 -04:00