Commit grafiek

7401 Commits

Auteur SHA1 Bericht Datum
Rajeev Kumar
e792050400 qcacmn: Remove CCE HW filter command from WMI runtime pm tagging
Remove CCE HW filter command from WMI runtime pm tagging since CCE
HW filter is not getting enabled in runtime pm mode.

Change-Id: I1cf778ec916cafda0644268b20d1c9c413ae0938
CRs-Fixed: 2514050
2019-08-29 22:11:12 -07:00
Ruben Columbus
b7a1c5782d qcacmn: monitor RXDMA drop feature
Adds new INI variable for threshold control.
Host sends message to target with new threshold info.
If buffer reaches threshold then MAC drops incoming monitor frames.

Change-Id: Id659d7df68a5ec0b22fb571dc1ffa4990f8fcc4f
2019-08-29 22:11:08 -07:00
Edayilliam Jayadev
78285d3861 qcacmn: Get WMI handle from pdev instead of psoc
Get WMI handle from pdev instead of psoc.

CRs-Fixed: 2510822
Change-Id: If6f191403b7f3245b3f26969d195ab4ec8793fc4
2019-08-29 22:11:04 -07:00
Edayilliam Jayadev
f2ae8b7e11 qcacmn: Add Spectral parameter properties
For each parameter for each mode add a flag which
indicates whether that parameter is supported.
Similarly one more flag which indicates whether a
parameter needs to have same value for all the modes.

CRs-Fixed: 2500514
Change-Id: I37099bb622d7d6ccf823f78f6d119b9abf78ec21
2019-08-29 12:51:40 -07:00
Edayilliam Jayadev
9217a212bb qcacmn: Add error handling in the Spectral control path
Add an attribute which describes the error code
in the response to set config, start scan and stop
scan.

CRs-Fixed: 2500481
Change-Id: I491cd6e061d2d08ceb4d9af2a7de5223e229c280
2019-08-29 12:51:37 -07:00
Bala Venkatesh
ae946e39c7 qcacmn: Reduce the log level
Reduce the log level from err or info to debug so that logs
are not printed on console.

Change-Id: I0d33c2a8f5b4bb4974656ac0d1eb6713a74cb5f4
CRs-Fixed: 2516287
2019-08-29 01:44:16 -07:00
Chaoli Zhou
fd20986e6a qcacmn: Fix runtime unknown symbol issue
In the sdx platform, WLAN monitor mode is disabed,
in other words, CONFIG_FEATURE_MONITOR_MODE_SUPPORT
will be set to n, but dp_mon_buf_delayed_replenish
hasn't be defineded if it set to n, which can cause the
runtime unknown symbol issue. So add the definition
for it.

Change-Id: Iec50f7cc5ed6f94e2f5a40fbc6594c2830d1359f
2019-08-29 00:24:31 -07:00
Paul Zhang
1275896960 qcacmn: support msdu rx retry statistics
Add the interface to support the rx retry statistics.

Change-Id: I02bbf2e69eefbd7ef61ab2540c1aacabb4ce3aef
CRs-Fixed: 2505486
2019-08-28 12:43:06 -07:00
gaurank kathpalia
f47b162435 qcacmn: Set max BW for each valid channel and send to FW
Configuration for Issue:-
DUT configuration:-
1. Configure DUT's country as US where channel 165 does
not support channel bandwidth of 40 mhz.
AP Configuration:-
1 Configure the AP in a country where channel 165
supports channel bandwidth 40MHZ.
Scenario of the issue:-
1.Connect to a diff AP on some channel x with same SSID,
and then roam to this AP.
Observation:-
The DUT would connect in 40 mhz to this AP instead of 20Mhz,
which violates the DUT's country reg rules.
Expectation:-
The DUT should re-connect only in 20Mhz on channel 165, or
only in max BW supported by reg in that country.
Issue:-
The DUT does not consider the max bandwidth allowed for the channel
in the country configured, and allow the re-association only
in the respective bandwidth.
Fix:-
Send the max BW supported by the channels in the current
reg domain to the FW so that it considers the max BW of the
channel and AP capability and then roam in the respective BW
only.

Change-Id: I977090c58e378e83cb5a3ee84a72afd018e8c428
CRs-Fixed: 2508187
2019-08-28 06:29:18 -07:00
Shashikala Prabhu
8fe9679be0 qcacmn: Use qdf aligned mem alloc APIs in DP component
Replace dp_srng_mem_alloc() by qdf_aligned_mem_alloc_consistent() and
qdf_aligned_malloc() in dp_srng_setup().

