Wykres commitów

8769 Commity

Autor SHA1 Wiadomość Data
Edayilliam Jayadev
f592d86b9b qcacmn: Add attributes indicating number of Spectral detectors
Add per BW attributes which indicate the number of Spectral
detectors used.

CRs-Fixed: 2659389
Change-Id: If76c86e23ff32f21defe34c2369de5d8b0752f99
2020-04-09 09:46:56 -07:00
Padma Raghunathan
81f0e970cb qcacmn: CFR: Clean up header file inclusions in CFR
1. Remove absolute paths to cfr header file.
2. Exclusion of CFR header file is handled in Kbuild,
remove compile flag within file.

Change-Id: I6abdce56716ba17481ccc2e1942754203063e3ad
CRs-Fixed: 2649714
2020-04-09 07:33:31 -07:00
Adwait Nayak
1ae6dd1464 qcacmn: CFR: RCC cannot coexist with M_TX_ACK mode
Coexistence of RCC and M_TX_ACk mode is not supported

Change-Id: I4c23fe87019e8525920dadaeb0b42b4b57c0061a
CRs-Fixed: 2649714
2020-04-09 07:33:12 -07:00
Adwait Nayak
ecb7d134c7 qcacmn: CFR: Keep the default subtype as 0 for default RCC config
1. MAC does not really consider the expect TA and the
expect RA when the expect TA mask and expect RA mask is 0.
Basically, it checks for the subtype, bandwidth and NSS
as the filter criteria.

2. In the other scenario, if the RA matches with expect
RA and TA matches with expect TA then it does not really
consider the expect TA MASK and expect RA MASK.
With the current default config, since the expect address
mask is 00:00:00:00:00:00 it falls under case 1 and it is
written based on the MAC recipe.

But actual MAC logic is different from what is mentioned
in the recipe. MAC works on below logic:
TA & TA MASK = Expect TA & expect TA mask
RA & RA MASK = Expect RA & expect RA mask

As an additional precaution, we need to modify default
subtype as 0 so that if user enables any group by mistake
and does not give any input for the other RCC
configurations, we can block the RCC to capture CFR data.

Change-Id: I759e8812e4ef0e77f773d0d445134e62d9e8a753
CRs-Fixed: 2649714
2020-04-09 07:32:55 -07:00
Adwait Nayak
9b1eeed301 qcacmn: CFR: Handle capture interval and capture duration for RCC
FW may limit the interval and duration during which HW may
use user provided values and attempt to capture.
These values range from 1 us to roughly 16.8 sec.
Max value is 0xFFFFFF which is 16.777215 sec.

Add check to make sure that capture duration cannot exceed
capture interval.

Change-Id: I7aff00a1024d6d8ba9885cda3e1c36dd08c95f9e
CRs-Fixed: 2649714
2020-04-09 07:32:37 -07:00
Padma Raghunathan
07ed407a56 qcacmn: CFR: Add protection while accessing cfr lookup table
Protect access to cfr lookup table, since error handling
mechanism attempts to cleanup CFR entries in timer context,
this leads to contention between bottom-half and timer.

Change-Id: I32a095fc82545ab117ab43a81ef8a3a5602741fc
CRs-Fixed: 2649714
2020-04-09 07:32:17 -07:00
Padma Raghunathan
407870de43 qcacmn: CFR: Report correct values for RSSI and cfr_timer_enable
1. Clear cfr_timer_enable flag during wifi down
2. Similar to one-shot capture, report RSSI in metadata for RCC.
   Convert SNR in rxtlv to RSSI.

Change-Id: I1802ea25b306faf06be52da60edb5050ff1bea9c
CRs-Fixed: 2649714
2020-04-09 07:32:02 -07:00
Adwait Nayak
68a2b0747e qcacmn: CFR: Retrieve TA from Freeze TLV
TA retrieved from freeze TLV was being over-written by macaddr
from AST search during RXTLV processing.

MACADDR from AST search is essential only for MU PPDUs.

Change-Id: I1a7c46dd11b6cae6049ae70046af849228ba3b47
CRs-Fixed: 2649714
2020-04-09 07:31:48 -07:00
Padma Raghunathan
be65ea9002 qcacmn: CFR: Abstract retrieval of netdevice name
Since netdevice name retrieval is tied to OS,
move it to qdf OS layer instead of doing it
inside CFR ucfg layer.

