Commit graph

9,629 commits

Author SHA1 Message Date
Bapiraju Alla
197d0d1d32 qcacmn: Use wmi msg length to allocate WMI buffer for QMI events
For QMI events, recevid QMI event length is used to allocate wmi buffer
using wmi_buf_alloc. The received QMI event length includes WMI head
room and wmi_buf_alloc also try to reserve WMI head room again.
Because of this, WMI buffer allocation is exceeding max WMI msg length.

To resolve this, use length of the received actual WMI msg to allocate
WMI event buffer using wmi_buf_alloc.

Change-Id: Icd259988c4b1091580a35aaf2c3fabc606e0f2a9
CRs-Fixed: 2786326
2020-10-16 09:18:52 -07:00
Vevek Venkatesan
f9a40c9c7b qcacmn: add API to do IPA Tx buf smmu_unmapping for Hastings
Add API to do IPA Tx buf SMMU-S1 unmapping and register it
with cdp ops for Hastings, also assert if map/unmap failed.

Change-Id: I4071b5fccd84c3c97b9dccc40c6f798d70993189
CRs-Fixed: 2792170
2020-10-16 04:04:41 -07:00
Surabhi Vishnoi
236f208b48 qcacmn: Fix the incorrect check in is_service_enabled_tlv
Many firmware do not send wmi_ext_service bitmap in wmi_ready event
so the ext_service_bitmap will be empty in such cases. So the condition
in the is_service_enabled_tlv to check for wmi_ext_service bitmap
and return false is wrong as wmi_ext_service bitmap support is not
necessity. This condition leads to incorrect behavior in cases when
firmware do not support wmi_ext_service bitmap as is_service_enabled_tlv
returns false for every service.

Fix the above failure by addition of condition check for wmi_ext_service
bitmap only when wmi_ext2_service bitmap is supported by firmware.

Change-Id: I94d0b65e640d44f41d14de889955a6d6330e88b2
CRs-Fixed: 2786491
2020-10-14 23:48:28 -07:00
Ananya Gupta
80d4112d86 qcacmn: Deregister IPA handler from pdev during deinit
A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, during deinit pdev->ipa_uc_op_cb is deregistered
and assigned NULL before freeing up ipa context.

Change-Id: I8125cb104a538e88cda93960f7443129fabd850a
CRs-Fixed: 2793295
2020-10-13 22:03:53 -07:00
Alan Chen
1aa3228b26 qcacmn: Remove code relating to ocl_cfg
As part of removing gOclCfg ini, remove code used for it that is
no longer needed.

Change-Id: I00c32988cb3b852381be9810377aeefdd22454db
CRs-Fixed: 2791469
2020-10-13 11:31:25 -07:00
Yeshwanth Sriram Guntuka
e73dca7918 qcacmn: Increment htc runtime cnt prior to hif_send_head
HTC runtime count is incremented after posting the HTT
ver req message to CE4. There could be possibility of
processing the ver response message from FW even before
htc_runtime_cnt is incremented. This can casue RTPM put
to not happen causing imbalance in get/put count.

Fix is to increment htc_runtime_cnt before enqueuing
the HTT message to CE.

Change-Id: Ib9b69910cd14193c41ecfee804b390f8a6cdef49
CRs-Fixed: 2794451
2020-10-12 18:13:03 -07:00
Manikanta Pubbisetty
5d62c5a686 qcacmn: log additional info to WMI TX completion record
Add WMI command buffer address information(DMA/Physical addr) to
the WMI TX completion logging. This will help in debugging issues
when HW DMAs copies data from a different location than the one
configured.

Change-Id: I60586b865a97e7ff88e48606806ec151321ff0aa
CRs-Fixed: 2789492
2020-10-12 11:20:38 -07:00
Bapiraju Alla
395f598b0a qcacmn: Send unified ll_stats and get_station request over qmi
Send unified ll_stats and get_stats request over qmi based on INI
configuration.

Change-Id: Icc43352c1ba19696148619100ee27fda4d5ffb41
CRs-Fixed: 2791043
2020-10-12 03:34:05 -07:00
Wu Gao
3dacd2198e qcacmn: Don't reset vdev id if stop spectral scan
Host gets spectral scan data after stopped spectral scan, then it
can't find out current vdev since vdev id is reset when stopping
spectral scan.

