Grafik Komit

9691 Melakukan

Penulis SHA1 Pesan Tanggal
Ankit Kumar
a438cb3a4a qcacmn: Add out of boundary assert check
Add an assert check to __qdf_nbuf_add_rx_frag() to ensure
the number of fragments doesn't exceed the maximum number
of frags an skb can accommodate.

Change-Id: Idcfe8fdacaad581d7b2b0ce52fc7e8d757286ec8
CRs-Fixed: 2791955
2020-10-09 06:47:29 -07:00
Vignesh U
640dc685cf qcacmn: Expand the scope of the check "radar on Agile detector"
The "radar on Agile detector" currently checks only if the detector
id in the radar found parameter is the same as the Agile detector id.

Increase the scope of the "radar on Agile detector" check by also
checking if the Agile PreCAC was enabled or if RCAC was enabled and
if PreCAC timer was running.

CRs-Fixed: 2770006
Change-Id: I064560f738bdcbbf4bcb45b37bae71a0829e4146
2020-10-09 06:47:25 -07:00
Manikanta Pubbisetty
f2ce9cfc04 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-09 02:14:33 -07:00
Harsh Kumar Bijlani
e3907fda5d qcacmn: Account for frags attached to chained nbufs in frag_list
Page fragments can be attached to the chained nbufs present in the
frag_list of the parent nbuf. Update the debug entries for such fragments
in different scenarios.

Change-Id: Ib114ec43dcb6cbcd707552bcca19f1ac0d3c2a22
CRs-Fixed: 2791903
2020-10-09 00:06:51 -07:00
Chaoli Zhou
ef806a62d2 qcacmn: Add GPIO configuration OSIF code
Add OSIF APIs for GPIO config

Change-Id: I091c3b21a7dd12dfee5aa5f05d3d1d0557d16792
2020-10-08 15:34:12 -07:00
Chaoli Zhou
4fad4e8636 qcacmn: Add wmi interfaces for GPIO configuration
Add wmi interfaces for GPIO configuration.

Change-Id: Ic7c23a67bab752012ded147908238faa8ecc4789
CRs-Fixed: 2753648
2020-10-08 15:34:07 -07:00
Surya Prakash Raajen
8e8ac2c5d1 qcacmn: Add support to config gpio cfg/output
Add support to config gpio cfg/output

CRs-Fixed: 2785829
Change-Id: Ibb26a36791de584ee6a90d539e17d326545633fa
2020-10-08 15:34:03 -07:00
Chaoli Zhou
eb134979c1 qcacmn: Add and enable GPIO Component
Add the common GPIO component code for MCC and WIN

Change-Id: Id93629856d42afc433844b568deb2fa63a5b67e6
2020-10-08 15:33:59 -07:00
Vijay Krishnan
8e4a6046af qcacmn: Check 80p80 mode while building channel
Per channel maximum regulatory bandwidth depends on country
bandwidth settings and the reg-domain bandwidth settings.
Therefore, take channel bandwidth into account in channel
bonding calculations. Here including condition to check for
80p80 mode.

CRs-Fixed: 2781127
Change-Id: I5f9a5960f4df8170d39fa8d6ea195700db741f51
2020-10-08 12:24:10 -07:00
Vignesh Mohan
42c230b190 qcacmn: Add 80p80 check for postNOL channel switch
Add a missing chwidth check for 80p80 during channel switch
after NOL.

Change-Id: I08cb0ec8f0da9777577eef8ba7d58f535b105291
2020-10-08 12:24:06 -07:00
hqu
ba45fe7e2c qcacmn: Fix implicit-fallthrough compile error casued by gcc 9.3
Compiling with gcc 9.3 will cause many implicit-fallthrough
compile errors.

Fix is to add keyword fallthrough to resolve such compile error.

