提交图

8206 次代码提交

作者 SHA1 备注 提交日期
nobelj
7cc67e504f qcacmn: Support mgmt packet peer filter based on mac address
RA mac address is used to support tx capture mgmt peer filter.

Change-Id: I895034723d4b75557ad33f55adc017d1caa3a40d
2020-02-13 10:19:49 -08:00
Amir Patel
b8e9bcdf4c qcacmn: Read ppdu_id from reo_entrance ring
For qcn9000, As part HW enhancements, PPDU_ID is sent
in reo_entrance_ring descriptor instead of RX_MPDU_START
tlv. Add support to read ppdu id from descriptor.
Modify existing hal API hal_rx_hw_desc_get_ppduid_get ()
arguments to pass RxDMA ring HW descriptor.

Usage:
 a. Use hal_rx_hw_desc_get_ppduid_get () -
    to get ppdu id from rx_tlv_hdr or hw descriptor based on target.
    for qcn9000, this API gets ppdu_id from HW descriptor,
    for other platforms, gets ppdu_id from rx_tv_hdr
 b. Use hal_rx_get_ppdu_id () - to get ppdu_id from rx_tlv_hdr

Change-Id: I5838227c12cde50cbb2a9da7a0d8056b8b9b7ef5
2020-02-13 05:54:15 -08:00
hqu
fed4bfb049 qcacmn: Add dcs component
Add dcs component to implement interference detection algorithm
and dynamic channel selection frequency control.

Change-Id: Ia201d77e77feb9de3aff03d6e389d4891dde118e
CRs-Fixed: 2594837
2020-02-13 04:12:30 -08:00
Sourav Mohapatra
b478db24df qcacmn: Cleanup logging in osif request manager path
Cleanup logging in osif request manager path

Change-Id: Id17e9030b61f193bb5093f74674aea8a573df18a
CRs-Fixed: 2618580
2020-02-13 04:12:11 -08:00
Hariharan Basuthkar
a6a139298a qcacmn: Add an API reg_get_center_channel in the Regulatory
In a SON WFA testcase, the QCA AP advertises the channel set in
operating class 128 as individual IEEE channel number (for eg. 36, 40,
44, 48 etc.) instead of center channel (for eg. 42, 58, 106 etc.) to
the third party AP.

As a result, the third party AP creates Front Haul VAPs in High Band
radio when the QCA AP is configured to Low Band, due to incorrect
channel set advertised to it.

To fix this issue, add an API reg_get_chan_or_chan_center to
calculate the center channel number for a 80MHz, 80_80 MHz and 160
MHz bandwidth channel, and use it to calculate the center channel
number within the channel set for a particular operating class in the
operating class table.

Change-Id: Idf7df70c8d01ed79b43d0ba21db7b07189f3f710
CRs-Fixed: 2612258
2020-02-12 23:17:28 -08:00
gaurank kathpalia
85d4f03587 qcacmn: Set DBS scan if ndp peers are active
Currently on the STA interface if the scan
comes the driver puts it to NON-DBS scan if the
high accuracy request comes, but if the NDP
peers are active this causes a throughput loss
as scan takes much time to complete.

Fix is to do a DBS scan if the NDP peers are
attached to a NDI interface.

Change-Id: I798fd388f2bf010304ba1f6777680cf4d1f3ccfb
CRs-Fixed: 2615541
2020-02-12 21:48:30 -08:00
nwzhao
b666fe52b7 qcacmn: DebugFS Improvements for WMI logs
1)Configurable number of bytes to log
2)Add support to record only specific WMI command/events
  Separate buffers are added to save user specified WMI commands and events
    1.To record specific wmi cmd, e.g. WMI_VDEV_START_REQUEST_CMDID
	echo 0x5003 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_cmds
    2.To record specific wmi evt, e.g. WMI_MGMT_RX_EVENTID
	echo 0x7001 > /sys/kernel/debug/WMI_SOC0_PDEV0/filtered_wmi_evts
  Results of recorded specific WMI command/events:
    1. WMI commands, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_command_log
    2. WMI events, e.g.:
	cat /sys/kernel/debug/WMI_SOC0_PDEV0/wmi_filtered_event_log