Change-Id: I082b784e998a7600c7f8ef14bf67b790942f3a5f
CRs-Fixed: 2779397
2020-10-11 22:14:02 -07:00
Karthik Kantamneni
7a14068866 qcacmn: Add API to get reo destination indication for QCA6750
Add hal_rx_msdu_get_reo_destination_indication API for QCA6750
target. Add NULL check to avoid possible null pointer dereference
for targets API is not supported.

Change-Id: I2c78e16a6796b0b09834cb91749244357f3de753
CRs-Fixed: 2793284
2020-10-10 21:08:17 -07:00
Bapiraju Alla
dfa4f31e16 qcacmn: Add support for dynamic dwell time in 6G
Currently, there is no provision for dynamic dwell time control in 6G.

Update existing driver commands SETDWELLTIME and GETDWELLTIME to
support 6G.

Change-Id: Id284097e300f3ed45557ebe7ea2287e0da9a485b
CRs-Fixed: 2789720
2020-10-10 12:41:32 -07:00
Pragaspathi Thilagaraj
5e99afc882 qcacmn: Add additional roam triggers to qca_vendor_roam_triggers
Introduce QCA_ATTR_ROAM_CONTROL_SCAN_SCHEME_TRIGGERS
that represents the triggers for which the scan scheme from
enum qca_roam_scan_scheme has to be applied.

Change-Id: I9d620a0ada16093042befaf8ae2e80437369c256
CRs-Fixed: 2785260
2020-10-09 20:37:55 -07:00
Mainak Sen
2fff780f0c qcacmn: Add cdp ops for MSCS feature
Add a new cdp datapath ops - mscs_ops for Mirrored
stream classification signalling feature. This function
will be invoked from ECM flow acceleration manager

Change-Id: I749623846395057b6ea8328c881efa8733700b0e
2020-10-08 22:58:50 -07:00
Saket Jha
f1f08215b4 qcacmn: Stop FISA if frame rings mismatch
If frames from the same FISA flow goes into different REO2SW rings, it
will result in an unexpected FISA behavior. This can happen if the
frames have been reinjected from FW offload module since FW will select
REO2SW1 ring. If the same flow frames hash to other REO2SW rings, then
the same flow UDP frames will do to different rings.
Reo_destination_indication of 6 indicates if the frame has been
reinjected from FW. If so, then continue to deliver the packet without
FISA.

Change-Id: I14a17a10d04909adfb30557d58beb1610e59bf70
CRs-Fixed: 2790292
2020-10-08 17:42:40 -07:00
Sandeep Puligilla
9021ccbdeb qcacmn: Update Non-TX beacon capabilities
Non-Tx beacon generated in driver contains TX
beacon capabilities instead of capabilities
advertised as part of non-TX profile in MBSSID IE.

Copy the non-TX beacon capabilities from MBSSID IE
profile to driver generated non-TX beacon.

Change-Id: Iecf63b959176bac8d60055e6b77082a6f3ec117c
CRs-Fixed: 2789394
2020-10-08 17:42:37 -07:00
Chaithanya Garrepalli
e6cfbd1a77 qcacmn: avoid updating peer stats under SOC AST lock
In teardown API update logical delete state to peer
before deleting AST entries of peer. Also in delete
AST API use __dp_peer_get_ref_by_id to get the peer

Change-Id: I6db227a284cf3726cc241ebc98386230eca58fcf
2020-10-08 17:42:33 -07:00
Abhishek Singh
d7b93cb5ae qcacmn: Replace CM_PREFIX_LOG with CM_PREFIX_FMT and CM_PREFIX_REF
Use CM_PREFIX_FMT and CM_PREFIX_REF to print connection mgr logs
instead of CM_PREFIX_LOG to avoid confusion.

Change-Id: I06c0009804d9c49da4916a120b6dc448ea28fdb6
CRs-Fixed: 2791198
2020-10-08 12:30:36 -07:00
Visweswara Tanuku
3c34d16a3e qcacmn: Configure TWT AP pdev count for QCA6490
QCA6490 expects twt_ap_pdev_count 2, to bring up twt sap on 2g.
Currently twt_ap_pdev_count is derived from num of radios and is
1 in case of MCC.
Configure twt_ap_pdev_count value equal to number of phy
advertised by firmware in wmi service ready ext event, configure
under flag WLAN_TWT_AP_PDEV_COUNT_NUM_PHY if defined in kbuild

Change-Id: Ib3fa81d140b473daa253e32cde2e11aad1b78b4d
CRs-Fixed: 2786512
2020-10-08 12:29:23 -07:00
gaurank kathpalia
78c70bbbd0 qcacmn: Use proper API to get the connection manager states
Fix the API used to get the connection manager states.

