Grafico dei commit

12957 Commit

Autore SHA1 Messaggio Data
Kiran Venkatappa
ed3db92994 qcacmn: Init changes for qcn9224
Add qcn9224 target type in init path

Change-Id: If395ba24d55b32d9aa31af78143a62c5dbc065a8
CRs-Fixed: 2916380
2021-04-19 09:36:11 -07:00
Srikanth Marepalli
091a294bb3 qcacmn: Do not delete/update old PMK entries if new PMK is same
Currently the PMKSA entries are deleted only if the BSSID matches
and will delete all the matching PMK cache entries even though
the new PMK is same as the existing PMK for the matched BSSID.
This results in unnecessary deletion/updation of PMKSA entries.

This change allows to check PMK as well along with BSSID. And if
the PMK doesn't match with existing matched BSSID entry then only
we delete the PMKSA entries.
This change fixes the below OKC scenario and avoids Full EAP:
Connect to AP1 -> Roam to AP2 -> Disconnect and Reconnect AP2 ->
Disconnect and Reconnect AP1.

Change-Id: Ic41c2044e70f8d375130ef9e0af9fe4b83027c26
CRs-Fixed: 2913686
2021-04-19 09:36:06 -07:00
Shwetha G K
23d574115e qcacmn: Support to get dpd status from FW
WMI changes to rerieve current dpd status from target.

CRs-Fixed: 2885488
Change-Id: Iddfcbf63fccac87b52d3ac242ba078f8210cb6d0
2021-04-19 05:06:55 -07:00
Abhishek Ambure
f0df95498a qcacmn: Update mgmt action category
Host updates newly added action categories in enum mgmt_action_category.

Change-Id: I86048f59a6a3917685c18f07b6cb103fc809837f
CRs-Fixed: 2917060
2021-04-18 10:43:10 -07:00
Deeksha Gupta
38ec0b2a48 qcacmn: Introduce reason code for TWT session
The firmware sends new reason codes for roaming and
channel switch in progress. Update the enum
qca_wlan_vendor_twt_status to represent new reason code.

Change-Id: I4446ebf2e096873ab641029447f8fba9153216aa
CRs-Fixed: 2908446
2021-04-16 10:20:30 -07:00
Priyadarshnee Srinivasan
d35068cedb qcacmn: Rename 'get_next_lower_bw' API
Rename 'get_next_lower_bw' API with 'get_next_lower_bandwidth'
to resolve compilation error with WLAN_FEATURE_11BE macro enabled.

CRs-Fixed: 2924071
Change-Id: Idd2db24794ea2ab3766043d94708b3c214c1b262
2021-04-16 01:24:58 -07:00
Manikanta Pubbisetty
5a19bd0c38 qcacmn: do a dummy read to flush pending writes
Currently before suspending the device, we are draining
out the TX/RX SRNGs. The HP/TP updates which are done as
part of this will be posted writes(there won't be any link
levelccompletions for write transactions), there are chances
that we might end up updating HP/TP after the device enters
low power mode leading to system crashes.

In order to avoid this scenario, do a dummy read before
device is suspended; this will ensure all pendings writes are
flushed before read returns.

CRs-Fixed: 2919459

Change-Id: I5ab77f91fe14c506444bdea1587acfb34224fc69
2021-04-15 07:03:29 -07:00
nobelj
20a3940590 qcacmn: Add fix to support proxy arp function call
a call to osif_proxy_arp need to be invoked inside UMAC_SUPPORT_PROXY_ARP
as it was protected under build macro UMAC_SUPPORT_PROXY_ARP.

Change-Id: I6e165a328ac65fb659cb9fbc3a0ce39fcbb6744b
2021-04-14 18:08:30 -07:00
Harsh Kumar Bijlani
02fbfe0c0a qcacmn: Fix double nbuf unmap error for Pine
When nbuf map-unmap debug is enabled and monitor vap is created on
Pine, then double nbuf unmap error is reported.
This is because in case of Pine, first monitor destination ring is
processed, then first buffer from monitor status ring is processed
to check for ppdu_id difference and then finally monitor status ring
is processed where the same buffer is unmapped again and thus resulting
in the issue.
Add fix to resolve the same.