CRs-Fixed: 2597854
Change-Id: I1e90a13ac0717f1f37ba998fb1d06a990d3f4fa2
2020-02-12 15:51:03 -08:00
Manjunathappa Prakash
3227df4b10 qcacmn: Tag FSE/FISA HTT setup commands as HTC_TX_PACKET_TAG_RUNTIME_PUT
FSE setup, FSE cache flush and FISA config commands do not have
response, tag them as HTC_TX_PACKET_TAG_RUNTIME_PUT so that get on
runtime_pm is released. Without this target fails to go to runtime_pm
suspend.

Change-Id: Ibb14484dd50c62bb4680b41acf93ce3da1bec796
CRs-Fixed: 2606884
2020-02-12 11:59:29 -08:00
Manjunathappa Prakash
b896f0eade qcacmn: Add NULL check for vdev before accessing
Add NULL check for valid vdev before accessing it.

Change-Id: I977671bd7f612a30e1cb3b72d6b46200eaf1a34c
CRs-Fixed: 2606040
2020-02-12 11:59:15 -08:00
Manjunathappa Prakash
5d73e075e8 qcacmn: Add support to deliver the packets to FISA
Hook FISA specific callback to deliver the Rx packets to
FISA frame work.

Change-Id: Ia16c857764c0c3bf99c3855eac01659eb03c7608
CRs-Fixed: 2599917
2020-02-12 11:58:59 -08:00
Venkata Sharath Chandra Manchala
d2ceaf472c qcacmn: Add hal macros for fisa assist
Add 6490 chip specific HAL macros to extract FISA assist from TLV header.

Change-Id: I269431b2708f07b10e7e02715d8940fea27a66f6
CRs-Fixed: 2599917
2020-02-12 11:58:49 -08:00
Manjunathappa Prakash
44aeb7256a qcacmn: Allocate and Initialize the FST for FISA feature
1) Allocate the FISA software flow search table
2) Allocate DDR flow search table
3) Send HTT command to program DDR flow table in FSE module.

Change-Id: I6d6084343d1a9c0298b1cf8a1ba033b2b46e6a82
CRs-Fixed: 2599917
2020-02-12 11:58:35 -08:00
Manjunathappa Prakash
f3b2944efe qcacmn: Move flow learning and operation HAL macros out of header file
Move flow learning and operation HAL macros from header file hal_rx_flow.h
to hal_rx_flow.c.
1) hal_rx_flow.c conditionally compiled in based on the feature
2) Function implementations are too big to be defined in hal_rx_flow.h

Replicate hal_rx_flow_setup_fse specific to FISA Flow programming.
Implement function to dump the FT entries.

Change-Id: I7db943495eecfc064c4b696939da83d1d8ed9280
CRs-Fixed: 2599917
2020-02-12 11:58:30 -08:00
Manjunathappa Prakash
d501c32614 qcacmn: Add INI option to enable FISA feature
Add INI dp_rx_fisa_enable to enable/disable FISA feature.
Disable the feature by default.

Change-Id: I0cc524956e32ab9f2b5c556d8ae2e1855e8d3513
CRs-Fixed: 2599917
2020-02-12 11:58:15 -08:00
Liangwei Dong
bb0b78c688 qcacmn: Set dfs_set_cfreq2 with correct DFS flag
In MCL code, QCA_DFS_NOL_OFFLOAD is no defined,
which causes the utils_is_dfs_cfreq2_ch always return
"false".
In function vdev_mgr_start_param_update
the "dfs_set_cfreq2" needs to be set correct dfs flag from
utils_is_dfs_cfreq2_ch so that vdev start wmi command will include
correct DFS flag - WMI_CHAN_FLAG_DFS_CFREQ2 for AP home channel.

Move utils_is_dfs_cfreq2_ch function out of WLAN_DFS_FULL_OFFLOAD
and QCA_DFS_NOL_OFFLOAD build flag.

Change-Id: I341db02c4db3ad3b21d8b2c115b2baffc3df3164
CRs-Fixed: 2619273
2020-02-12 09:55:06 -08:00
Edayilliam Jayadev
ec5e46507e qcacmn: FFT size max based on band width
For QCN9000 max FFT size supported is 9 for 20 MHz and 10
for all other bandwidths. Add FFT bin size max based on
bandwidth to support this requirement.

Change-Id: If383dc914937d68c9f4781463a3a965c73bc78f1
CRs-Fixed: 2617674
2020-02-11 02:09:20 -08:00
Amruta Kulkarni
65f217ba99 qcacmn: Cleanup for function wlan_reg_is_dfs_ch()
Replace wlan_reg_is_dfs_ch() with wlan_reg_is_dfs_for_freq()