Change-Id: Id657a3901604af637680a536e6a7231b008b08ae
CRs-Fixed: 2790890
2020-10-08 12:28:09 -07:00
Harsh Kumar Bijlani
898fc9619b qcacmn: Remove unused member wlan_active_vdevs from wlan_objmgr_psoc
In structure wlan_objmgr_psoc, member wlan_active_vdevs which is an
array of size WLAN_UMAC_PSOC_MAX_VDEVS and type uint8_t is neither
populated nor used anywhere. Remove this unused member from the
structure.

Change-Id: Ib2e49e42fe986358c26fa95a9287b20297b0eccf
2020-10-08 12:22:07 -07:00
Ashish Kumar Dhanotiya
42b8aca647 qcacmn: Add support to handle multiple radio stats event
Currently driver can handle only one radio stats event,
if the size of radio event exceeds more than the size which
can be accommodated in single WMI event in that case FW needs
to send multiple radio stats events.

Add support in host to send WMI capability to indicate FW
that host supports the multiple radio events.

Change-Id: Ifb89419715c87959095c0c88a23c8dd650d456e7
CRs-Fixed: 2783251
2020-10-08 12:20:47 -07:00
Srinivas Girigowda
3a031db2f5 qcacmn: Remove obsolete HIF_{ERROR/DBG/WARN/INFO/INFO_HIGH/MED/LO} macros
Remove obsolete HIF_{ERROR/DBG/WARN/INFO/INFO_HIGH/MED/LO} macros.

Change-Id: If0f726aea32eef09cbd5d9e66383a3f6cd633c7d
CRs-Fixed: 2791256
2020-10-08 12:15:04 -07:00
Ashish Kumar Dhanotiya
9788174bd7 qcacmn: Add support for disconnect path for connection manager
Currently disconnect is not handled in connection manager,
add support to handle disconnect in connection manager.

Change-Id: If3d5ac12300527ea0162efd955521711ed52c494
CRs-Fixed: 2785950
2020-10-08 12:12:31 -07:00
Vevek Venkatesan
cd96bcb911 qcacmn: add support for DDR mapped IPA doorbell
Add support for DDR mapped IPA doorbell addresses.

Change-Id: I3a0d03ff4435ea12a6e07d4ae75012f2c85e32c9
CRs-Fixed: 2782267
2020-10-08 02:18:20 -07:00
Vevek Venkatesan
633c10d75b qcacmn: add cdp ops for IPA Tx buf smmu_unmapping
Add cdp ops for IPA Tx buffer SMMU-S1 unmapping.

Change-Id: Ia28509439c27d4b42353c55774926f245fd30abc
CRs-Fixed: 2789746
2020-10-08 02:18:02 -07:00
Vignesh Mohan
ee9ca002f1 qcacmn: Initialize postNOL width to invalid
Initialize postNOL width to CHWIDTH_INVALID instead of 0 which
is mapped to CHWIDTH_20MHZ to avoid channel changes to HT20 mode
after NOL.

Change-Id: I684f38ddb0dc76cccfede74bd6424162407b378f
2020-10-08 02:17:27 -07:00
Aniruddha Paul
af66f9907d qcacmn: DP histogram print fixes
This  change fixes the below issue.
1. Clear the histogram statistics per peer.
2. Separate out the Tx/Rx histogram prints.

Change-Id: I5fc51f6bca14dc4c615c5501441e1a6b28bb0f02
2020-10-08 02:15:16 -07:00
Nirav Shah
0fb3541617 qcacmn: Add support to configure REO ring threshold
Add support to configure REO ring threshold through ini
for WLAN_DP_PER_RING_TYPE_CONFIG feature.

Change-Id: I02a14adcf243905ab25c2af12cb9499f32ff453f
CRs-Fixed: 2789147
2020-10-04 03:49:27 -07:00
Yeshwanth Sriram Guntuka
478749a365 qcacmn: Do RTPM put during cleanup when HTT ver resp is not received
For HTT h2t message which has a response from FW, runtime
get is done in HTC layer and the corresponding runtime_put
is done as part of the HTT response processing. In a scenario
where the HTT response is not received from FW or not processed
by host, runtime_put is not done as part of cleanup and panic
is triggered due to get/put imbalance.

Fix is to do RTPM put as part of htc cleanup when the HTT
response from FW is not received or processed.

