Commit Graph

9691 次程式碼提交

作者 SHA1 備註 提交日期
Manikanta Pubbisetty
b265955389 qcacmn: reap monitor rings before vdev delete
In monitor mode, as part of VDEV delete, monitor mode
poll timer is stopped; it is good to reap the monitor rings
once after timer stop to avoid crashes that arise due to
RXDMA2SW ring backpressure.

Change-Id: Ib15b3398087073ad053616c6aa68e295eaebdd17
CRs-Fixed: 2796608
2020-10-22 01:47:34 -07:00
Abhinav Kumar
85bc644bb6 qcacmn: Resolve compilation error
Resolve compilation error by enabling
CONFIG_WLAN_TRACE_HIDE_MAC_ADDRESS := y

Change-Id: I336cd48db05e2e785ae1234ee5d135b68c532b77
CRs-Fixed: 2797225
2020-10-21 16:54:40 -07:00
Himanshu Batra
8656266cf7 qcacmn: Enable/disable full monitor mode for mcopy mode
mcopy mode uses monitor destination ring to sniff mgmt frames, 
send enable/disbale full monitor mode by sending HTT msg to FW
when configuring mcopy.

Change-Id: Ie9510bda223861c13054abac640b2c879c4d334d
2020-10-21 07:20:55 -07:00
Ashish Kumar Dhanotiya
88efb959a6 qcacmn: Initialize osif and legacy callbacks for connection manager
Initialize osif callbacks to connection manager and add
legacy callbacks to osif and initialize these legacy callbacks
for connection manager.

Change-Id: Ic3e8bd6f55b6cdbbc8cdd5c9c3a6631e8d3bd83e
CRs-Fixed: 2797472
2020-10-21 07:20:51 -07:00
Yeshwanth Sriram Guntuka
f2c65a9b4c qcacmn: Increase ring size for REO exception ring
Increase ring size of REO exception ring to 512
entries.

Change-Id: Ifd1395578e1f80741208ea2cbb0a82b9b661c01b
CRs-Fixed: 2796249
2020-10-20 19:27:02 -07:00
Nisha Menon
a377301c78 qcacmn: Add support to map generic shadow regs
Add apis to map generic registers to shadow region. Existing
logic includes mapping only srng based regs to the shadow
region.
Add support to map REO control regs and WBM2SW2 rel
ring HP reg address to the shadow region in case the direct
reg writes in IPA enable/disable autonomy fail due to UMAC
block being in a power collapsed state.
Shadow reg mapping for these regs is provided to FW during
init. Add stat shadow_reg_write_fail to track shadow reg
write failure and shadow_reg_write_succ to track successful
shadow writes.

Change-Id: I04790765a3de80047689657e2cad0b73123440b9
CRs-Fixed: 2790321
2020-10-20 15:05:51 -07:00
gaurank kathpalia
43757caf1b qcacmn: Add pending scan filters in connection manager
Add pending scan filters for fils, rsn override, OSEN/WPS etc
in connection manager.

Change-Id: I9906817f2c6693bf37f56b963869768a8321656c
CRs-Fixed: 2795833
2020-10-20 10:56:45 -07:00
gaurank kathpalia
341f2d3643 qcacmn: Fix compilation issues in connection manager
Fix compilation issues in connection manager.

Change-Id: I5cde57a97fedca06c5f953e550ccbce7890d61f1
CRs-Fixed: 2801018
2020-10-20 08:55:57 -07:00
gaurank kathpalia
72bd1e30c9 qcacmn: Fix typo REAM_HASH_LEN and rename it to REALM_HASH_LEN
Fix typo REAM_HASH_LEN and rename it to REALM_HASH_LEN.

Change-Id: I788897dc0ee0b5f42ef1b00f6c1868b356df6273
CRs-Fixed: 2800792
2020-10-20 04:50:54 -07:00
Shashikala Prabhu
31f750cb6f qcacmn: Use FW macro to set BCAST_TWT flag in TWT_enable cmd
Add b_twt_enable variable to enable/disable broadcast TWT in
wmi_twt_enable_param structure and use FW macro in WMI layer
to enable/disable BCAST_TWT in TWT_ENABLE cmd.

Change-Id: I892e922dda14d16019f3f433f885d1eb5b7169fc
CRs-Fixed: 2793360
2020-10-20 00:53:14 -07:00
Aakanksha Doda
f01c97ca5b qcacmn: Remove DA/unused code which is a part of ATF
As part of removal of DA code, remove all redundant code which is a
part of ATF.

Change-Id: I0bee32b1627f032a432a23f5eb36b243911fc928
2020-10-20 00:53:11 -07:00
Abhishek Singh
2f54168c0f qcacmn: On connect success update scan db to avoid ageout issues
On connect success update the scan entry with the beacon/probe rsp
received during connect. With this the scan db in driver and kernel
will remain in sync and avoid ageout. As after connect complete
driver update the scan entry in scan db with mlme info.