Change-Id: Idb40beeea3ba07e133f3346b46998ae9ac549ba7
CRs-Fixed: 2615754
2020-02-10 20:36:44 -08:00
Sravan Goud
dbf2ff57bc qcacmn: Do not process rxdma err decrypt frames
Do not process or drop rxdma error decrpt frames. In case of
decrypt error the decryption is not proper and Rx OLE gets
corrupted bytes. So accessing these can lead to invalid buffers.

Change-Id: Idb3f942facf08fc26bde0fd9826db28955ca01d5
CRs-Fixed: 2613068
2020-02-10 15:13:42 -08:00
sheenam monga
428b9654bc qcacmn: Log optimization for Roam Invoke
Currently there are unnecessary/duplicate logging. Identify and
reduce those logs that are not necessary.

Change-Id: If47a4fc0762a7a11666771e76a56d4fa1013647b
CRs-Fixed: 2615419
2020-02-08 20:17:53 -08:00
Pragaspathi Thilagaraj
50661d5d8e qcacmn: Rename candidate_min_roam_score to fix compilation error
The candidate_min_roam_score_delta in struct
wmi_roam_cnd_scoring_param at the interface definition and this causes
compilation issues with older host.

Rename candidate_min_roam_score to fix compilation error.

Change-Id: Ie214b386ef4c14be2cdcaec9be0d8b6c7f1e7f33
CRs-Fixed: 2617981
2020-02-08 12:01:07 -08:00
Surabhi Vishnoi
d6e10c598e qcacmn: Add function to extract the events for FTM TIME SYNC feature
This patch adds the function to extract and parse the wmi events
WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID and
WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID. These events are
required for ftm time sync feature.

Change-Id: Ib17da82b7a8abfcff5d18125a0ba0e5249d6bf54
CRs-Fixed: 2615452
2020-02-08 00:48:40 -08:00
Karunakar Dasineni
f2d6649390 qcacmn: Add HAL SW frame group Id for RTS
Add HAL SW frame group Id definition for RTS

Change-Id: Ic750d3e3f7123c17c6939b69200966e45bf3164a
2020-02-07 21:25:07 -08:00
Krishna Rao
5845495d6a qcacmn: Add a vendor attribute for RTPL instance primary frequency
Add an attribute QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY_FREQUENCY for
primary channel center frequency in the definition for Representative
Tx Power List (RTPL) list entry instance. This is required for 6 GHz
support, since the 6 GHz channel numbers overlap with existing 2.4 GHz
and 5 GHz channel numbers thus requiring frequency values to uniquely
identify channels.

Mark QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY as deprecated if both the
driver and user space application support 6 GHz. For backward
compatibility, QCA_WLAN_VENDOR_ATTR_RTPLINST_PRIMARY is still used if
either the driver or user space application or both do not support the
6 GHz band.

Change-Id: I71c60aa9512bd183eaf73e1bffa57cab0d5b40c5
CRs-Fixed: 2612147
2020-02-07 21:24:53 -08:00
Shashikala Prabhu
29aca291c5 qcacmn: Add WMI support for native 160MHZ
A service bit is added to indicate Firmware supports sending NSS ratio
information to Host and Host receives the NSS ratio information from
Firmware as part of service ready ext event. Save this service bit in
soc's extcap feature bit. Extract the NSS ratio info from service ready
ext event and save the results in wlan_psoc_host_mac_phy_caps structure
to calculate NSS value.

Change-Id: I8fbee48d872b0724bbb629ad38b3c959736a3c39
CRs-Fixed: 2612959
2020-02-07 20:06:29 -08:00
Alan Chen
6760310422 qcacmn: Move hif_pm_runtime_resume() to hif.h file
This is a public API, so move it outside to hif.h file so it can be
used elsewhere as well.

Change-Id: Ic870cf804df69f6d7bb5a792da662759d687e0ed
CRs-Fixed: 2616491
2020-02-07 10:40:16 -08:00
Abhishek Singh
d0708ac038 qcacmn: Print type while creating the obj manager peer
Print type while creating the obj manager peer.

Change-Id: I04df87c3c7a992406a19c99560f85d6777198761
CRs-Fixed: 2617007
2020-02-07 03:06:55 -08:00
Vevek Venkatesan
f6c3329e23 qcacmn: add support to send dscp-to-up map to FW
Add support to send DSCP-to-UP map table values to
FW over WMI cmd to update its corresponding map table.