Change-Id: I17ccb7c3e2293c95f5f233d36c6ef38a75733cce
CRs-Fixed: 2779113
2020-10-02 10:37:14 -07:00
Amruta Kulkarni
3213f64df6 qcacmn: Limit addition of 6ghz channels to scan request
Currently for STA mode, depending on the scan_mode_6g ini value
driver will remove or add 6g channels to scan req, due to which
in some cases, scan is taking more time to complete.
Fix is to add new value to enum scan_mode_6g, when scan_mode_6g
ini value set to SCAN_MODE_6G_NO_OPERATION driver will not
modify the channel list.

Change-Id: I5b6891f142b54f4fa2fe6e9a75bf5fbd2e5f3adc
CRs-Fixed: 2783911
2020-10-02 06:47:26 -07:00
suresh
d7655884fd qcacmn: Remove DA-Specific flags in DFS source code
DA_SUPPORT macro specific code changes are removed
in DFS source code. Also, remove DA_SUPPORT macro
reference in file wlan_global_lmac_if.c

Remove the compile time flag WLAN_DFS_DIRECT_ATTACH
and related souce code.

Other DA-specific code changes are also removed.

Change-Id: Id9fdf547efd0b0332173ac1349811171e4e6acec
2020-10-02 03:38:08 -07:00
Rajasekaran Kalidoss
9ba4f14c9a qcacmn: Add TWT wmi status code for already suspended session
The firmware sends a new status code to indicate an already suspended
TWT session. Update WMI_HOST_PAUSE_TWT_STATUS status code to represent
this state.

CRs-Fixed: 2786636
Change-Id: Id1fbdde8691084e408144454214d59c8ad532f9b
2020-10-01 23:58:41 -07:00
Abhishek Singh
8a5194d9cc qcacmn: use qdf_scnprintf to print state machine name
Use secure qdf_scnprintf instead of qdf_snprintf to print
state machine name.

Change-Id: I561130b5b7d728d28f883380843f957a4af34e78
CRs-Fixed: 2788893
2020-10-01 23:58:37 -07:00
Ashish Kumar Dhanotiya
6bac5aefe2 qcacmn: Resolve compilation errors
Change Ic166c112189ef79a84f61d16e7e04a6334c61178 renames
few files for osif in connection manager, but does not
take care of the compilation issue after rename of the files.

Add a change to take care of the compilation errors in
connection manager module.

Change-Id: Icecb3f7aa625a65b835c15890fc019917e2b9446
CRs-Fixed: 2786828
2020-10-01 21:20:53 -07:00
gaurank kathpalia
98937e5243 qcacmn: Fix compilation error in connection manager
Fix compilation error in connection manager.
Handle function name changes missed as part of
Icabeb57965920ec82e690bee662528189b081f32.

Change-Id: I6f1bc631de9dd7cc9ba7c80e01e857fe1b543782
CRs-Fixed: 2788660
2020-10-01 21:20:49 -07:00
Sridhar Selvaraj
bf0668f3c0 qcacmn: Reinitialize pci irq ops for qcn9100
QCN9100 pci radio is connected to the IPQ5018 through PCI slots
and enumerated by the Q6 radio. From the host driver perspective,
QCN9100 is treated as an AHB device, however the QCN9100 uses
MSI interrupts to notify events
-Reinitialize pci irq ops for hybrid bus type device qcn9100
-Update CE flags of qcn9100 to interrupt mode
-Set disable_wake_irq flag for qcn9100 as wake irq is not used

Change-Id: I8da7f0b48923b9d70e62f4ff181bd47865ea2fe8
2020-10-01 19:09:03 -07:00
Rajeev Kumar
0d04766b88 qcacmn: Log WMI work queue call stack on WMI WD bite
Log WMI work queue call stack when WD timer expires to assist
in debugging on non slub debug enabled builds.

Change-Id: Id3dd575700ca586b0738a88ca2af88a757238d1b
CRs-Fixed: 2789114
2020-10-01 19:08:59 -07:00
Jeevan Kukkalli
60b1d03a3b qcacmn: Delete self ast entry during peer tear down
Delete self ast entry along with other ast entries
belonging to peer during peer tear down