Change-Id: Ia9d394035eb295f66fbb2a7dd5966a914fe52e00
CRs-Fixed: 2798279
2020-10-20 00:53:08 -07:00
Amruta Kulkarni
5669d3ffa1 qcacmn: Add support for scan for ssid to connection manager
Currently scan for ssid is not handled in connection manager.
Add support for handling scan for ssid event, sending scan request
and handle scan success and failure cases.

Change-Id: Ie60f2c0da36abfc95531e437d3636299972c588a
CRs-Fixed: 2788058
2020-10-19 19:46:20 -07:00
Tiger Yu
fdd4fdfe46 qcacmn: Log limit to DMA not done when reaping Monitor status ring
Add log limit to error "DMA not done" when reaping Monitor status ring
to avoid flooding other useful driver log.

Change-Id: I251ef8082d49bfdbcc6a234224cbefdba608b5f5
CRs-Fixed: 2798732
2020-10-19 09:05:21 -07:00
Yeshwanth Sriram Guntuka
c5a9883e25 qcacmn: Drop packets from RXDMA2SW ring on the non-monitoring MAC
In monitor mode, if channel is initially configured from 5G
band and then moved to channel from 2G band, packets are still
received on MAC-0 RXDMA2SW ring since IMPS is disabled for both
MACs. Since driver reaps only MAC-1 RXDMA2SW ring, ring full
condition is hit for the MAC-0 ring causing ring backpressure.

Fix is to drop packets received on the non-monitoring MAC
ring.

Change-Id: I49cb276827f4a06791183ee3fe8c88ba84df085d
CRs-Fixed: 2791341
2020-10-19 07:08:01 -07:00
Gururaj Pandurangi
1d687546c2 qcacmn: Rate limit log in reg_get_chan_enum_for_freq
Rate limit log in reg_get_chan_enum_for_freq() API
to prevent excessive logging.

Change-Id: I52248877b5741f1f6a459b3f5240cabafbf1af05
CRs-Fixed: 2798752
2020-10-19 07:07:58 -07:00
Aniruddha Paul
1719814f01 qcacmn: Change miscellaneous control register val
In IPQ501x/QCN9100, the REO fragement destination ring
has moved from the REO GENERAL register to REO MISCELLANEOUS
register. Changes are added int HAL_REO_R0_CONFIG to set
the fragmentaion destination value for IPQ501x/QCN9100.

Change-Id: I868dd0ac5c24217f9778ab9da5c2a3d98d3ea302
2020-10-19 07:07:55 -07:00
Govind Singh
183dd69628 qcacmn: Free mem leak in qmi bypass mode
QMI bypass mode uses 2mb of of mem region for
fw uses. Current implementation does not free this
memory region when qmi bypass mode in enabled.
Free mem leak in qmi bypass mode.

Change-Id: Ie11aa9f20f93183e0b999cd6578aea4b231f8d8b
2020-10-19 05:09:32 -07:00
Wu Gao
1e52a027ce qcacmn: Fix compilation issue about decimal constant
There is compilation error about decimal constant on 32 arch. Fix is
to add suffix "UL" and to mark as unsigned.

Change-Id: I68b70fbfca4da244fdd9a82b1e28046c0a3b9a3d
CRs-Fixed: 2798875
2020-10-19 03:17:08 -07:00
Liangwei Dong
4b19fb77ee qcacmn: Add new QCA vendor attributes to get thermal level
Add new QCA vendor attributes to get thermal level from driver.
Driver will return thermal level upon userspace requests or sent
thermal event when firmware indicates theraml level changes.

Change-Id: I86b3ac34466d57cbd713cf72a7eb883677883a21
CRs-Fixed: 2786642
2020-10-18 21:59:40 -07:00
Vignesh U
1204abf461 qcacmn: Fix get bonding channels for a 80P80 chan
In the current code the function that gets the bonded sub-channels
dfs_get_bonding_channels_for_freq() does not take into consideration of the
80P80MHz channel. Rather, it takes into account the restricted 80p80MHz
channel and adds all the sub-channels of the restricted 80p80MHz into the
list.

This is not desired because, when the current channel is 80p80MHz,
get bonded channels should also take the segment id into consideration and
should list only the sub-channels of the 80MHz indicated by the segment id.

Modify get bonding channel function, to list the sub-channels of a
80p80MHz channel in such a way that it lists only the sub-channels of
either primary segment or secondary based on the segment id.