Change-Id: Ic20b2ead8ef345c4ff568242544d5f69e83fcfdf
2021-04-14 18:08:26 -07:00
Paul Zhang
cedbb9d221 qcacmn: Support congestion report on multiple interfaces
Support congestion report on multiple interfaces

Change-Id: I8a3dcc006576b26574e072cf6f74daee4925e6be
CRs-Fixed: 2909919
2021-04-14 05:34:26 -07:00
Shiva Krishna Pittala
ec05e79403 qcacmn: Print an error message when Agile spectral frequency is 0
When agile spectral frequency is 0 and user tries to start agile spectral
scan, 'A parameter is not initialized' message is thrown from user space
but that message is not enough to identify that agile spectral frequency
is not initialized. To address this, print an error message from driver
when Agile spectral frequency is 0.

CRs-Fixed: 2921000
Change-Id: Ibbb144a57774ad274b31015c7a04aa6097daf09f
2021-04-14 00:52:29 -07:00
Vulupala Shashank Reddy
0e7182e1ca qcacmn: Extract TSF time stamp for mgmt rx packets
Extract TSF time stamp for mgmt rx packets.

Change-Id: Id76048d79ea1937c002479314e83b40da807771b
CRs-Fixed: 2916738
2021-04-14 00:52:25 -07:00
Gururaj Pandurangi
74827187ce qcacmn: Remove all wlan_reg_chan_has_dfs_attribute instances
Use wlan_reg_chan_has_dfs_attribute_for_freq API to check DFS
attribute flag instead of unused wlan_reg_chan_has_dfs_attribute
API as part of regulatory cleanup effort.

Change-Id: I201e88f346da0ed84d330985783d93a95f608546
CRs-Fixed: 2908161
2021-04-13 18:54:04 -07:00
Nisha Menon
ab30ba1267 qcacmn: Unmapped IPA buffer results in smmu fault
Check the return status of the IPA api that creates or
releases the smmu mappings of the tx/rx buffers. If the
api returns a failure then assert.

Change-Id: I755765c7c35c901341279eefbc8087d0dce0494c
CRs-Fixed: 2898353
2021-04-13 18:54:00 -07:00
Mohit Khanna
9f35babf04 qcacmn: Set LRO hash keys based on PDEV flag
Currently dp_lro_hash_setup is being done in dp_vdev_attach_wifi3 when
pdev->vdev_count==1. However, this counter is not getting decremented and
may overflow on repeated VDEV attach/detach calls. This may result in
LRO keys being programmed again.
Use a PDEV flag to determine whether to configure LRO or not. Fix
pdev->vdev_count by decrementing it during VDEV detach.

Change-Id: I03cba0d95c30831fbe8047828f7bb2cf4a869213
CRs-Fixed: 2906871
2021-04-13 16:44:03 -07:00
Mohit Khanna
759a7573ed qcacmn: Add structures for FISA pkt history
Add DP data structures to add history in FISA aggregation path.

Change-Id: I2feb2d9fdef8f78f6cbfaf847c199580ceab9887
CRs-Fixed: 2912971
2021-04-13 16:43:59 -07:00
Nisha Menon
5d7e26e27f qcacmn: Dump the rx reo queue descs in ddr
Add iwpriv option 34 to dump the reo rx h/w descs
in DDR for debugging. This cmd will first send cache
flush cmd to REO for all rx tids and invalidate the h/w
cache. Henceforth ensuring that the reo status tlvs and
the DDR values are in sync.
iwpriv wlan0 txrx_stats 34 0
Add fix to ensure bar frame with 2k jump err code is
processed correctly using the REO error code instead of the
REO push reason.

Change-Id: Ia05be668343f3a5d4b3262b8d6a367a50875add5
CRs-Fixed: 2895965
2021-04-13 14:50:51 -07:00
Vijay Krishnan
fe6b1dc264 qcacmn: DO not disable NOL channels
As part of FR68217, wlan_get_chaninfo fetches information from the
regulatory channel list. In regulatory channel list, if radar is
detected the entire channel is marked as disabled channels.