Change-Id: I08373929b7e510d79cd677b12f3ee897c1c6790b
CRs-Fixed: 2776743
2020-10-01 16:58:16 -07:00
Yeshwanth Sriram Guntuka
7d4b38f4ad qcacmn: Set the CE2 buffer size to 3200 bytes
Buffers attached to CE2 destination ring are of 4k bytes.
skb allocation for these buffers exceed 1-page allocation
due to addition bytes reserved for alignment, padding and
skb shared info.

Set the CE2 buffer size to 3200 bytes so that the skb memory
fits into a single page.

Change-Id: I97b3fc140376bb107ba23ab581a2dd5aeb833948
CRs-Fixed: 2785267
2020-10-01 16:58:12 -07:00
gaurank kathpalia
14be947c4e qcacmn: Fix logging in connection manager
Add vdev id and cm id in connection manager logs.

Change-Id: I1061f6daeb940167508e18ece006f425fc6bc775
CRs-Fixed: 2787825
2020-10-01 16:58:08 -07:00
Karthik Kantamneni
a0039f649f qcacmn: Fix nbuf free without unmap
While processing monitor status srng when DMA is not done
for current peeked HP+1 and DMA is done for HP+2 then nbuf
at HP+1 is freed without processing. But nbuf should be unmapped
before freeing. So unmap nbuf then proceed for freeing.

Change-Id: I9e808a7c9b6452d6b6e1fddc49fb08871c8c90f9
CRs-Fixed: 2785364
2020-10-01 14:41:44 -07:00
Srinivas Girigowda
80c1b5a6c3 qcacmn: Replace obsolete HIF_DBG() with hif_debug()
Replace obsolete HIF_DBG() with hif_debug().

Change-Id: I462d75617359fd13eafa497045ddfb70c2025595
CRs-Fixed: 2779720
2020-10-01 14:41:39 -07:00
Srinivas Girigowda
d89e043589 qcacmn: Replace obsolete HIF_TRACE() with hif_info()
Replace obsolete HIF_TRACE() with hif_info().

Change-Id: I315d86b886ce0bc28c8c967c986095fe2ee46bec
CRs-Fixed: 2779720
2020-10-01 14:41:34 -07:00
Srinivas Girigowda
d79f50ca9c qcacmn: Replace obsolete HIF_INFO_MED() with hif_debug()
Replace obsolete HIF_INFO_MED() with hif_debug().

Change-Id: Iec7a1a5332293bc5cc3a826a1223fa74e1fa3955
CRs-Fixed: 2779720
2020-10-01 14:41:28 -07:00
Srinivas Girigowda
832f4f7018 qcacmn: Replace obsolete HIF_INFO_LO() with hif_debug()
Replace obsolete HIF_INFO_LO() with hif_debug().

Change-Id: I3794e381c0810c08b37670d6dec8eace78eb3fb7
CRs-Fixed: 2779720
2020-10-01 14:41:15 -07:00
Srinivas Girigowda
15d2d83bd1 qcacmn: Replace obsolete HIF_INFO_HI() with hif_debug()
Replace obsolete HIF_INFO_HI() with hif_debug().

Change-Id: I85178f5e690030208f65d4375247383a62c12f76
CRs-Fixed: 2779720
2020-10-01 14:41:10 -07:00
Srinivas Girigowda
f327fcd404 qcacmn: Replace obsolete HIF_INFO() with hif_info()
Replace obsolete HIF_INFO() with hif_info().

Change-Id: I7fcf079551db5a69bd45b96b2126d1521c3e3e4c
CRs-Fixed: 2779720
2020-10-01 14:41:06 -07:00
Srinivas Girigowda
94ea515d92 qcacmn: Replace obsolete HIF_WARN() with hif_warn()
Replace obsolete HIF_WARN() with hif_warn().

Change-Id: Idb72d684b9d05aab6cf55ee2608f47c04077d8f7
CRs-Fixed: 2779720
2020-10-01 14:41:01 -07:00
Srinivas Girigowda
9667b145c6 qcacmn: Replace obsolete HIF_ERROR() with hif_err()
Replace obsolete HIF_ERROR() with hif_err().

Change-Id: I9260b47d11c1820bb05d9a7e2bf50d5257ba85ae
CRs-Fixed: 2779720
2020-10-01 14:40:57 -07:00
Gururaj Pandurangi
abb7ffcac0 qcacmn: Add rate limit macro for cp stats module ID
Add a new macro cp_stats_err_rl to rate limit certain
cp statistics logs.

Change-Id: I375ce2545c1eba2e568905ce76750cdf2f24bafd
CRs-Fixed: 2788221
2020-10-01 14:40:52 -07:00