Add counters in case where we identify
HW issue where sa_valid and da_valid bit
are set and sa_idx and da_idx are invalid
Change-Id: I690b626dd3c2b7f20b35982514b0f27576221250
CRs-fixed: 2340521
While kernel boots, lots of chainmask information gets printed
on console and which decreases readability and dumps lots of
unwanted prints at boot time.
This patch reduces some print level from INFO->DEBUG and can be
enabled and used for debugging whenever needed.
Change-Id: Id1ec1eb4d46c6883f7c22152c765e99074c537ec
CRs-Fixed: 2404102
Change API signature for dp_getrateindex to populate rate index
and add additional stats required for RDK.
Add QDF abstraction for EWMA average rssi
CRs-Fixed: 2397918
Change-Id: Id878971799c5df2ae60057a86b2769724ee0dcc5
In PPDU Rx stats GI value for HE displaying wrong,
because of wrong enum values. Corrected enum values
to match GI values to Tx stats.
Also LDPC shows always 0 in PPDU Rx stats for HE.
Populated LDPC value for HE case as well to display
in PPDU Rx stats.
Change-Id: I6054d3e8c8e8672bcc2d43daa8a6e2a1bc859985
Memory allocated by dma_alloc_coherent() doesn't need cache sync, which
is only needed for stream dma mapping, eg, mapping passed-in memory
using dma_map_single().
More seriously, when SMMU enabled, physical memory returned by
dma_alloc_coherent() is no longer continuous. If pass this memory to
dma_sync_single_for_device(), a do_bad_area exception will hang system,
noting that dma_sync_single_for_device() only handles single contiguous
memory. Refer to Documentation/DMA-API.txt for more info.
Change-Id: Ia0b5bdcc2cb9335aa2e309efccd91e57e844c7cc
CRs-Fixed: 2381886
The file cds_ieee80211_defines.h is removed as part of
Change-Id: I3b7a3f61f82ea15b7975fb5d143257c80382f20d.
Hence remove the references of this file.
Change-Id: Ie94a748d062b65824e5b1f8aba8b7f7d92e937aa
CRs-Fixed: 2405051
In send_peer_unmap_conf_cmd_tlv() return the correct error code
while sending PEER UNMAP RESPONSE command to FW.
Change-Id: I3cc87101310a7f0c6e82dc91ac33d747f5282796
CRs-Fixed: 2398586
A common pattern in WLAN to panic the driver is to log the reason and
then unconditionally panic. QDF_DEBUG_PANIC() takes a reason string to
help make the reason for the panic more obvious, but it is not always
used. Ensure all callers of QDF_DEBUG_PANIC() provide a reason string.
Additionally, make the reason string parameter of QDF_DEBUG_PANIC()
mandatory.
Change-Id: Ia3c7acfe590f7f465823fff3f2393653b2d20fe5
CRs-Fixed: 2403830
Remove function entry/exit logs in hif_send_head(),
usb_hif_post_recv_bundle_transfers(), usb_hif_cleanup_recv_urb() and
usb_hif_post_recv_transfers().
Change-Id: I5638d99b4c6a3ace792a81957735c3ccd2d405f9
CRs-Fixed: 2398290
In struct roam_offload_scan_rssi_params the legacy identifier
session_id is currently used to identify the vdev of interest. To
align with the converged nomenclature rename this to vdev_id.
This is co-dependent with Ifb2282b8977ad1fb999e8460c0d276343793a0c6
("qcacld-3.0: Use vdev_id in roam_offload_scan_rssi_params").
Change-Id: Ifbbca30b9aca9688931ac0f4e4f703c28ad0ad32
CRs-Fixed: 2404094
In struct rssi_monitor_param the legacy identifier session_id is
currently used to identify the vdev of interest. To align with the
converged nomenclature rename this to vdev_id.
This is co-dependent with Icf5d5797eed143837c57a2b7d9a6c9b1b63387e9
("qcacld-3.0: Use vdev_id in rssi_monitor_param").
Change-Id: I6087c5018af98a84e7e784527000448ace7fac6e
CRs-Fixed: 2404081
In struct hidden_ssid_vdev_restart_params the legacy identifier
session_id is currently used to identify the vdev of interest. To
align with the converged nomenclature rename this to vdev_id.
This is co-dependent with Ie8c426aff1a8a1e7f75199c8cf7c761f1a893a05
("qcacld-3.0: Use vdev_id in hidden_ssid_vdev_restart_params").
Change-Id: Iea0bf0a3dcae9186cce4eb176b974515fd0d7624
CRs-Fixed: 2403934
Remove CONFIG_MCL and include the header file for both MCL and
WIN code since this feature is already handled by the feature macro
FEATURE_WLAN_DIAG_SUPPORT.
Change-Id: I4d4ed46ed5cb62950bb8b25af0a173bfe5f86474
CRs-Fixed: 2399386
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.
Change-Id: If8346537eea6fe5c4978f6bc973e8d7b420557d9
CRs-Fixed: 2399493
When client roams from repeater to AP we need to delete the
existing WDS while creating a peer. In this case use AST search
by pdev_id to find the AST entry when ast_override support is
enabled for soc
Change-Id: I1c7bfb8173416b6e155d3c58e94c395028c9b16d
CRs-fixed: 2399868
Once user configs hundreds of wow pattern, it will cause
log flood here.
Remove the log here.
Change-Id: I56d749ca4b7db91a72c5a7fe12dbcd751397d19e
CRs-Fixed: 2402655
qdf_wait_single_event expects milliseconds to passed but instead
jiffies were passed making actual wait time smaller than expected.
Change-Id: I920d7183e30dd4490b64c6ae9875811db57183f3
CRs-Fixed: 2401129
Replace %d specifier to %u for unsigned int variables in stats
outputs.
Previously, %d would cause uint32_t values to roll over to
negative values.
CRs-Fixed: 2402160
Change-Id: I3d3c02ac44a38d311e8e8e0e933af79f362f42b7
Fix compilation warnings caused by dp tx debug print due to an
incorrect specifier being used for the mentioned variable.
"%d" was used instead of "%lu" for printing the output of the
sizeof operator.
Change-Id: I051a3acbb95148fa2d9fbd6db5b4ec7a6144dd99
CRs-Fixed: 2400276
When sub-channel marking is enabled, radarfound freq is computed as
freq_center + freq_offset. Freq offset is obtained from
dfs->dfs_freq_offset variable which gets populated only for PO
(Partial Offload) chips and does not get populated for full offload chips.
Instead radar_found->freq_offset is used which gets populated with radar
freq_offset on all chips.
Change-Id: I138b1160a8b9d67801bd0852266c2e7139265c02
CRs-Fixed: 2383294
The description about EGAP ini items is different to others, correct
them and use unified form.
Change-Id: I119721ad805cdbc2b3515eadafa36bdb35a4eb2c
CRs-Fixed: 2402450
Enhance target_if/mlme/vdev_mgr by addressing
review comments and update response handling
APIs to handler timers and response bit maps
as expected
Change-Id: I8a5bf3f2931f0c36a367dfebfc898ed2621f3516
CRs-Fixed: 2397184
Add API to update cmn vdev mlme structures,
with the addition of new members to the new mlme
vdev structure,new api's are required to update
those members which will be subsequently used the
new mlme target if layer to send commands to the firmware
Change-Id: I9618613c0ad00f78003cd32951b30b631934ba71
In struct gateway_update_req_param the legacy identifier session_id is
currently used to identify the vdev of interest. To align with the
converged nomenclature rename this to vdev_id.
This is co-dependent with I2d24a54e80931a944580e968a841679d2da7b2a1
("qcacld-3.0: Use vdev_id in gateway_update_req_param").
Change-Id: I84b28aa734b570f0a7834fbac7d27e9c66b8b026
CRs-Fixed: 2404012
Check if peer is valid before access during flush.
Check waitlist during peer cleanup even if REO queue was
not allocated, since these are independent.
Add a timeout to avoid calling flush function too frequently.
Change-Id: Ib8da2014f81a48ccc3ca6a330209a942ac0998a2
Set the RING_ID_DISABLE flag for WBM_IDLE_LINK ring during
hal_srng_src_hw_init_generic.
Change-Id: I725b14a35f453e416a3721fd6c1b68ce59a8c1c0
CRs-Fixed: 2392172
Currently RING_ID_DISABLE field of the
UMAC_WBM_R0_WBM_IDLE_LINK_RING_MISC register is set to 0. In this
configuration, the producer ring may take the libery of snooping the
datastruct passing through it. This may cause 12 MSBs of the last dword
to be replaced by RING_ID field. This happens when ENTRY_SIZE of the
ring is 2.
Set RING_ID_DISABLE (=1) to avoid this snooping.
Change-Id: I40f71131f8fd27871597dd254fb37ce4614fe92a
CRs-Fixed: 2392172
According to regulatory master sheet, update ETSI1 and ETSI13 countries
with REGULATORY_CHAN_INDOOR_ONLY flag for frequency ranges:
(5170 - 5250) and (5250 - 5330).
Change-Id: I8fece78155ae7513ceb49da214e2d64accf53f3b
CRs-Fixed: 2401828
Update regdb with QCA regulatory database version 28 with
following changes:
1) Change ETSI10, ETSI11, ETSI12 lower 5G channels to "Indoor-Only"
2) Add 40MHz 5835 channel to India APL19
3) Remove HT/VHT20 Ch 5825 and Add HT/VHT20 Ch. 5720 (straddle) channel
to ETSI15 for Saudi Arabia
Change-Id: Id3075d22ec4403685ce3eaf00f0070b6ecab1fdf
CRs-Fixed: 2396234
Reduced VDEV SM debug level, and added prints for state abd substates at
event handling API
Change-Id: I3076c590131581a8728548592e0a9b4e66db377e
CRs-Fixed: 2394012
This reverts change Id9c29413ca0d21533a0afae245595051fa3a400f. This
change was a work around to allow compiling against legacy code. Now
that these compilation issues have been resolved, remove the work
around.
Change-Id: I38a474f50076320cf961d6fd340960e4c9b148a0
CRs-Fixed: 2401315
In wlan_ser_cancel_non_scan_cmd, cmd.vdev pointer is used to get vdev id
after WLAN_SER_CB_RELEASE_MEM_CMD is called. In WLAN_SER_CB_RELEASE_MEM_CMD
the command release the vdev ref count and it may lead to physical
deletion of vdev. Thus getting vdev id from vdev may result in invalid
vdev_id and thus proper bits are not reset in vdev_active_cmd_bitmap
for the vdev.
Thus no new blocking command will be allowed in serialization active queue.
Fix is to get proper vdev_id before WLAN_SER_CB_RELEASE_MEM_CMD is called
and use that to reset the pdev_q->vdev_active_cmd_bitmap bit for vdev_id
Change-Id: I2756f1632a72f086e9d214a437ad794ae08afc45
CRs-Fixed: 2395851
As part of the original TDLS componentization the legacy typedef
tTdlsPeerStateParams was replicated as qca-wifi-host-cmn struct
tdls_peer_state_params. Subsequently when the TDLS component was
relocated back to qcacld-3.0 this struct was replicated again as
struct tdls_peer_update_state in the qcacld-3.0 TDLS public structs.
Unfortunately this left the driver with three different data
structures which serve the same purpose. Not only is this pointless,
but due to the way in which these structures are used there is an
implicit requirement that they be exactly identical. Further
complicating matters is the fact that these three structures each have
embedded structs which are also replicated. This approach is very
fragile since any change to any of these structs must be replicated
across the entire set. To align with the converged software
architecture and to improve code maintainability exclusively use the
TDLS public structs.
Change-Id: Ifc976815fea57afae86cc91b91c6b48f70b2a9a7
CRs-Fixed: 2395340
In current code, EV_DOWN event in stop-progress sub state sends
stop command to FW, As EV_DOWN is generic, it is casuing multiple
stop commands to FW. To avoid, for internal transitions added new
event STOP_REQ, which send stop command to FW
EV_DOWN event is not honored in STOP state, as it is not initial state
Change-Id: I5a3b44ab6e12f6d1c2d10ad55954c6a0510e5f9e
CRS-Fixed: 2401298
Currently there is no support from driver to send STA authorized
event to supplicant.
Use QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES vendor command to
send STA authorized event to supplicant.
Change-Id: I46416949f04dd28a1713cbebf1f7d0e84b5efda2
CRs-Fixed: 2175481
The aim is to remove CONFIG_MCL or CONFIG_WIN from
cmn component.
This change takes care send_flush_completion_to_user.
Cleaning up cmn code by replacing the CONFIG_MCL
with macro FEATURE_WLAN_DIAG_SUPPORT.
CRs-Fixed: 2397824
Change-Id: I57a82fec17210b49f778a950034ca442d11eb511
1. Enable CE5 and allow it to service
pktlog messages from the firmware.
2. Register full pktlog callback handlers
for handling sw_events and full tx pktlog.
Change-Id: Ifb70ac0993f2402201f88758845f730cf677b1a0
CRs-Fixed: 2388906