After radar detection, when cfg80211 request for channel info,
"QCA_NL80211_VENDOR_SUBCMD_LIST_CHAN" returns center channel number
as 0. SON application uses the center channel number for channel
preference update.

The center channel number value should be a valid channel number
instead of 0. Therefore instead of marking the NOL channel as
disable, update the channel state as CHANNEL_STATE_DFS. This
helps in updating the center channel number.

CRs-Fixed: 2919437
Change-Id: I1722e23e1a68adec4870ad13b2b9a5e41005921c
2021-04-13 11:52:24 -07:00
Vijay Krishnan
e4831f5794 qcacmn: Modify 11BE Opclass changes
New Opclass for 11BE mode is introduced. The new opclass for 11BE is
included in global opclass according to 802.11_2016-SPEC.

Another change is modify the type of chan_spacing variable in
struct reg_dmn_op_class_map_t from uint8_t to uint16_t. The places
where the chan_spacing variable used is also modified with the updated
data type.

CRs-Fixed: 2897863
Change-Id: I11f0fc03a8e1bbd188968b7f0cfc4a3b4a3784be
2021-04-12 20:10:49 -07:00
Aditya Kodukula
4396086c69 qcacmn: Remove INI parameter gReorderOffloadSupported
As part of WiFi ini clean-up FR, the ini gReorderOffloadSupported,
is identified as an obsolete parameter. Hence it is deprecated.

Change-Id: I7d5ef3b77eb90ccbad1f84ec7d3cce1df761af15
CRs-Fixed: 2896016
2021-04-12 13:04:27 -07:00
Priyadarshnee Srinivasan
6a6557ab2a qcacmn: 802.11BE Regulatory Support
Build regulatory channel list for 802.11BE wireless mode and for the
new channel width 240/320 MHZ. Following is the summary of the changes:
1. Add a new channel width CH_WIDTH_320MHZ.
2. Enumerate a list of 320 bonded channel frequencies.
3. Increase the maximum supported bandwidth to 320/240 in the channel map
4. Introduce reg_channel_list structure which holds an array of
channel params and also a bitmap to indicate the regulatory
puncturing pattern.
4. Build 320 and 240MHZ (punctured 320) regulatory channel list.

CRs-Fixed: 2901260
Change-Id: Ide6a070e0121fbdabf77820a552ca743ca38732a
2021-04-12 05:43:03 -07:00
Priyadarshnee Srinivasan
ca3471eeec qcacmn: Avoid mem copy for different structure types
The regulatory wireless modes are populated by FW in
wlan_psoc_hal_reg_capability during service ready. This is copied
to the host regulatory data structure reg_cap. To accommodate the
802.11BE wireless modes, data type of wireless_modes in reg_cap is
changed from uint32_t to uint64_t, though FW still advertises as a 32
bit flag. As the wireless mode data type of host and FW are different,
structure copy using qdf_mem_copy does not work as expected and it corrupts
the adjacent elements.

Hence copy the elements individually from wlan_psoc_hal_reg_capability
to wlan_psoc_host_hal_reg_capabilities_ext structure. Also, typecast the
wireless_modes to 64 bit before storing in the host structure.

CRs-Fixed: 2901260
Change-Id: I42c8de831f97ec691c9b8cb50b8982662e39e7d9
2021-04-12 05:42:57 -07:00
Priyadarshnee Srinivasan
2b51168ba8 qcacmn: Add 11BE wireless mode and NO11BE phybitmap
Extract the 11BE flags advertised by FW in WMI_SERVICE_READY_EXT2_EVENTID
and update the regulatory pdev wireless modes. The wireless mode is
currently represented as 'uint32_t' and all the 32 bits are exhausted.
To accommodate the new 11BE flags, change the data type of wireless_modes
from 'uint32_t' to 'uint64_t'.

Add a regulatory phymode 'REG_PHYMODE_11BE' in enum reg_phymode.

If the chip does not support 11BE phymode, FW advertises it via
WMI_REGULATORY_PHYBITMAP enum with a value of REGULATORY_PHYMODE_NO11BE.
Extract the phybitmap and store it in the regualtory
as 'REGULATORY_PHYMODE_NO11BE' bitmap.

