Beryllium targets have more number of HW rings.
Add INI changes to allow increase in number of rings.
Change-Id: I73d779334601d3a1c2aefcade1dcf9dd0f2ef761
CRs-Fixed: 2891021
Add the changes to the generic HAL APIs.
The APIs generic across lithium and beryllium
architecture are kept in common HAL code.
The APIs which are generic across lithium
chipsets are moved to lithium specific files.
The APIs which are generic across beryllium
chipsets are kept in beryllium specific files.
Change-Id: Ie5e28aca5de02aa42f63b4a13fcb1cb32ffa8a28
CRs-Fixed: 2891049
Assign th HAL TX/RX ops in a function instead of assining a structure
directly. This can be later extended to have default ops for a family of
chips and then override that with chip specific ops.
This also helps the case where a new hal_soc->ops needs to be added.
The new 'op' will need to be added to only a default ops initializer
(with assumption that it applies to all chips).
Change-Id: Iefa23d14110fa5252444fad89737a3b2b2fbab6f
CRs-Fixed: 2891049
Host add support to send cfr data via nl events to userspace
applications. Host registers callback when user send vendor
command to set transport mode.
Change-Id: Ieed3b6e09d871639af58336074313120d51762e2
CRs-Fixed: 2952096
If STA country code is US and 6G AP country IE is other than
US, STA would use VLP mode. Since US VLP is not determined
we don't allow connection to go through. Additionally, don't
include such AP to scan result.
Change-Id: I41b0c7dbea681b2ef1bea7c0a572ee1d7248fa6e
CRs-Fixed: 2953248
User sets CFR data transport mode using vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG. By default
CFR data transport mode is relayfs, user uses vendor command
attr QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE to set
transport mode QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS or
QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS.
If user sets QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID
attr in QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG vendor
command then hosts uses RECEIVER_PID to send unicast NL events
for CFR data.
Change-Id: I40e896fad8af24e761fcbedeba761f4a3815f0b8
CRs-Fixed: 2952095
Currently, wrong address is given to insert session_id in
meta_data.
To fix this, Passing pointer variable instead of address
to the pointer so that meta_data is filled correctly.
Change-Id: I019d73dc728fb214fd7c06a5027f0507ab4822a1
CRs-Fixed: 2959923
Add a QCA vendor attribute to configure the driver to use Data or
Management frames for keep alive data. This attribute is used for
testing purpose.
Change-Id: I03b133f3d61c4d34b79e41ad72cfc24334380658
CRs-Fixed: 2960804
Add QCA vendor attribute to configure the driver to transmit the
Data frames with ER SU PPDU type format. This attribute is used
for testing purpose.
Change-Id: If11523ea3e6316c47181342c3acc8425da85ee1b
CRs-Fixed: 2960794
Add missing change I4ab3c956c3169b50a69c05d9ed1c36e055aeb586
in connection manager to disable OCV in STA RSN capability
if AP doesnt support it.
Change-Id: I84b666a489b8f2e410a4901b908f57edae86b5d4
CRs-Fixed: 2960828
Currently, host sends bw value to upper layer in response
of GET_USABLE_CHAN command. but upper layer requires bw
value in form of nl80211_chan_width enum and considering
bw value as invalid and resulting into 0 bw.
Fix is to populate bw value from ch_params.ch_width instead
of populating from curr channel list and then convert to
nl80211_chan_width from phy_ch_width in hdd.
Change-Id: I1937ac2b3282224861a200a5d956a6e92109328e
CRs-Fixed: 2957055
When handling RXDMA error marked frames that from MAC1,
wrong rx descriptor pool is referenced, so allocated
buffer length is incorrect and lead to skb crash. Make
changes to always uses mac0 rx descriptor pool for MCL
platform.
Change-Id: Ica01c3967d6248a23ea745da63149dae9cd56677
CRs-Fixed: 2945573
Configure the MBSSID info to FW for Tx AP connection to enable
MBSSID functionality in FW.
Change-Id: Ida415a5c8f1dcb66e8890595b5f3038a611d62a5
CRs-Fixed: 2959158
Make the following code changes in the 6G host regulatory database:
1) Fix the multiple compilation errors that are seen when the flag
COMPILE_REGDB_6G is enabled.
2) Change the order of 6G AP type in the structure
sixghz_super_to_subdomains g_6g_reg_dmn_9_tuples and
enum sixghz_super_to_subdomains, from SP-LPI-VLP to LPI-SP-VLP, to keep
it in line with enum reg_6g_ap_type.
3)Rename the members under reg_super_domain_6g to contain the hexcode
in the member names.
Change-Id: Ia28c214b217ae3fb21420d058872cff17e11a5b6
CRs-Fixed: 2857865
Optimize refill buffer pool feature code to be
light weight on CPU, so that refill thread will
consume less CPU resources and also replenishing
RX buffers will be done faster.
Change-Id: I849ca60558c6197003d95e7d54fdb5f837cdc217
CRs-Fixed: 2950166
Add forward declaration of structures wlan_objmgr_pdev and
wlan_objmgr_vdev in file wlan_spectral_public_structs.h in
order to fix compiler warnings.
Change-Id: Ida73f3d3d808977ba1e813de3dd85e329fc13cd4
CRs-Fixed: 2907580
Host sets num_grp_tlvs based on modified_in_curr_session, which uses
default value - MAX_RESET_CFG_ENTRY. MAX ta ra entries changed from 16
to 4 for QCA6490 and QCA6750, so change MAX_RESET_CFG_ENTRY from
0xFFFF to 0xF here.
Change-Id: Ie057b8763c0126bd0cacab4fd21da9df0d5e71f2
CRs-Fixed: 2957324
GCMP header and MIC are not removed for received
fragments which will result in incorrect ethertype
and presence of LLC hdr in the data when the frames
are sent to network stack.
Fix is to add support for GCMP in rx de-fragmentation
path.
Change-Id: I83ed29a766e40e32f4b712342ebd40d08a2c65e0
CRs-Fixed: 2941879
Fetch usable channels for NAN iface mode from policy manager
or reg current channel list based on filter mask and
Update res msg channel list.
Change-Id: Ifa4ad4c7c8479f4a0ecc7dbe101f6507ff1525dc
CRs-Fixed: 2949340
Fix the compilation error post movement of CFR files to
cmndev and rename cfr init deinit APIs to be chip
independent. Also port fixes from component_dev.
CRs-Fixed: 2938886
Change-Id: I2f5637f5717ce5154e3b642c3ade646794e99602
Move CFR to common project and rename the files as it will
be shared with other targets as well. Fix checkpatch errors
too.
Change-Id: I66481848036212aedab74c9c18848070ac1a3511
Add QCA interface to specify the RSSI thresholds separately for candidate
APs from different bands.
Change-Id: I51d2e7c4490fde3901a4e4e8ad31d9c18823637c
CRs-Fixed: 2951242
Introduce intermediate EP voting state during this transition state
access the votes only if direct writes are not possible.
Change-Id: Ib4522aef2209b4797100ca84e4e230a00e14b654
CRs-Fixed: 2954903
As a part of this change, in SAP TWT mode this mac_addr
attribute is required in response for TWT setup, get_status,
pause, response and teardown. And is required in request
for TWT get_status and teardown.
Change-Id: I230047ac46181a6bfca054c610b96c054f5c303d
CRs-Fixed: 2952331
FW is not setting up any context for CE5 but host is still
configuring the dest and status ring for CE5. This can
result in CE5 HW to write to MSI iova address when PCIe is
in low power state.
Fix is to disable MSI intr configuration for CE5 on
Lithium based targets.
Change-Id: I964305ad1258d41d7afe6422f87286904c0a6739
CRs-Fixed: 2954723
Select window failed sometimes, then following register writing by offset
leaded to NOC error.
PCIe local register space is mapped to BAR0 lower address, don't need
select window when write wake up umac register.
Add read back to confirm select window register writing passed through.
Change-Id: Iaa5359722e9b7a3434efd1a819a951ce6c8d3f4f
CRs-Fixed: 2952127
In case the serialization command timeout happens, it queues a msg
with in schedular thread to process timeout and pass the active timer
as its context, but if before the timeout process is executed the
actual command completion can remove the command from serialization
and it will update the timer data to point to the newly activated
command.
Now when the timer msg is executed the timer is pointing to the newly
activated command instead of actual command which was timed out
and thus remove the new command instead of the original command.
This leads to an issue where the new active command removal is a
failure when its process is completed and thus action remains
incomplete. This can also lead to two commands getting processed at
the same time as the new command was forcefully removed.
To fix this instead of passing the timer context pass the copied
command in msg to scheduler thread and do not delete the command
from serialization if the command is not active.
Change-Id: I14b489172d0f22a9ed3b26b9c94226a4095f1dee
CRs-Fixed: 2950525
Memory allocated for tx_hw_desc_history uses incorrect
size parameter resulting in much lower memory to get
assigned. This will result in OOB access and corruptions
in memory, regions post the trailing boundary when updating
tx hw desc events via dp_tx_hw_desc_update_evt.
Fix is to use the appropriate memory size for tx_hw_desc_history
and add NULL check in dp_tx_hw_desc_update_evt.
Change-Id: I97af7898cf8bf1b24978d559f84a2a3d00227ed8
CRs-Fixed: 2952859
IPA unmapping is skipped for WBM internal error case,
do IPA unmapping for rx buffer received in WBM error case.
While reinjecting RX buffer back to REO, software rx desc
unmapped field is not set in sequence which may lead to
map without unmap error in IPA module. So reset the unmapped
filed after IPA mapping is complete.
Change-Id: I42c1eaa1620f975d47ce2938c95b6b89dbbd3eca
CRs-Fixed: 2952671
While Rx buffers are getting umapped from net rx context if IPA
pipes are enabled at same time from MC thread context this is
leading to race condition and IPA map/unmap is going out of sync.
To fix this introducing IPA mapping lock and IPA mapping need to
be handled with lock held.
Change-Id: I9fa71bdb6d4e4aa93fc795cc5dd472a181325991
CRs-Fixed: 2945063
As per current design, in failure path of hdd_wlan_start_modules,
mem_free of hif_ext_group is done (in cds_dp_close) before
free_irq (in hdd_hif_close), during next hdd_wlan_start_modules,
request_irq adds new handler entry to the list in irq_desc, this
leads to a crash on accessing older stale entry from irq handler,
so adding a bus_ops hif_grp_irq_deconfigure to free ext grp IRQs.
Change-Id: I4d0a2bee1fabee388cea8a85226fae641165a8d5
CRs-Fixed: 2949400