Change-Id: Iae236a3cc19ec7a9f94b04382d37fc95e6ed622f
CRs-Fixed: 2462455
2019-08-28 02:39:37 -07:00
Vignesh Mohan
3efefcbe29 qcacmn: Add dfs_set_cfreq2 flag in scan channel list params
Add dfs_set_cfreq2 flag (indicating secondary DFS set) in addition to
dfs_set (indicating primary DFS set) flag in scan channel list update
params to be sent to FW.

Change-Id: I67670f1d5b128c57c0fad03d9f9b14a99f1d38f6
CRs-Fixed: 2496923
2019-08-27 23:03:41 -07:00
Rakesh Pillai
836b6690cb qcacmn: reduce log level for mon status ring tlv-tag error
STATUS_DONE is missing sometimes in monitor status ring,
but logging for each entry in the ring increases the time
for which the hal_ring access lock is held. If there are
many entries in the monitor status ring, this can lead to
the hal ring access lock being held for too long and cause
inconsistencies.

Reduce the logging level of the tlv tag STATUS_DONE errors
and have a counter for the cases when this happens.

CRs-Fixed: 2502422
Change-Id: Ica77ce62bbe2c6b7691d638ac44ab0452dd2fd97
2019-08-27 20:59:22 -07:00
Shashikala Prabhu
ec527358c2 qcacmn: Fix issues in qdf aligned memory alloc function
1. Alloc size should be passed as input and output parameter since we need
   to pass the exact alloc_size while freeing the memory.

2. use qdf_align() to calculate the aligned physical address.

3. In DBR component, pass correct arguments to qdf_aligned_malloc() to fix
   the compilation errors.
   Alloc size should be passed as input and output parameter since we need
   to pass the exact alloc_size while freeing the DMA memory.

Change-Id: I83051b8aa54bbf3bb663902d8f17f2c3c55e57bf
CRs-Fixed: 2462441
2019-08-26 00:26:56 -07:00
Radha krishna Simha Jiguru
0ebbf5a1de qcacmn: Send ip_hdr_padding configuration through WMI resource config
Send configuration option to configure enable/disable of ip_hdr_padding in
IPQ8074/IPQ6018.

Change-Id: I83bd882559c4fa7527f6ad4a462b00b04cb2a638
2019-08-24 04:23:56 -07:00
Abhishek Singh
22911578a1 qcacmn: Fix WMI timeout for runtime PM
For runtime PM if the bus is suspended driver need to consider
extra PMO_RESUME_TIMEOUT time for bus resume.

Thus add PMO_RESUME_TIMEOUT extra in WMI timeouts if runtime PM
is supported.

Change-Id: Ifda596626ba39a894bebcb20fcfc2018012b0b54
CRs-fixed: 2513791
2019-08-24 04:23:53 -07:00
Abhiram Jogadenu
d465314ffd qcacmn: Add support for AoA data extraction
Extract AoA data from WMI_PEER_CFR_CAPTURE_EVENTID.

Change-Id: I827ef735f46a3ed1bed61fda2d9bd39fd631f40d
CRs-Fixed: 2502029
2019-08-23 11:17:25 -07:00
Visweswara Tanuku
8c730b08c0 qcacmn: Genoa: SDIO: Handle Rx Padding
In Genoa SDIO ADMA implementation FW sends bundled packets
which is terminated by a pad block

Handle the Rx Bundling using the pad block

CRs-Fixed: 2506247
Change-Id: I50f1c79a07398ed0fcfba358fc53aa02ad3c6964
2019-08-23 06:27:10 -07:00
Sumeet Rao
2b730bbc76 qcacmn: Reorganize protocol and flow tagging changes to wifi-host component
Reorganize protocol and flow tagging changes to wifi-host component.

CRs-Fixed: 2501573
Change-Id: Ic6bc9548fd8bb66c2f8bae4740a4dcad4002f720
2019-08-22 12:35:28 -07:00
Vignesh Viswanathan
3e31e2babd qcacmn: Add support for checksum from FW for pktlog
If the FW sends a pktlog checksum in the FW ready event, store that in
pl_dev and use it as buf_hdr.version in the pktlog buffer header.

Also, use a new magic value to identify the checksum in the
buf_hdr.version field.

If the FW does not send the checksum, then the existing magic number
and standard version number would be maintained.

