Macro MAX_MONITOR_HEADER is used to specify the max. headroom size for
different buffer rings. With the monitor frag feature, macro
DP_RX_MON_MAX_MONITOR_HEADER is required to specify the headroom size for
the monitor destination buffers as per the the approch being used.
Change-Id: Ic4c0132292008942d7d443235e5f54d7eaa77e74
CRs-Fixed: 2772048
Add the support to coalesc the tx head pointer
register writes to reduce the number of PCIe
writes.
Change-Id: I4fea22464c2bf6930bac42dab72c1c2fc5fa18e2
CRs-Fixed: 2769017
The 11g and 11a connections are latency critical and
hence the tx coalescing cannot be applied on traffic
running for these connections.
Add a CDP API to save the number of low latency
connection in the dtapath vdev handle. The Software
latency manager can use this information to decide
and skip the tx register write coalescing for packet
transmission on low latency connections.
Change-Id: Iff51867447e9d4537a3637cb65d94e184e4249ef
CRs-Fixed: 2769025
This change adds QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS,
and enum for qca_wlan_vendor_attr_mbssid_tx_vdev_status
Change-Id: I4c3f070b29c25f095afdfd587e3f35cb160aefc7
CRs-Fixed: 2759232
Add major print logic for SKB as it is currently done for kmalloc and
dma allocations so that SKB allocations can be profiled.
Change-Id: Ic78cef61bc1519aa54da9823199add92c116aad7
CRs-Fixed: 2769631
During DFS random channel selection, in the function
utils_dfs_get_channel_list, check if inter-band channel switch is
allowed before adding the inter-band channels in the channel list,
from which a random channel is selected as the target channel.
Change-Id: I3f6c88788819039c4b562b462a922edf1baafe12
CRs-Fixed: 2771640
The variable 'ret' in ‘__dp_ipa_tx_buf_smmu_mapping()’ maybe
used uninitialized. Set one default value for it.
CRs-Fixed: 2771822
Change-Id: Ibf4bf6aa2076de84b3a47122ff4f3cae055cd0f7
Change log level of print from qdf_err to dp_err in
dp_peer_qos_stats_notify to avoid console flooding
Change-Id: I214942135826a6b94e6cf0b34b69d2c662a35e7b
Add support to filter APs based on dot11mode such
as connect only 11N/11AC/11AX capable APs.
Change-Id: I0046c726d944dd08453c19086282e32d0599ddac
CRs-Fixed: 2769979
Add gpio configuration vendor interface to set target
gpio configuration and output info, meanwhile add
GPIO component id
Change-Id: I0b551cd63b61675406fe37549f2efeca1a2999bf
The API wlan_cfg80211_scan_done() abstracts the kernel
API cfg80211_scan_done().This should be made accessible
throughout the driver by making it non-static.
Change-Id: Ic1a882a115d11339909e62e53f040774d5370981
Do not create a DFS object for a radio if the channel frequency range
advertised by the target is a 6G only range.
Change-Id: Ib672902ec3945d00b53ab6d4460584ca889ae387
CRs-Fixed: 2755652
Currently the stale cookie and invalid cookie
counters are being logged inter-changeably.
Fix the logging for stale and invalid cookie counter.
Change-Id: I43346fe961ee750a3baa1bf8c2da2551fb06e973
CRs-Fixed: 2770877
Rename the connection manager API to have proper names also
remove duplicate callbacks.
Change-Id: I8712487091c17f576927dd06bcf75bf45d06ba8b
CRs-Fixed: 2769296
Add sequence number to each packet queued on wmi pipe and
match it against expected sequence number in wmi completion handler.
WMI packets are consumed internally, use the skb mark field to capture
the sequence number of the wmi packet.
Change-Id: I1421e3fcff0a2b326f6d899780c773950544ef26
CRs-Fixed: 2741465
1. Add flag to support hlos id override feature in dp vdev
2. Update tid from nbuf->priority in dp_tx_send
3. Update tid to nbuf->priority in dp_rx_process
Change-Id: I66e8d77733a667f3f60b77e0d7bb444f7c5ad93d
dp_tx_pdev_detach API takes care of flushing
tx descriptors and multicast enhancement mem
cleanup
dp_pdev_deinit takes care of cleaning up the
above actions and dp_tx_pdev_detach is simply
a redundant piece of code
Hence remove dp_tx_pdev_detach API and call
dp_tx_desc_flush directly from dp_pdev_deinit
CRs-Fixed: 2769303
Change-Id: Ic798793e81eefc7dc905ca7552fdca13e9fddd8c
Donot block wmi command sending inside #if macro.
This change is needed because WIN uses only the FW log level
setting and not the complete feature. Only the feature
should be enclosed in #if macros and not the wmi command
sending part.
Change-Id: Ia28c0487d360c1b0a54374bb237811eba6b1af41
Currently when IPA is enabled, all RX frames will be routed to IPA
ring REO2SW4 by default, there is no REO2HOST option. once IPA RX/TX
is slow, then likely will give RX back pressure to wlan RXDMA. per
FW feature request, when IPA RX is slow or stuck, route RX frames to
wlan host to mitigate issue, thus provide REO2SW1 ring as REO_DST
option into HWIO_REO_R0_DESTINATION_RING_CTRL_IX_0.
To make sure if without FW dynamic REO_DST ring switching change,
current host change should not give chance that RX frames
route to host when IPA is enabled, select CTRL_IX_0 index 2 to
set REO_DST option, the reason is: if RX hash is enabled, CTRL_IX_2
and CTRL_IX_3 index 16~31 is REO_DST option filled with REO2SW4,
if RX hash is disabled, then CTRL_IX_0 index 1 and 4 filled with
REO2SW4 is REO_DST option configured by
WMI_HOST_PEER_SET_DEFAULT_ROUTING, so CTRL_IX_0 index 2
is only used for FW dynamic ring switching.
Change-Id: I6af12e07472dbdd4ab6d97f24e9fd4082c4e7328
CRs-Fixed: 2767844
To show formating errors at compile time, removing Wno-format flag
while compilation of driver and also handling associated errors
Change-Id: If990cc9110fe3042dd486e31d9b44fce79861e77
Dont pass las_msdu as a param to restitch func for frag
approach as it doesn't contain valid value and is not used
in the restitch api.
Change-Id: I974a8ae5e6ce4a9bf04985cbd37e103700f48301
While querying for the channel width, the opclass is
extracted from the country opclass. If opclass is not
found then 20Mhz channel width is considered for connection.
This fails the cert test case when AP sends the global
opclass in ECSA
Change is done to search in the global opclass if the
opclass is not found in the country specific opclass.
CRs-Fixed: 2763702
Change-Id: If8c962e1e164cfccda13f19cbf925499c9cc0394
When user programs a non-zero scan count(say N), after receiving N
samples Spectral scan is supposed to be stopped. This change keeps track
of number of Spectral reports received from target and stops the
Spectral scan when programmed number of samples arrives at host.
CRS-Fixed: 2764935
Change-Id: Ibea0eeece4577fd6e0da302716869b05c900f917
peer wlanstats context is used only for RDK Plume stats
but the name is misleading as wlan statistics
Hence rename peer's wlanstats_ctx to rdkstats_ctx and
the APIs the APIs around the same
CRs-Fixed: 2767192
Change-Id: I9e8955554b94fa29a3964fed729a95a4db67c8f6
Currently line number is not useful in the logs and to print
the line number consumes lot of memory in driver text area size.
To reduce the driver size add feature flag to enable/disable
line number logging in the driver.
Change-Id: Ie715ff9238545a5041c0241b731dc14460050316
CRs-Fixed: 2766247
Enable data path polling mode based on INI
dp_poll_mode_enable. Configure all data path
interfacing rings (UMAC/LMAC) and Monitor rings
in polling mode when NSS offload is disabled.
By default, poll mode is disabled.
Change-Id: I0e51207042811f517a423eb7276e3f33c5313450
Make each WMI debug log buffer size configurable through
compile time config option. Now memory constraint platforms
can use these config options. Use default values if no
values are configured.
Change-Id: Ibc924e12a56ae7d529aea91e55bcc0bbce72ac7e
CRs-Fixed: 2741465
This commit introduces additional stats to query through
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO.
Change-Id: Ibc713d1da81a5bf8fa267a205680aec5539630ce
CRs-Fixed: 2758484
Skip the recording of rx error ring and rx reinject
history if the memory allocation for the history
fails during the attach.
Change-Id: Ifa74937d0c37e6013ccaec851dab7d9e53057ac2
CRs-Fixed: 2767579
Remove direct attach directory references in Kbuild
of spectral source code.
Also, remove DA_SUPPORT macro specific code changes
Change-Id: I5a06e9bd3f40ee6d177951562836c4ea7647f98b
The peer free notification is sent for all peers
including self peer. The primiary intent of using this notification
is to make sure all the connected peers are disconnected.
Also when the peer free notification is sent, the peer is already
freed and we cannot identify if the peer free is for self peer
The self peer free notification for STA is causing issues
where BSS peer delete is skipped as part of bringing down the VDEV SM.
CRs-Fixed: 2755824
Change-Id: I276177788a51dcdd948caeb734eaa896edf520dd
Register IPA ready callback with IPA driver. The callback
sets ipa_is_ready flag in the host driver and kick starts
the ipa init sequence as part of which the Tx buffers are
mapped to IPA.
None of the IPA APIs are invoked until IPA ready registration
is complete.
Change-Id: I6570b2b347052164a274fbc22358ebf0719dcabf
CRs-Fixed: 2735107
In the scanerio where peer teardown and peer map happen
in parallel, AST entries could get added to the peer AST
list after cleanup happens as part of peer teardown. AST
cleanup as part of peer unmap handling would not remove
the entry from the peer AST list. This is because
dp_peer_get_ref_by_id returns NULL as peer state is moved
to logically deleted state.
Fix is to not take peer ref by id and use the peer
argument passed in which already holds ref in the
peer unmap handling.
Change-Id: I844d3f07e9eec962d44bbfba851ad46f350e4f97
CRs-Fixed: 2766779