CRs-Fixed: 2901260
Change-Id: I4ed3fc7c907b1f76e59efb347c747acea2a163b0
2021-04-12 05:42:52 -07:00
Hariharan Basuthkar
28de31d838 qcacmn: Add a sanity check for 6G ap type and client type
Add a sanity check for ap type and client type in the APIs
reg_get_cur_6g_ap_pwr_type and reg_get_cur_6g_client_type respectively,
to prevent array index out of bounds.

Change-Id: I4c9ee7e742089e6b494b731d223b76b069fe1200
CRs-Fixed: 2919361
2021-04-09 23:45:01 -07:00
Tiger Yu
f7f01e0c10 qcacmn: Add sanity checking before removing ase from soc AST hash table
Add sanity checking before removing the ase from soc AST hash table to
avoid potential stability issue if ase is not found in the table.

Change-Id: I97b756cd5bdb052b0ce797cca5d96c6bac8f844e
CRs-fixed: 2912024
2021-04-09 00:37:52 -07:00
Deeksha Gupta
b1faf3e88d qcacmn: Add new reason codes for TWT session
The firmware sends new reason codes due to roaming in
progress and channel switch. Add new reason code for
TWT session.

Change-Id: I3820ac74910e382f5a029de85f8e0915220bb996
CRs-Fixed: 2908384
2021-04-08 10:50:07 -07:00
Srinivas Dasari
f08cb9d934 qcacmn: Don't optimize 6g channels in case of RRM scan request
Currently, scan requests are optimized to trim 6g channels based
on the ini params scan_mode_6ghz and scan_mode_6ghz_duty_cycle.
But RRM scan request comes to host driver with a fixed set of
channels and the expectation is to scan all supported channels
out of these.

Don't consider scan_mode_6ghz_duty_cycle to optimize the
channels in case of RRM scan request. Thereby no 6g channels
would be trimmed.
Ini param "scan_mode_6ghz" is still honored if it's set to
"SCAN_MODE_6G_NO_CHANNEL", which filters out all 6g
channels from the scan request.

Change-Id: I960ac2c68f8d291209acc1c59d2f5b9076f042d7
CRs-Fixed: 2913913
2021-04-08 08:47:33 -07:00
Yeshwanth Sriram Guntuka
69e696c423 qcacmn: Reset the inv bit in ring desc cookie for jumbo pkts
When a msdu scattered across multiple nbufs is received
in REO2SW ring and the remaining nbufs are not yet
available in the ring, loop in dp_rx_process is exited
without resetting the invalid bit in the ring desc cookie.
This will result in an incorrect assertion failure when
the same entry is processed the next time.

Fix is to reset the invalid bit in ring desc cookie
when the loop is exited in the above msdu scattered
scenario.

Change-Id: Ie5cfa1fb8ea1db4b7a0a4837545ecbfdfbb8719a
CRs-Fixed: 2916296
2021-04-08 02:50:56 -07:00
sheenam monga
9b74a6bc2a qcacmn: Add support to offload igmp feature to fw
Send command with required params to offload igmp
feature to fw.

Change-Id: I8b34b3f465c85db6b6cccd5fba439bee1c5640f4
CRs-Fixed: 2908041
2021-04-07 21:52:10 -07:00
Yeshwanth Sriram Guntuka
a5e6565dd6 qcacmn: Check for equal case in nbuf len sanity
MSDU with len 1654 is received in the REO2SW ring and
the total len of the pkt would be 1654 + 392 (pkt tlvs)
+ 2 (l2 hdr padding) = 2048bytes. The nbuf len sanity
checks for strictly less than 2048 bytes which results
in the assertion failure.

Fix is to add the equal case when validating the
nbuf len.

Change-Id: I7e5d1df10339c8d7908a12001c2322028965a8fe
CRs-Fixed: 2916351
2021-04-07 14:32:52 -07:00
Abhishek Ambure
c36e8ad74f qcacmn: Add support to handle vendor specific protected action frame
Host add support to handle action frames with category field
ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED(vendor specific
protected action frames).