Change-Id: Ia9dcbdf56bcb36a1f0788be9964ea87fdf5beb3f
CRs-Fixed: 2643682
2020-04-09 07:31:34 -07:00
Padma Raghunathan
0c314d439d qcacmn: CFR: Enable compilation of QDF streamfs
Enable compilation of streamfs from QDF and

Change-Id: If457ff6e5020f8c0fb6e7985ada4162fd71755e9
CRs-Fixed: 2643682
2020-04-09 07:31:27 -07:00
Shivani Soni
3ba8fe5a21 qcacmn: NAWDS Tx reinject optimization
During the packet transfer from HOST to Transmit Classifier Layer,
if NAWDS is enabled, send peer id of NAWDS peer.
This is to avoid re-injection from FW to Host.

Change-Id: Ic0e5c46fff3bbe1a3e8ea3a01986478c925452f5
CRs-Fixed: 2628703
2020-04-09 05:21:43 -07:00
Nisha Menon
046f3623de qcacmn: Back pressure in REO2SW1 ring resulting in REO panic
Update QCA_NAPI_DEF_SCALE_BIN_SHIFT for defconfig builds to
the same value as the perf build.
Move the WLAN ext irqs to gold cores for defconfig builds.
Disable cpu isolation before moving the IRQs to gold cores.
Add the ability to move IRQs to gold cores when the cpus
hotplug in.

Change-Id: I4cfecd02a1a2200dc99adee9a324b90c877c13fd
CRs-Fixed: 2638820
2020-04-09 05:21:20 -07:00
Rakesh Pillai
73749d2d18 qcacmn: Fix the yield status for timer yield check
The dp_should_timer_irq_yield should return the
status DP_TIMER_NO_YIELD when no yield condition
has been met. Currently its returning the status
DP_TIMER_TIME_EXHAUST which causes the timer to yield
before the expected time.

Fix the return status from dp_should_timer_irq_yield

Change-Id: Ia57aae635789f34e79285c27f5312ea38e07df5c
CRs-Fixed: 2659900
2020-04-09 03:37:21 -07:00
Amar Singhal
c6d99aa14b qcacmn: Use psoc for 6ghz level support
Whether the firmware supports 6ghz channels, needs to be known
before pdev is created. Therefore move the check for 6ghz wmi
service support to psoc..

Change-Id: Iad7717225c49f6c95988f5ac81c7ee405b7c2c9e
CRs-Fixed: 2658111
2020-04-09 01:40:13 -07:00
Neha Bisht
14284068d7 qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_objmgr_debug and target_if_pub headerfiles
from wlan_objmgr_psoc_obj.h

Change-Id: I40ebbf0e313c44a7b8aa7561fdbe30519b467723
2020-04-09 01:39:56 -07:00
Linux Build Service Account
c5a16a4857 Merge "qcacmn: Pass the argument of a correct type to the DFS API" 2020-04-08 18:41:04 -07:00
Linux Build Service Account
3b2ae69730 Merge "qcacmn: Remove unused PTT sock code for non CNSS_GENL" 2020-04-08 15:48:32 -07:00
Linux Build Service Account
767adf23ae Merge "qcacmn: Return DP_SW2HW_MACID if per_pdev_lmac" 2020-04-08 15:48:31 -07:00
Linux Build Service Account
5c958b9eea Merge "qcacmn: Support for IPQ8074 2G PHYB mode 3/3" 2020-04-08 15:48:31 -07:00
Linux Build Service Account
045f1d5432 Merge "qcacmn: Support for IPQ8074 2G PHYB mode 2/3" 2020-04-08 15:48:31 -07:00
Linux Build Service Account
26705d8aad Merge "qcacmn: Support for IPQ8074 2G PHYB mode 1/3" 2020-04-08 15:48:31 -07:00
Priyadarshnee S
b4dda82e98 qcacmn: Pass the argument of a correct type to the DFS API
utils_dfs_reg_update_nol_history_ch is invoked with an argument of
(void *)chan_list. However, the usage of
utils_dfs_reg_update_nol_history_ch() assumes (void *)chan_list to be a
uint8_t *ch_ieee but (void *)chan_list is a (void *) pointer of struct
dfs_channel. Similarly, the equivalent freq API
utils_dfs_reg_update_nol_history_chan_for_freq() also has a mismatch in its
usage of (void *)chan_list.