Change-Id: Ib08c093a9b54495a2c5b7e0e163207f2b1eb4ce2
CRs-Fixed: 2508828
2019-08-22 02:53:10 -07:00
Kiran Venkatappa
a33e6a8ea7 qcacmn: Use correct mac_id for delayed mon replenish
mac_id is used to get rx_desc_pool for monitor ring and mac_for_pdev is
used for srng for monitor buf. Use appropriate id to get correct
combination of hw ring and sw desc for monitor rings.

Change-Id: I7e4467e9568056e55cbabfef8f97ce94ad9c1b1c
CRs-Fixed: 2512292
2019-08-21 23:46:08 -07:00
Saket Jha
6caec001fa qcacmn: Correct return type for ce_send_single
Due to previous API change, ce_send_single function now returns
QDF_STATUS instead of int. In the case the condition is met
where ce send fails, this function should return QDF_STATUS type.

Change-Id: I0fe8cc2929623d6320bd782abcf75fff6ec60297
CRs-Fixed: 2509467
2019-08-21 20:54:17 -07:00
nwzhao
594d8a8167 qcacmn: add twt enable/disable complete event handlers
Add twt enable/disable complete event handlers

CRs-fixed: 2478884
Change-Id: I4c66d206f0eb2b910e9b4a68af3d855bb608198b
2019-08-21 14:19:01 -07:00
Jinwei Chen
38dbf13539 qcacmn: disable runtime PM for monitor mode
Disable runtime PM for monitor mode

Change-Id: I8d4c4f30859b01972423073ce1f7fc46d6341089
CRs-Fixed: 2509661
2019-08-21 02:59:44 -07:00
Prathyusha Guduri
fafd2480fb qcacmn: Fix tx_errors interface stats
tx_failed is not updated from ppdu completions owing to HW limitation.
Hence update tx_failed from data path

Change-Id: I808223005047af9b474ce423caac27fd9a83677e
2019-08-21 02:59:41 -07:00
Naman Padhiar
ee289837ea qcacmn: Correctly calculate msi vector for CE
Calculate correct msi vector corresponding to ce id and pass it
to platform driver to get irq number.

Change-Id: I6f9b1b68c6bdaa4baebacf47b7a564413417c55a
2019-08-21 02:59:37 -07:00
Srinivas Dasari
de39f3fc40 qcacmn: Configure roam trigger bitmap to firmware
Userspace may configure the roam trigger bitmap to WLAN host
driver to enable particular roam trigger reasons. Convert the
bitmap to the format of firmware trigger reason bitmap and send
to firmware.

Change-Id: I9fc78c180bd25c995dfd380f80e52e3eb302fce3
CRs-Fixed: 2507611
2019-08-21 02:59:33 -07:00
Nirav Shah
31435bbef5 qcacmn: Fix DHCP indication to FW feature in SAP for HL
In case of HL, send tx completion bit in HTT tx descriptor
to receive tx completion from FW and disable DHCP indication
to FW properly.

Change-Id: I2540a125c84c322507acdc0647ee8839d21067ce
CRs-Fixed: 2506020
2019-08-20 14:38:41 -07:00
Pavankumar Nandeshwar
2d247d0d5e qcacmn: Fix the deadlock situation during deconfiguration of grp_irq
Make sure the free_irq is not called with the group locks held.

Change-Id: I216e0cbae8bb45f1603dfe96e586130773744c50
2019-08-20 12:22:54 -07:00
Ajit Pal Singh
2573cf4667 qcacmn: Do not submit RX-URBs if device suspending
When WLAN device is suspended soon after driver load, the URB
complete callback for prestart URBs 'may' be called, since all
prestart URBs have not been utilised.In the complete callback
,fresh URBs will be requeued.
Check for suspend_state before queuing URBs.

Change-Id: I650080d65acde6b63340d1b90aef6d28df5022c6
CRs-Fixed: 2507594
2019-08-20 05:19:46 -07:00
Pragaspathi Thilagaraj
63eb9e48dd qcacmn: Set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL only for pmksa_flush
The supplicant sends del_pmksa command to delete the pmk,pmkid
for a particular bssid. In this command pmk_len will be 0.
In send_set_del_pmkid_cache_cmd_tlv() the host driver currently
checks the pmk_len to set WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL.
If pmk_len is 0 WMI_PMK_CACHE_OP_FLAG_FLUSH_ALL is set, which
is not correct. pmk_len will be zero in both the flush and delete
cases.

So add a new flag is_flush_all which will be set to true when the
supplicant sends pmksa flush command.
At WMI based on this flag set the flush flag to the wmi cmd.