Change-Id: Iae105fe7c5c37438b29d9b2bc135961f795c5ab8
CRs-Fixed: 2897655
2021-04-07 14:32:48 -07:00
Lincoln Tran
d9b92d56f2 qcacmn: Remove option LPI as option for AP pwr type
For devices operating in SAP mode, they must operate in VLP mode only,
unless in the countries which does not yet support VLP. In US and PR,
they currently operate in LPI, which will be updated when VLP support
comes. Remove the condition that allows the power type to be set to
LPI. Also, update the current channel list when the power type
changes.

Change-Id: I999862e44f213026ed11da2c08766d9bd77e3b7a
CRs-fixed: 2909703
2021-04-07 11:47:26 -07:00
Yeshwanth Sriram Guntuka
6512d66c27 qcacmn: Create IPA SMMU maps for host replenished bufs
Buffers replenished post processing entries in the
REO2TCL ring do not have ipa smmu mappings created
when RX_PREALLOC_BUFFER_POOL feature is disabled.
This will result in SMMU fault when IPA HW accesses
such replenished buffers.

Fix is to create IPA SMMU mapping for replenished buffers
when RX_PREALLOC_BUFFER_POOL feature is disabled as well.

Change-Id: I0fe611a1279b91a3e45bc269348e05de9015d596
CRs-Fixed: 2915686
2021-04-07 08:16:35 -07:00
Tushnim Bhattacharyya
7d8f444b48 qcacmn: Remove all WLAN_REG_IS_SAME_BAND_CHANNELS instances
Use WLAN_REG_IS_SAME_BAND_FREQS API to check if 2 channel
frequencies are on same band instead of the deprecated
WLAN_REG_IS_SAME_BAND_CHANNELS API as part of regulatory
cleanup effort.

Change-Id: I71318847c7993b4ec44625e9f759b522a553ee4b
CRs-Fixed: 2898310
2021-04-06 23:12:38 -07:00
Karthik Kantamneni
1759c5d6cb qcacmn: Rate limit excessive logs in WBM error path
Rate limit excessive logging prints in WBM error path

Change-Id: Ifb69959b78740bf4a0fca7b7611a2da0ef740413
CRs-Fixed: 2908240
2021-04-06 18:43:06 -07:00
Tushnim Bhattacharyya
ca2545b8a1 qcacmn: Remove all WLAN_REG_CHAN_TO_BAND instances
Use wlan_reg_freq_to_band API to get band instead of
the deprecated WLAN_REG_CHAN_TO_BAND API as part of
regulatory cleanup effort.

Change-Id: I782c2e270e695fdfe1b88d05928cf063dadc859d
CRs-Fixed: 2898232
2021-04-06 05:28:43 -07:00
bings
542e1cb014 qcacmn: Add eht_cap for psoc_phy_config
Add eht_cap for psoc_phy_config to support 11BE

Change-Id: I09d3e52fff3650235c9ab083cd78d3485344035a
CRs-Fixed: 2908971
2021-04-06 05:28:39 -07:00
Venkateswara Swamy Bandaru
216478aaae qcacmn: EHT changes as per latest fw cmn headers
Updated the EHT related variables as per latest fw cmn headers.
Address review comments from previous EHT gerrits.

Change-Id: I67cd58a4efcf3e06d2ca3b5570432593b1d80825
CRs-Fixed: 2902607
2021-04-05 04:45:25 -07:00
Venkateswara Swamy Bandaru
a8e24fd6c0 qcacmn: Add 11be support WMI peer assoc command
Add 320Mhz band width support and EHT capabilities information in
WMI peer assoc command.

Change-Id: Ie4ee95fb1790c828275e90b384b2bdc04efb3f29
CRs-Fixed: 2882054
2021-04-04 04:55:43 -07:00
Venkateswara Swamy Bandaru
bb3a53e3dd qcacmn: Add 320Mhz bandwidth support
Expand bandwidth related fields to support 320MHz.

Change-Id: I4d80625607d0f507373decd70006d55d79b3629a
CRs-Fixed: 2881992
2021-04-04 00:15:30 -07:00
Gururaj Pandurangi
6d6ae3f176 qcacmn: Add dispatcher to reg_get_cur_6g_ap_pwr_type
Add dispatcher API wlan_reg_get_cur_6g_ap_pwr_type to call
reg_get_cur_6g_ap_pwr_type from legacy TPC power calculation
API to obtain AP power type for SAP.