Modify the arguments of utils_dfs_reg_update_nol_history_ch() and
utils_dfs_reg_update_nol_history_chan_for_freq() API to match its usage.

Change-Id: Ic0b88606ea81bde1f7065c16dfac008b737b705c
CRs-Fixed: 2484771
2020-04-08 15:37:06 -07:00
Sourav Mohapatra
b673dae57f qcacmn: Remove unused PTT sock code for non CNSS_GENL
Currently, the code present to take care of the PTT msgs in case of
non-CNSS_GENL is not being used. Thus, cleanup the path for the same.

Change-Id: I310ace0e04448b21e46b0f39efb3c33bce0a4d65
CRs-Fixed: 2559499
2020-04-08 13:44:13 -07:00
Nandha Kishore Easwaran
3e4379cdd8 qcacmn: Return DP_SW2HW_MACID if per_pdev_lmac
Return DP_SW2HW_MACID if per_pdev_lmac is set.
This is needed when we need to get target pdev_id without
doing pdev lookup.

Change-Id: If83f29bbcf23175708ba7eaf58e01e040ccb5a45
2020-04-08 13:43:56 -07:00
Nandha Kishore Easwaran
8a90280e0e qcacmn: Support for IPQ8074 2G PHYB mode 3/3
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.

Added new APIs in tgt_reg to get pdev_id from phy_id and vice versa.
Fixed all places where pdev_id is used to acces psoc regulatory params
and converted them into use phy_id

Change-Id: I14920627f5e4ddafcc37440fa3281150b65ff04f
CRs-fixed: 2653042
2020-04-08 13:43:46 -07:00
Nandha Kishore Easwaran
1039ae6642 qcacmn: Support for IPQ8074 2G PHYB mode 2/3
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.

Added preferred_hw_mode and target_pdev_id into dp structures so that
they can be used to configure the dp rings for this particular mode.
Also changed the lmac_id to target_pdev_id mapping for mode 7.

Change-Id: I3aae46fea13132eebaf7d37cff68ef517253d229
2020-04-08 13:43:30 -07:00
Nandha Kishore Easwaran
c6ca857257 qcacmn: Support for IPQ8074 2G PHYB mode 1/3
This mode is supported through hw_mode_id 7. A special mode for
IPQ8074 platform alone to bring up single pdev alone on 2G mode.
FW would advertise the mode 7 support through the WMI service
ready message and this mode will be the default mode for AP-HK10 alone.

Added a function to update the svc_id mappings for this mode as FW
requires WMI commands to be received through CE 7 for this mode.
Also adjusted the preferred mode precedence to give high precedence
to mode 7.

Change-Id: Id637c59e9528779e38737b7d74b000abf2e9db9d
2020-04-08 13:43:14 -07:00
Balaganapathy Palanisamy
db9a00bc6a qcacmn: Return status of delete all command
Return the proper status of wmi peer delete all command.

CRs-Fixed: 2644307
Change-Id: Idb44441872e3a00989ec035b187311079f93b94d
2020-04-08 13:42:53 -07:00
Linux Build Service Account
ae7be9dc9b Merge "qcacmn: Refine description for rtpm function" 2020-04-08 12:11:45 -07:00
Jingxiang Ge
55e387e16d qcacmn: Refine description for rtpm function
This is to refine description for some rtpm
function.

Change-Id: I24e078804491203e8a256d80c7b3b14dca8794c7
CRs-Fixed: 2658698
2020-04-08 09:58:43 -07:00
Linux Build Service Account
28e014d1ec Merge "qcacmn: Use to wakeup_source_register from 4.19.110 kernels" 2020-04-08 09:17:04 -07:00
Linux Build Service Account
782c0802c6 Merge "qcacmn: Enable SW2TCL_CMD ring for data" 2020-04-08 09:17:04 -07:00
Naman Padhiar
87be18b922 qcacmn: Use to wakeup_source_register from 4.19.110 kernels
As part of new kernels it is suggested to move to the upstreamed
wakelock apis for registration and unregistration.