Change-Id: Ia6bf001c976603345c15facfa9b23853b7cc185b
CRs-Fixed: 2795460
2020-10-17 03:46:44 -07:00
Bapiraju Alla
bc159feb4e 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 13:46:43 -07:00
Varsha Mishra
807a1944f2 qcacmn: Update dscp tid mapping table for IPQ5018/QCN9100
IPQ5018/QCN9100 dscp tid mapping table is reduced to 32.

Change-Id: Iec19814722b574a28eac66558240efa38313f07b
2020-10-16 13:46:40 -07:00
Vignesh U
f8a1105640 qcacmn: Modify sanity checks for various radar sources
In the current code, dfs_radarevent_basic_sanity() function is used to
check A) if the current channel is a non-dfs channel B) if it is a non-dfs
channel, a few queues and variables related to dfs filtering are reset.

dfs_radarevent_basic_sanity() is called from two different places namely:
i)dfs_process_radar_ind()
ii)dfs_process_radarevent()

While is okay to perform (B) for (ii) there is no need to do the same for
(i), as (i) is for full-offload chips only and there is no filtering done
in the HOST and thus resetting variable related to dfs filtering is
meaningless.

Instead of calling, dfs_radarevent_basic_sanity() from both (i) and (ii)
define two new functions:
C)dfs_radar_pulse_event_basic_sanity (Call from dfs_process_radarevent)
D)dfs_radar_found_event_basic_sanity (Call from dfs_process_radar_ind)

While both (C) and (D) check if the current channel is a non-DFS channel,
only (C) resets the variables related to filtering.

CRs-Fixed: 2764060
Change-Id: I8466687e889e5f2b9a57c89ef775f14f13dd8066
2020-10-16 06:55:36 -07:00
Deeksha Gupta
cb19f4475c qcacmn: Change the vendor attributes name in wake lock stats
Wake lock stats vendor command attribute names in
the driver are different from the attribute names
in upstream qca-vendor.h.
Change the wake lock stats attributes name in driver.

Change-Id: I761aa07dacd6a7424759ae1e501053428275b113
CRs-Fixed: 2789538
2020-10-15 23:52:02 -07:00
Ankit Kumar
1f4a0ce9e6 qcacmn: Handle MPDU having more than QDF_NBUF_MAX_FRAGS MSDU
Handle case in mon dest ring buffer processing,
where one MPDU can have more than QDF_NBUF_MAX_FRAGS MSDU.

Change-Id: If09099814b7f701efbaa20b1406958ad97d64829
CRs-Fixed: 2788919
2020-10-15 21:23:23 -07:00
Govind Singh
b481b85018 qcacmn: Fix pktlog pipe callbacks assignment for Adrastea
PKTLOG callback is not updated for Adrastea target as
htt_htc_soc_attach does not get called during initialization.
Fix pktlog pipe callbacks assignment for Adrastea target by
checking only CE_ATTR_INIT_ON_DEMAND attribute.

Change-Id: I16f2d2e493440315343087417a8d4c341065ae9a
2020-10-15 16:46:18 -07:00
Uraj Sasan
96654fada3 qcacmn: Disable CE_ATTR_INIT_ON_DEMAND for CE5
Disable CE_ATTR_INIT_ON_DEMAND for CE5.
Currenly CE5 is used for other stats apart from pktlog.
When CE5 is configured as on demand its not initialised until pkltog
is enabled, but we still send stats to CE5 causing issue.

Change-Id: I286fcaf5c908028f5f42a0f4f91c810660ee6d11
2020-10-14 05:48:42 -07:00
Shivani Soni
7eff827653 qcacmn: Update msg length for debugfs support for HTT stats
Update message length for debugfs support for HTT stats.
Max length will be 2048 to avoid mem leak issue.

Change-Id: I4688f4ae52d5dfc5317a1f8fe1ada334af2eb8c5
CRs-Fixed: 2792365
2020-10-14 03:25:13 -07:00
Abhishek Singh
2e046c6e96 qcacmn: Add params in connect req to pass non converged params
Add connect params in osif connect request to pass scan IE and other
params from legacy to be used in connect request.

Change-Id: I83721023362ff2405727316f090671468200b362
CRs-Fixed: 2793280
2020-10-14 01:17:12 -07:00
Surabhi Vishnoi
e906b00a65 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-13 08:53:32 -07:00
Balaganapathy Palanisamy
766838ebaa qcacmn: Reset WMI sequence counter after recovery
Reset the WMI sequence counter after FW recovery to avoid
false assert due to CE pending packets freed in htc layer
instead of WMI completion handler.

CRs-Fixed: 2787424
Change-Id: I109ff56655e5fb428aca637e6420efed5943b3f7
2020-10-13 04:13:39 -07:00
Karthik Kantamneni
e26cc77333 qcacmn: Cleanup WMI DIAG over CE7 change
Cleanup changes for WMI DIAG over CE7 code