Change-Id: I2e7dd1525861d951e3be44f6665e149499f0f5d6
CRs-Fixed: 2785178
2020-10-08 12:24:02 -07:00
Bapiraju Alla
7af72345b6 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-08 12:23:58 -07:00
Vignesh U
cbc3df38c7 qcacmn: Introduce radar param translation for 160/165MHz Agile channel
For the Pine true 160MHz, the Host radar action receives radar parameters
based on the 160MHz synthesizer. Host internally converts these parameters
into 80MHz synthesizer parameters. This conversion API
dfs_translate_radar_params(), does not take care of Agile channel and is
based on the current channel.

Introduce a radar parameter translation API for radar detection on
160/165MHz Agile channel.

Change-Id: I97043da5837545da072d5da3139bc2cc9888aebc
CRs-Fixed: 2784493
2020-10-08 10:19:26 -07:00
Uraj Sasan
180f7b20d9 qcacmn: Pktlog dynamic CE config support
Add support to dynamically initialize the CE for PKTLOG
and post buffers on demand.

This helps avoid unnecessary initialization of PKTLOG
ring and save the memory in lowmem platforms

Change-Id: Ib02153b3e7205be30b07e4a4763edf3374827328
2020-10-08 10:19:22 -07:00
Bapiraju Alla
a0d3ec58c3 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-07 21:42:35 -07:00
Sandeep Puligilla
bc288e05a5 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-07 15:16:36 -07:00
Mainak Sen
a46ec49881 qcacmn: Check return value of mscs lookup function
check return value in mscs lookup function

Change-Id: Ib7381bc71e407b67b44463b2b7b1e2e655cc75cc
2020-10-07 15:16:31 -07:00
Guisen Yang
1f8975e467 qcacmn: Change ROME IPA pipe names
Change ROME IPA pipes from IPA_CLIENT_WLAN1_CONS and
IPA_CLIENT_WLAN1_PROD to IPA_CLIENT_WLAN3_CONS and
IPA_CLIENT_WLAN3_PROD. The MCC pipe is changed to
IPA_CLIENT_WLAN2_CONS

Change-Id: I329eadc28e5730f6e9f73325ba41d69102dc89c0
2020-10-07 15:16:28 -07:00
Vevek Venkatesan
3970f133ee 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-07 12:49:07 -07:00
gaurank kathpalia
e2ec5b2d46 qcacmn: Update vdev crypto params from connect request
Update vdev crypto params from the connect request.

Change-Id: I007547196ecf24992bc4cca51fce9f3e85f8099c
CRs-Fixed: 2787324
2020-10-07 12:49:03 -07:00
Ankit Kumar
45c8760063 qcacmn: Fix fraglist creation api to handle nr_frags
Handle skb fraglist creation if parent skb has nr_frags.

Currently it is being handled if parent skb has nr_frags
associated with it and results into acessing invalid skb
region.

e.g:
To understand example, consider below points:
1. Parent frag has 40 bytes of data(qdf_nbuf_data())
2. Assume each frag is of size 10 bytes.

 ----------------------------------------------------------
|Parent_SKB -----> 1st Fraglist SKB - Cons SKB chained     |
 ----------------------------------------------------------
| nbuf->Data    : 40B         |   Nbuf->Data: 0B           |
 ----------------------------------------------------------
| Nr Frags: 16                |   Nr Frags: 10             |
 ----------------------------------------------------------
| Data Len: 160B (16 * 10)    |   Data Len: 100B (10 * 10) |
 ----------------------------------------------------------
| Nbuf->len: 200B ( 40 + 160) |   Nbuf->len: 100B          |
 ----------------------------------------------------------

While creating fraglist,
Parent nbuf -> data_len will become 100 Bytes (Because of assignment '=').
Logically it should be (160B + 100B). '+='

This change incorporate above handling.