Change-Id: I7b135561af6f1cfaa14bbb724eb984e972a4a19a
CRs-Fixed: 2912227
2021-04-02 20:32:29 -07:00
Kiran Kumar Lokere
dfb42ec511 qcacmn: Drop the invalid 6GHz security beacon from scan result
Validate the 6GHz AP beacon in the scan result for valid security
if user enables the 6GHz security checks.
Drop the beacon from scan result if valid security is not found.

Change-Id: I6e02e77cc996b4f4fb7dc7a1678990419a51c79e
CRs-Fixed: 2904741
2021-04-02 15:03:28 -07:00
Rakshith Suresh Patkar
6fa61a5368 qcacmn: Make agile center freq 0 in stop sscan
In agile spectral scan scenario, if there is a chan switch,
it is possible for the new operating span to overlap with
the agile frequency, which results in erroneous outcome.

Make agile center freq 0 as part of every stop agile
scan. This ensures that a new frequency is mandated
as part of every agile scan.

Change-Id: I4531aa0636a62b918bace66098c2c287e72d55d3
CRs-Fixed: 2910449
2021-04-02 15:03:24 -07:00
Rajeev Kumar
c0a7a9dfe2 qcacmn: Replace request_firmware by firmware_request_nowarn
Replace request_firmware by firmware_request_nowarn to avoid warning
message when the file is not found and sysfs fallback mechanism is
enabled if direct filesystem lookup fails.

Change-Id: Ib55d257aa01c52523b1f1137165c842e139ce614
CRs-Fixed: 2912039
2021-04-02 12:02:49 -07:00
Ashish Kumar Dhanotiya
9498b63b87 qcacmn: Use feature flag based api for 4_9GHz channels population
Currently reg fill master channel list api directly uses 4_9GHz
channel macros to populate band channels. Since 4_9Ghz channels
are featurized if feature flag is disable 4_9GHz channels might
be invalid which may lead to out of bound access in reg populate
band channels api.

To address above issue, use feature flag based api to populate
4_9GHz channels.

Change-Id: Ied9a43301451faf2741188e4a98d4c8e47af9f38
CRs-Fixed: 2913703
2021-04-02 12:02:44 -07:00
Venkateswara Swamy Bandaru
873624584b qcacmn: Add scan support for 11be
Add EHT capability and EHT operation IE definitions and supporting
functions to parse these IEs.

Change-Id: Ida6f8b29fb33a581d2f13584f92327162cfa1664
CRs-Fixed: 2858005
2021-04-01 23:36:01 -07:00
Venkateswara Swamy Bandaru
b390b57146 qcacmn: Add 11be phymodes support in WMI
Extend phymodes to support 11be phymodes in WMI layer.

Change-Id: I98e7f5eac90952ed7daf26745fc9731c128756e5
CRs-Fixed: 2881926
2021-04-01 23:35:57 -07:00
Vevek Venkatesan
da069e5990 qcacmn: add qdf wrapper API for is_driver_state_module_stop
Add qdf wrapper API support for is_driver_state_module_stop.

Change-Id: I6965b4049aebcbe9ec612cf3d70398eb269450e4
CRs-Fixed: 2912016
2021-04-01 20:34:10 -07:00
Venkateswara Swamy Bandaru
11f4850bfd qcacmn: Initialization changes for 11be
EHT capapilities will be received as part of ext2 service ready message.
Update the structure as per firmware common header file and extract the
EHT capabilities field.

Change-Id: Id2dd170db4de588008742f95493d4d06a6431f1c
CRs-Fixed: 2857802
2021-04-01 06:11:30 -07:00
Liangwei Dong
94310d764e qcacmn: Fix debug print to use channel frequency
Use "Chan freq" string for channel frequency value debug
message print.

Change-Id: Ie9e2d2d38b8e7bad2c7fcaa052e5fa5b555fb7ea
CRs-Fixed: 2903498
2021-04-01 01:24:25 -07:00