Change-Id: I7626c500721a4b8cccbb21a08d4235c041456d1b
CRs-Fixed: 2502478
2019-08-20 05:19:43 -07:00
Hariharan Basuthkar
43168e82c6 qcacmn: Dynamically allocate ch_list in wifi_pos_pdev_iterator()
Dynamically allocate ch_list in wifi_pos_pdev_iterator(), to avoid
exceeding the stack frame limit with the introduction of new channels.

Change-Id: I41aaa3ad0405a3023768e5278dacf7475524c4e0
CRs-Fixed: 2463009
2019-08-19 23:56:03 -07:00
Srinivas Dasari
5276ece978 qcacmn: Configure full scan period to firmware along with scan period
Full scan period is the idle period in seconds between two
successive full channel roam scans. Configure this to firmware
along with scan period as part of roam_scan_offload request

Change-Id: I3d629f0735b50a5b8116b422779ae423c15cae1d
CRs-Fixed: 2507604
2019-08-19 08:20:55 -07:00
Srinivas Dasari
a75e44c100 qcacmn: Add QCA vendor attributes to enhance roaming configuration
This enhances the existing vendor command QCA_NL80211_VENDOR_SUBCMD_ROAM
with the following configurations:
1. Set/get/clear roam control
2. Set/get the channels on which the roaming has to be triggered
3. Set/get the roam scan period
4. Configure the triggers for roaming
5. Configure the candidate selection criteria

Change-Id: I75bad835c501d86fa4b2f0e8fcadf8af5b17daca
CRs-Fixed: 2508279
2019-08-19 08:20:53 -07:00
Disha Das
07721fc036 qcacmn: Add wlan_crypto_is_key_valid check
Add wlan_crypto_is_key_valid to check if key
is valid.

Change-Id: Ica71f56f1739261fff425e793ec8c15d2523e8e7
2019-08-19 06:19:30 -07:00
Arun Kumar Khandavalli
9447e47cbb qcacmn: For pdev stats return last event as true for older firmware
In case of latest firmware, there can be multiple pdev stats events
received and last_bit is set in the pdev stats to indicate this
is a last pdev stats event to be sent from the firmware to host.
In case of older firmware the last bit will not be set and host waits
for the peer stats event to be the last event, generally for pdev
specific stats request the peer stats will not be sent resulting in
the timeout for the pdev specific stats.

So, if the last_bit in the stats is not present return true when
queried for last event.

Change-Id: I264428edba01285fdab4c109a9051b350063d74f
CRs-Fixed: 2509093
2019-08-19 03:57:19 -07:00
Akshay Kosigi
07df14c270 qcacmn: Move config files out of cmn dev
Move AP specific CONFIG files out of cmn dev

Change-Id: I53adb20ea910c0bc8842daa85cb762d4d3968e45
CRs-Fixed: 2506563
2019-08-19 02:10:57 -07:00
Jingxiang Ge
5dab0d80c8 qcacmn: Cancel sleep_timer completely in pcie bus suspend
There is possibility that sleep_timer is in running state,
so even in hif_pci_cancel_deferred_target_sleep timer has
been stopped, it runs later.

Use fake_sleep in hif_sleep_entry to check if timer has been
stopped, if yes, without action in hif_sleep_entry.

Change-Id: I46f28f8d856b51792e27a1f80f763830956b2868
CRs-Fixed: 2482547
2019-08-18 21:17:28 -07:00
Srinivas Dasari
30c93402ec qcacmn: Rename qca_wlan_vendor_attr_roam_subcmd to represent subcmds
qca_wlan_vendor_attr_roam_subcmd is an enum associated with the
attribute QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD. It represents
different sub command values and these are not the attributes.
Hence, rename the enum to qca_wlan_vendor_roaming_subcmd.
Accordingly, the members of this enum are also renamed to
suite the usage.

Change-Id: Idbc80bf084ff293402fa2de368bc91b4fc659f01
CRs-Fixed: 2508204
2019-08-17 20:31:17 -07:00
Srinivas Dasari
b72b2d7e7a qcacmn: Document the attributes used by QCA_NL80211_VENDOR_SUBCMD_ROAM
This commit documents the attributes used by
QCA_NL80211_VENDOR_SUBCMD_ROAM

Change-Id: Iee7a3df28b9ebcfe6e9f318353582e7d22c1a0c4
CRs-Fixed: 2508202
2019-08-17 12:22:12 -07:00
Rakshith Suresh Patkar
8a0b6e961c qcacmn: Cleanup cdp_fc_get_tx_resource [PEER_ID_PHASE1]
Cleanup cdp_fc_get_tx_resource to be peer mac address based
from local peer id based.