Change-Id: I80b8dd85c6ad1b50951fff9da810e8e96a402752
CRs-Fixed: 2658888
2020-04-08 08:19:22 -07:00
Radha Krishna Simha Jiguru
bfbf27a6e6 qcacmn: Enable SW2TCL_CMD ring for data
Enable SW2TCL_CMD ring for data on QCN9000, QCA8074 V2/V1
and IPQ6018 targets.

Enabled 4th Tx ring for data enqueue to HW.
Transmit completions for packets from CPU0 and CPU3 are routed to
WBM2SW Completion ring 2.
WB2SW completion ring2 is mapped to CPU3.

Change-Id: Ied4c4704e1f8623e909ad45c547a611de26c7ec5
2020-04-08 08:19:05 -07:00
Tiger Yu
19c09f199a qcacmn: Use QDF_BUG instead of the qdf_assert
Use QDF_BUG instead of the qdf_assert. Since the qdf_assert is not
defined anymore.

Change-Id: I2bd46def51823829604b699321f9a02fcd3b07c6
CRs-Fixed: 2658545
2020-04-08 01:41:10 -07:00
Rongjing Liao
a70123f9a2 qcacmn: add argument sanity check to avoid OOB
In function 'target_if_vdev_mgr_multi_vdev_restart_get_ref',
'param->num_vdevs' may have chance to hold values larger than
WLAN_UMAC_PDEV_MAX_VDEVS which will result in OOB
when access array 'vdev_list' and array 'vdev_timer_started'.

This change add sanity check for 'param->num_vdevs'to avoid
OOB.

Change-Id: Iae431fdc7006fe8c80d15d400d8a0423e9284eb7
CRs-Fixed: 2644122
2020-04-08 01:40:40 -07:00
Rakesh Pillai
018b298dba qcacmn: Increase the wbm release ring size
The WBM release ring size of 64 is a bit too
small for bursty nature of inwards traffic.
In monitor mode, there can be a huge ingress
of packets and returning the link descriptors
back to the WBM can fail due to its small size.

Increase the WBM release ring size to match the
RXDMA buffer ring.

Change-Id: I41c755f29566cd8cb99520736d34304344a82776
CRs-Fixed: 2650480
2020-04-07 20:20:06 -07:00
Rakesh Pillai
962dd74800 qcacmn: Reap more monitor ring entries before rescheduling timer
Currently, in monitor mode, once the status ring is reaped
we do not check again if there are new entries added in the
ring during the monitor ring descriptor processing. This
can cause backpressure on monitor rings when there is very
high throughput or a bursty inflow of packets.

Add the logic to continue reaping the monitor rings, until
the work budget or a time quota is not exhausted.

Change-Id: Iee95ac8aec92eabb3a8037b1dd9cf0c6e1dbe10b
CRs-Fixed: 2650480
2020-04-07 20:19:53 -07:00
Rakesh Pillai
e0332f2ef5 qcacmn: Process only LMAC rings for monitor mode
Currently the timer handler, in monitor mode, is
try to process all the rings based on the mask. In
monitor mode only LMAC rings are to be processed
and the UMAC ring processing can be avoided.

Process only the LMAC rings for monitor mode.

Change-Id: Ie48722d80722350129b5c079b67ede06945f5849
CRs-Fixed: 2650480
2020-04-07 20:19:39 -07:00
Rakesh Pillai
590d880a1e qcacmn: Change the loglevel for link desc return failure
In monitor mode, the link descriptor return failure
can occur many times, due to the timer interval.
Logging each failure on the console floods it with
too many unnecessary logs.

Ratelimit the link descriptor return failure in monitor
mode and also change its log level to info.

Change-Id: I5709a33087c6d9271d4246f04ef1acd274fba0f1
CRs-Fixed: 2650480
2020-04-07 20:19:23 -07:00
Rakesh Pillai
726242759f qcacmn: Change the monitor mode timer interval to 5ms
The current time interval for monitor mode timer is
10 milliseconds. This time interval is a bit too high
in case of high throughput sniffing, thereby causes
the monitor rings to be full before the timer interrupt
comes and reaps the ring.

Decrease the timer interval to 5 milliseconds