Change-Id: I92c1464881282ead00714d0b115cffd34dc9ba1f
CRs-Fixed: 2617045
2020-02-06 22:45:47 -08:00
Manjunathappa Prakash
9195497a5f qcacmn: Implement chip specific hal_rx_msdu_packet_metadata_get_9000
8074 and QCN9000 coexist, so make hal_rx_msdu_packet_metadata_get()
as chip specific

Change-Id: I5b0b5e7f8915d12d4b267d5f07b03b47bb49a83f
CRs-Fixed: 2595314
2020-02-06 11:21:48 -08:00
Abhishek Ambure
188721c9ac qcacmn: Add support to send candidate min roam score delta in firmware
During CU and low rssi based roam triggers, consider AP as roam candidate
only if its roam score is better than connected AP score by at least
candidate min roam score delta.

Hence, driver adds support to set candidate min roam score delta in
firmware.

Change-Id: I98d2c4ed5599e5d6d52941c46a236e0e5ccd8ba8
CRs-Fixed: 2614118
2020-02-06 03:25:57 -08:00
Rakesh Pillai
fc60b6d73b qcacmn: Do not try to delete a peer if already deleted
Currently if any layer tries to delete a peer which
has already been deleted, there is no check to stop
the delete operation. Deleting an already deleted peer
is incorrect.

Check if the peer is valid before we try to delete
the peer.

Change-Id: Icc280554a652e0ee3f1ea38c98fb130ea3c1ae80
CRs-Fixed: 2613595
2020-02-06 00:47:25 -08:00
Abhishek Singh
d52ee762bc qcacmn: Use qdf_scnprintf in scan instead of snprintf
Use qdf_scnprintf instead of snprintf to log channels to store
the freq list and print.

Change-Id: I4e2f4a93f3de9b9937af3699bde00bb2d1066ca5
CRs-Fixed: 2615319
2020-02-05 22:40:34 -08:00
Vulupala Shashank Reddy
fdb09af186 qcacmn: Componentization packet capture mode INI
As part of componentization of packet capture feature
removed INI of packet capture.

Change-Id: If9f599cbaf5bc3e339dc1f21ee6be36f5eb093f2
CRs-Fixed: 2614621
2020-02-05 22:40:18 -08:00
Manjunathappa Prakash
5fb8965b74 qcacmn: Fix HAL_RX_MSDU_END_DA_IDX_GET macro compilation failure
Move HAL_RX_MSDU_END_DA_IDX_GET macros to chip specific header file.
Fixing compilation failure for 6490 and 6750.
hal_rx_msdu_packet_metadata_get_generic need not be chip specific,
macros defining the function are already chip specific.

Change-Id: I940a289662bdeddfbf99fae2a80d7796334832e7
CRs-Fixed: 2595314
2020-02-05 15:32:48 -08:00
syed touqeer pasha
6997a37a1e qcacmn: Extract msdu end TLV information at once during Rx fast path
Rather than extracting msdu end pkt tlv information per field basis
during fast data path, extract msdu end pkt tlv information at once
and store in local structure.

Change-Id: I0877ba4f824d480cc0851c72090f010852d0d203
2020-02-05 02:28:41 -08:00
Arun Kumar Khandavalli
fc4ac73e9b qcacmn: Selectively reduce the mgmt logs
Reduce loglevel of the management logs from info to debug.

Change-Id: I587357c14b1e7a79615af9c1eeeed8e4455234f0
CRs-Fixed: 2606506
2020-02-04 23:26:22 -08:00
Sravan Goud
fbe04282e0 qcacmn: Drop nbuf if msdu done is not set
Drop the packet if msdu_done bit is not set while processing
rxdma err frames. This is not expected while reaping WBM RX
release ring.

Change-Id: I8776d15ea88319d7d955fdae90958648484dbda0
CRs-Fixed: 2603791
2020-02-04 19:34:50 -08:00
Ashish Kumar Dhanotiya
33ff8de7cb qcacmn: Add vendor event to request SAR power limits
This change introduces the vendor event
QCA_NL80211_VENDOR_SUBCMD_REQUEST_SAR_LIMITS_EVENT.
Host drivers can request user space application to set SAR
power limits with this interface.

Change-ID: I15cf651c722bf828ba9012d81d99922c39a9e1fc
CRs-Fixed: 2615364
2020-02-04 17:21:10 -08:00
Adil Saeed Musthafa
bbc4de06d7 qcacmn: per-peer protocol count tracking
Maintain packet counters for each peer based on protocol. Following 3
protocols are supported
* ICMP (IPv4)
* ARP (IPv4)
* EAP