Change-Id: I4b2718e37ba16d62b585aa26c56213698078e25a
2020-10-13 04:13:36 -07:00
gaurank kathpalia
c6be8b90df qcacmn: Add logic to try same candidate based on scenarios
Add logic to try with the same candidate again based on
below scenarios:

 - If status code is STATUS_INVALID_PMKID
 - Join timeout and only one candidate
 - Assoc timeout and SAE connection
 - Assoc timeout and reconnect vendor IE set

Change-Id: I7ce803549f4627bc13d03b99999767002fd84be4
CRs-Fixed: 2792775
2020-10-13 04:13:32 -07:00
gaurank kathpalia
77f0dd0632 qcacmn: Delete pmkid and single pmkid on connect failure
Add logic to delete the pmkid and single pmkid depending on
connect response status code and failure.

Change-Id: I7a27f887173ba7cdc13c3ce49ded5d2fcc8198fa
CRs-Fixed: 2792774
2020-10-13 04:13:27 -07:00
Karthik Kantamneni
6ef375e0fb qcacmn: During qdf assert don't print generic failure information
During qdf assert generic failure information printed at last is misleading
failure reason, to avoid this don't print generic failure information.

Change-Id: I55359b2e41a3ee50de4e45e73183f2480c28a1eb
CRs-Fixed: 2789137
2020-10-13 02:06:05 -07:00
Alan Chen
bc0d7713ed 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 00:08:22 -07:00
Ananya Gupta
936ca8fe36 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 00:08:18 -07:00
Jingxiang Ge
f1bed41f65 qcacmn: QCA vendor attributes for setting ANI level
Define QCA vendor attribute in SET(GET)_WIFI_CONFIGURATION to
dynamically configure ANI level.

Change-Id: I422c6301f2e4c207b58a2d85199dd4a47f031236
CRs-Fixed: 2781047
2020-10-12 22:11:12 -07:00
sheenam monga
58857b048c qcacmn: Avoid excessive logging
log level for some frequent prints is set to info those
logs would be present in dmesg as well as driver logs
and System performance may get affected due to excessive
logging.

Avoid redundant logs which may affect system performance
and change default log level to debug.

Change-Id: Ic8669c2d7158200e5881bc1ffd15079c8d24af68
CRs-Fixed: 2794518
2020-10-12 17:05:36 -07:00
Yeshwanth Sriram Guntuka
b2fa2a1dbd 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 15:06:33 -07:00
Ashish Kumar Dhanotiya
5da344f9b7 qcacmn: Resolve compilation issues in connection manager
Address compilation errors in connection manager.

Change-Id: I0ba9d93b64bbfe2ca4fd29e3726e1f22d70f8b54
CRs-Fixed: 2793583
2020-10-12 12:46:45 -07:00
Radha Krishna Simha Jiguru
3048f53867 qcacmn: Set default REO of radio through ini
Set default REO of radio through ini parameter

Change-Id: I576f3ddffe4d18b955099e0b75ecb297228475da
2020-10-12 06:27:25 -07:00
gaurank kathpalia
7d55cb743a qcacmn: Handle disconnect requests in different states
Handle disconnect requests in different states.
Take care of flushing scan and older connect and queueing
internal disconnect depending on the current state.

Change-Id: I08015d866fb629951b85f95fcd3cf0155e902082
CRs-Fixed: 2793228
2020-10-12 04:26:59 -07:00
Uraj Sasan
0d5e9734be qcacmn: Adds dummy API's
Adds dummy API's for hif_config_irq_by_ceid.

Change-Id: I7bbb0ece4ab5f8bf648bc0e945c5a28de2a49feb
2020-10-12 02:32:11 -07:00
Wu Gao
9471529a96 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 05:06:16 -07:00
Karthik Kantamneni
081912efd0 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 11:41:39 -07:00
gaurank kathpalia
5f77fb500d qcacmn: Add logs while adding and deleting the cm requests
Add logs while adding and deleting the cm requests for debug.

Change-Id: Ibdc7f889a30425be434b7b58b67d0a5209b4b9f4
CRs-Fixed: 2793533
2020-10-10 04:26:56 -07:00
Amruta Kulkarni
9c66930943 qcacmn: Add scan public APIs for non-osif component
Adds wlan_scan_get_scan_id, wlan_scan_init_default_params,
wlan_scan_register_requester and wlan_scan_unregister_requester
APIs to use from non-osif component, as ucfg_* API should only
be used from OSIF.

Change-Id: Ia90313030e853c957ca85e47ff2b67097490ef87
CRs-Fixed: 2791549
2020-10-09 22:49:57 -07:00
Pragaspathi Thilagaraj
3ffa89227c 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 06:47:32 -07:00