Change-Id: Ib074ef0c09fde995a7481c056ad70eb809c5a89e
CRs-Fixed: 2650480
2020-04-07 20:19:16 -07:00
Pragaspathi Thilagaraj
42e7bb35d4 qcacmn: Introduce scan api to get scan entry ageout time
The driver doesn't ageout connected BSS from rrm scan
result after the scan default ageout time. This results
in connected AP information sent in beacon report request
in table mode always.

Introduce scan api to get the scan age out time configured
from scan module. This value will be used as the threshold
in rrm scan filter.

Change-Id: Ib3981538faf179cff53936770f705d41922dca66
CRs-Fixed: 2650914
2020-04-07 18:23:10 -07:00
Himanshu Batra
d7e15e64e0 qcacmn: Drop FCS error frames in mon dest ring in mcopy mode
In mon dest ring, for m_copy mode, MGMT packets are received with
FCS error.Due to which multiple skbs (Head_skb with
attached frag_list) for single MPDU are sent to upper stack.
Add fix to drop FCS error frames in mcopy mode.

Change-Id: I6fbf2ea2bfdc489b56a412ece3c644ba2ce87929
2020-04-07 07:46:27 -07:00
sumedh baikady
a8f35820f4 qcacmn: Change minidump API name
Change the following minidump API names:
1. fill_minidump_segments -> minidump_fill_segments
2. remove_minidump_segments -> minidump_remove_segments

Change-Id: I7340a09cc7d82f8470ecfc0b7b4532107a25aa54
2020-04-07 06:17:18 -07:00
Manjunathappa Prakash
25390a01c2 qcacmn: flow_ctrl_v2: decouple tx_desc from TCLring descs
Decouple software tx_descs from TCLring descriptors and Increase
TCLring descriptors max INI config limit to 2k to 32k.

Change-Id: I18d014cdb0c1e26b7661ff65aaa8dffe791d7163
CRs-Fixed: 2657056
2020-04-07 03:01:29 -07:00
Vivek
5ebf9cf853 qcacmn: Check if cmd present in serialization queue atomically
The current API to get if a command is present in the active
queue was executed without the lock acquired. Here, at times
we get the queue size as one, and when we actually get the command
from the active queue, we get nothing.

This could be that the command from the active queue was removed
in another context almost at the same time, when we trying to read
the command from the active queue.

To avoid this, we do the operation of reading the queue size and
reading from the active queue with the queue locks held, so no
other context could remove the command from the active queue while
we are reading the command from the active queue.

CRs-Fixed: 2644038
Change-Id: Icca019320b1ba2d7d751432142b9bad50519d701
2020-04-07 03:01:13 -07:00
Jingxiang Ge
e7d41574f3 qcacmn: Add dbgid for each runtime put/get
This is to enhance statics for runtime put/get, which is
to detect if there is mismatch for usage_count.

Change-Id: I24cddb9d10e4cb675c8375cbd0f589c7718bd680
CRs-Fixed: 2647972
2020-04-07 01:20:41 -07:00
Hariharan Basuthkar
2905d1d38f qcacmn: Add china_op_class table to the regulatory component
As per IEEE 802.11 2016 specification Annex E Table E-5, add a new
operating class table for China.

Change-Id: I60d610d637c64df497c7c363a893b8f7efdc8a6c
CRs-Fixed: 2656789
2020-04-06 23:35:13 -07:00
Balaganapathy Palanisamy
9529e558f7 qcacmn: Skip freeze data processing if it is not valid
Skip the freeze data and capture type related processing
if freeze data is invalid.

CRs-Fixed: 2637644
Change-Id: I97da3b9dc0d655e47dec534d04e0897af57e33d8
2020-04-06 09:44:24 -07:00
gaurank kathpalia
3765db635c qcacmn: Add ini to enable/disable self roaming
Currently the driver allows roaming to the BSSID
which it is already connected, which can lead to
many unexpected behaviour, for eg. if the SAP
to which the DUT is connected turns off, then the
DUT would try to roam to other BSSID of the same
SSID, and in case the SAP turns on back in time,
then the DUT would re-associate to the same BSSID.
Now if the subnet may change, and since the DHCP
does not happen again in roaming, it would then
lead to NUD failure.

Fix is to introduce an ini to allow/disallow
roaming to the same BSSID.

Change-Id: I38887bbfb74c4856a06956591be4159734f7fbf0
CRs-Fixed: 2650346
2020-04-06 05:55:40 -07:00