Change-Id: I56dd9bbedd7b6698b7d155a524b242e8cabd76c3
CRs-Fixed: 2604877
2020-02-04 14:17:14 -08:00
Adil Saeed Musthafa
ab1127c636 qcacmn: export __qdf_nbuf_data_is_icmp_pkt to outside QDF
Export __qdf_nbuf_data_is_icmp_pkt to outside QDF. This is needed for
implementing the per-peer protocol counters

Change-Id: I40db2b95347e95f2a5a7dbf6650fa873f564f1c3
CRs-Fixed: 2604877
2020-02-04 14:16:55 -08:00
gaurank kathpalia
59b431a029 qcacmn: Optimize logs in serialization
Optimize the logs in serialization.

Change-Id: I0148a4d0799102817167b19e27cca609570e3b02
CRs-Fixed: 2612823
2020-02-04 06:06:50 -08:00
Surya Prakash Raajen
ff8e33a3bd qcacmn: Export hif display stats api
Export hif display stats api to enable
ce stats debug print

Change-Id: Id3044a94ddfe5fb33eee6a09e873a58b489a30fc
CRs-Fixed: 2596873
2020-02-04 03:19:40 -08:00
Srinivas Pitla
9632da7583 qcacmn: debugfs support for sm history
SM history is redirected to debugfs for user to redirect
it to a file

Change-Id: I7670be9dbccaaef868e472062c1ee97635bd29d5
CRs-Fixed: 2613250
2020-02-04 00:34:00 -08:00
Abhishek Singh
daaeeb218a qcacmn: Optimize logs in scan path
Remove redundant logs and optimize the logs in scan path.

Change-Id: I59c59db012f5e9526752d45303e44f2a27f91ec6
CRs-Fixed: 2612629
2020-02-03 23:07:32 -08:00
Surabhi Vishnoi
2339b27eef qcacmn: Add wmi service for wlan time sync ftm feature
Add firmware service capability for wlan time sync feature.

CRs-Fixed: 2610094
Change-Id: I7ae0e004ef5dae37d10af3b844199008ab41141a
2020-02-03 19:47:34 -08:00
Linux Build Service Account
c530afdb5a Merge "qcacmn: Have same rows orders for the channel enums and channel maps" 2020-02-03 14:35:56 -08:00
Vignesh U
d2c03e6a74 qcacmn: Have same rows orders for the channel enums and channel maps
In many functions, in the regulatory component
(e.g reg_modify_chan_list_for_freq_range), the channel enum iterations
assumes the channel enums and channel maps have the same order so that
there is a one-to-one mapping.

The change I5fe2c7a5db44f1cf8d6cb6317396c4527482137c removed
(compile-conditionally) a few channels. The removal violated the one-to-one
mapping principle. This led to 2Ghz channels being added to 5Ghz only
radio, which in turn caused many auto-channel selection issues and test
failures.

Instead of removing the channels, add (compile-conditionally) invalid
channels to maintain the one-to-one mapping.

Change-Id: I023de9732e02d52e544199b77680e9f7706d5210
CRs-Fixed: 2612990
2020-02-03 11:42:45 -08:00
Linux Build Service Account
7425efbdbe Merge "qcacmn: Add common framework for mon filters" 2020-02-03 09:38:34 -08:00
Linux Build Service Account
da64f244ea Merge "qcacmn: Stop the monitor reap timer at dp suspend" 2020-02-03 09:38:26 -08:00
Aniruddha Paul
f9d2c0f54e qcacmn: Add common framework for mon filters
A framework is added where the filters for every
mode are stored on a radio instance. Whenever a mode comes
up, it stores the filters in the radio and calls a
common API which iterates through all the enabled
mode filters and loops through them to create a
superset of filters which is sent to HTT.

This framework can be extended for new feature addition
which set filters for the monitor status and monitor
destination rings.

Change-Id: I9b739af2086bbe261b65c57af0a5bd867294f30f
CRs-Fixed: 2585872
2020-02-03 04:23:05 -08:00
Aniruddha Paul
fe67c34963 qcacmn: Add debug module ID for Monitor Filter
Add the new debug module ID for the monitor filter.

Change-Id: I35edbfe908c2133a3a0a37cb1e7a7b4eec82774f
2020-02-03 04:22:49 -08:00