Change-Id: I9f63035aa44e6f85a803511cb19632178d3dc2e5
2020-10-07 12:49:00 -07:00
Abhishek Singh
9d01a66a5e qcacmn: Add disconnect sync API to wait for disconnect to complete
Add sync API for disconnect to wait for disconnect to complete.
This can be used during vdev delete sequence to move the vdev and
connection manager SM to init state before VDEV is marked logically
deleted.

Change-Id: Id562e444cf1995d800b8268f906f811f143d0fc9
CRs-Fixed: 2790885
2020-10-07 12:48:56 -07:00
gaurank kathpalia
a33d1a2537 qcacmn: Handle connect requests in different states
Handle connect requests in different states.
Take care of flushing scan and older connect and queueing
internal disconnect depending on the current state.

Change-Id: I5be3fcd75a1b27e9a9f4d7da3008b3b5b2224f7b
CRs-Fixed: 2790028
2020-10-07 09:26:51 -07:00
gaurank kathpalia
6fdbfee38a qcacmn: Fix connection manager compilation issues
Fix connection manager compilation issues.

Change-Id: I0fbb1d630157b96fb15ee2b7f4789a4b9e9ae63d
CRs-Fixed: 2792059
2020-10-07 09:26:48 -07:00
Vignesh U
0650930e07 qcacmn: Radar found agile center frequency for 160/80P80 MHz
When a radar is detected by the Agile detector, the radar found center
frequency is same as the frequency configured to the Agile detector.

This is true for operation in 20/40/80MHz. When operating in 160MHz mode,
the Agile center frquency is the center frequency of the 160MHz channel
and when operating in restricted 80P80MHz channel the Agile detector is
configured with 5690MHz as center frequency 1 and 5775MHz as center
frequency 2. In these cases the radar found frequency should be based on
the segment id on which the radar is detected.

Modify the radar found found agile center frequency based on the
segment id.

While modifying the center frequency in the function to get the
bonding channels, it is to be noted that the API
dfs_get_bonding_channels_for_freq() is based on HK Agile DFS model.
That is, when the current channel is 80P80/160MHz mode, the agile
channel is 80MHz only. Whereas, for Pine, when the current channel
is 80P80MHz, the agile channel is 160MHz mode and when the current
channel is 160MHz, the agile channel might be 80P80MHz/165MHz channel or
160MHz channel.

Accommodate Pine ADFS considerations in
dfs_get_bonding_channels_for_freq().

Change-Id: I31710a73a79a52f29aa4229bc55e08b81311b8d6
CRs-Fixed: 2670679
2020-10-07 09:26:44 -07:00
Saket Jha
a64da56134 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-06 23:57:02 -07:00
Chaithanya Garrepalli
650f0ffd7d 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-06 19:31:36 -07:00
Vevek Venkatesan
5e487cc20a qcacmn: add support for DDR mapped IPA doorbell
Add support for DDR mapped IPA doorbell addresses.

Change-Id: I3a0d03ff4435ea12a6e07d4ae75012f2c85e32c9
CRs-Fixed: 2782267
2020-10-06 14:24:41 -07:00
Abhishek Singh
7fcea50eab 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-06 12:03:22 -07:00
Visweswara Tanuku
df74860811 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-06 12:03:18 -07:00
gaurank kathpalia
fb17117bd9 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-06 06:50:44 -07:00
Harsh Kumar Bijlani
4161cccc7e 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-06 04:11:03 -07:00
Ashish Kumar Dhanotiya
a24cd669cc 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-06 04:11:00 -07:00
Srinivas Girigowda
998df7c913 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-06 01:28:19 -07:00
Ashish Kumar Dhanotiya
0ac0e6b10e 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-06 01:28:16 -07:00
Mainak Sen
eb011c8f02 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-05 17:50:29 -07:00
Vevek Venkatesan
69cfce2eca 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-05 17:50:26 -07:00
Vignesh Mohan
4ec0baa83f 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-05 09:29:38 -07:00
Aniruddha Paul
ec14dd22d8 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-04 15:20:21 -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