Change-Id: I241377c75f09e9f0e177a167905cd9461ffcd088
CRs-Fixed: 2508146
2019-08-17 10:53:50 -07:00
Yue Ma
ad85368f00 qcacmn: Add suspending and resuming states for runtime PM
Currently runtime PM only has inprogress state which means either
suspend or resume is in progress. Add suspending and resuming states
so that proper handling can be done for each state.

Change-Id: I9d92a8719d659b9ea271c46f8ce6bc912edc0863
CRs-fixed: 2507953
2019-08-16 18:32:56 -07:00
Sumeet Rao
3953e0ad69 qcacmn: Check nss enabled config before programming flow search table
In cases where NSS offload is enabled, we currently do not support
flow-based search (flow tagging). Check for NSS offload enabled flag
prior to configuring the flow search table in target/hardware.

CRs-Fixed: 2502311
Change-Id: I291c610fe568ac36bacb3c21fd14feb544332b20
2019-08-16 12:44:37 -07:00
Abhishek Ambure
47e709a62b qcacmn: Move vdev resp timer to scheduler context for MCL
For MCL, vdev manager resp timer callback should be called in scheduler
context. Hence vdev manager response timer callback code is refactored.

To handle vdev response timer, MCL specific change is to post message to
scheduler thread and handle timer callback in scheduler thread. This MCL
specific change is protected using "SERIALIZE_VDEV_RESP_TIMER" macro.

Change-Id: I4c5a24cd4c8afba92e407fc229a9d2c295cecb57
CRs-Fixed: 2507577
2019-08-16 10:48:43 -07:00
Mohit Khanna
c42d8036c9 qcacmn: Donot forward MDNS packets for NAN vdev
MDNS packets if forwarded for a NAN vdev can lead to potential flooding
of the air interface. Hence donot forward them.

Change-Id: Idfdedfb0b5b553745440587448230013f3b56a7d
CRs-Fixed: 2503360
2019-08-16 08:23:00 -07:00
Kai Chen
4b4e8b48cf qcacmn: change debug print and add ring stuck count
change debug print and add counter for monitor destination
ring stuck

Change-Id: I79b4d3b957303334717fd04bfddf754e303e69db
2019-08-16 08:22:57 -07:00
phadiman
baaa7b98ce qcacmn: Replace %p with %pK format specifier
Replace %p with %pK specifier in dp_main
module

Change-Id: I637f5a4ddc827011aa48295ea50544632d1a9a76
2019-08-16 08:22:53 -07:00
Amir Patel
44bd807fa7 qcacmn: Fix memleak in m_copy mode
1. Assign correct first msdu payload
2. Reset mpdu fcs ok bitmap upon reception of next ppdu
3. Free rx_ppdu_buf_q in error cases

Change-Id: I4f2e687d51d1e10693adc9cfcdee49190ba6815c
CRs-Fixed: 2502889
2019-08-16 02:58:08 -07:00
Jinwei Chen
0f015f2b53 qcacmn: support changing driver mode to monitor
support monitor mode enablement by changing driver mode.

Change-Id: I5436b21f4f554101e74590757ed2ac05d2d84fa0
CRs-Fixed: 2491560
2019-08-16 02:58:05 -07:00
bings
208ab01f20 qcacmn: Trigger eWNI_SME_DFS_RADAR_FOUND once for one radar
Currently eWNI_SME_DFS_RADAR_FOUND is triggered for every vdev
attached to the pdev in which radar is found. It is incorrect
because when handling one eWNI_SME_DFS_RADAR_FOUND event, every
sap in the DFS channel processes the event.

Trigger eWNI_SME_DFS_RADAR_FOUND once for one radar detection.

Change-Id: I72f8a2a34b670bd86f07d0caabf2ee8f96c962be
CRs-Fixed: 2504793
2019-08-16 02:58:00 -07:00
bings
b2e00f901f qcacmn: Add new obj mgr api wlan_pdev_peek_active_first_vdev
wlan_pdev_vdev_list_peek_active_head can't be used out of object
manager, because object manager structures can't be referenced
outside object manager.

Add wlan_pdev_peek_active_first_vdev which can be used out of
object manager, because it only needs pdev parameters.

Change-Id: I1d32ec2b5342dbdcbbb817d80623f802011892b0
CRs-Fixed: 2507969
2019-08-15 23:31:24 -07:00