Grafik Komit

7652 Melakukan

Penulis SHA1 Pesan Tanggal
Arun Kumar Khandavalli
d76b54a1c5 qcacmn: Move psoc object to common component
Presently PSOC object is initialized differently between
WIN/MCL. With this implementation the psoc creation and
destroy will be moved to common code.

Change-Id: I7aa8f47f3fe1d88c6c37ab3184a81fbc7dedb789
CRs-Fixed: 2547533
2019-10-26 11:55:31 -07:00
Shashikala Prabhu
a477ec2257 qcacmn: Add API to get SNR value from scan entry
Add snr and avg_snr variables to scan entry and populate these variables
while generating the scan entry.
Add API to read avg_snr value from the scan entry.

Change-Id: Ie19d5ad7c8debb35e9d278ec648bd6217b2f4099
CRs-Fixed: 2532369
2019-10-26 11:55:27 -07:00
Visweswara Tanuku
1f0b8fbc9f qcacmn: Add event ids for motion detection events
Add event ids for motion detection event and motion detection
base line event

Change-Id: I84c4ada04fad2de710a85ec510cb36f8d8ae8059
CRs-Fixed: 2548260
2019-10-26 11:55:23 -07:00
Jingxiang Ge
0303830a0f qcacmn: Add 11ax tx_rate_info info
Add 20/40/80 11ax tx_rate_info info which will be
used for 11ax linkspeed display.

Change-Id: Idfc4c7bd4c4775fd258fb088285b9cee240f8e3a
CRs-Fixed: 2548462
2019-10-26 08:12:04 -07:00
Gerrit - the friendly Code Review server
087394ec2a Merge changes into wlan-cmn.driver.lnx.2.0 2019-10-26 07:24:46 -07:00
Linux Build Service Account
b9e5522e63 Merge "qcacmn: Rewrite util_gen_new_bssid functionality" 2019-10-26 04:06:29 -07:00
Gurumoorthi Gnanasambandhan
f069fccaa6 qcacmn: Rewrite util_gen_new_bssid functionality
__aeabi_uldivmod  error is seen in 32 bit WIN platform.
Rewrite the function to avoid the insmode error.

Change-Id: I93e00222514f2969ac49a3c530c5436a5a542a25
2019-10-25 04:41:30 -07:00
Venkata Sharath Chandra Manchala
7fa23c1502 qcacmn: Add support to record iova address
Add support to record iova and pa address for
every buffer posted to CE SRC ring. This is to
identify issues in memory corruption.

Change-Id: I774b705f9edc89490d1f8dfdd01e8e0d9e9165c0
CRs-Fixed: 2546824
2019-10-25 01:23:58 -07:00
Rakesh Pillai
7bce1f0332 qcacmn: Add ol soc context
Add the soc context for ol_txrx,
The soc layer is used to hold the ol_pdev context.

CRs-Fixed: 2539807
Change-Id: I751ad61de55db9d86624b8b5e18b0981ffb0338d
2019-10-24 21:42:20 -07:00
Pavankumar Nandeshwar
2e435f1452 qcacmn: Add an api to get pdev from pdev_id
Add an API to fetch pdev using pdev_id from soc.

Change-Id: Id9f480d8e3546cde3930c9f1179d60d470e17051
2019-10-24 21:42:15 -07:00
Pavankumar Nandeshwar
5d3171d70e qcacmn: Add vdev_id to vdev_handle map in dp
Add a vdev_id to vdev_handle map in dp for faster
retrieval of vdev using vdev_id.

Change-Id: Ie19e09dd2e2b3d99317146d1b4cecdb5147a3cdd
2019-10-24 21:42:11 -07:00
Pavankumar Nandeshwar
0336eb937e qcacmn: Add an API to get peer using mac from vdev
Add an API that iterates through the peer_list of a vdev
and gets peer using peer mac address.

Change-Id: I9b7edd3816a51ee89d68be4cc876155fa1a79049
2019-10-24 21:42:07 -07:00
Aditya Sathish
796d538394 qcacmn: Add WMI support to enable multicast rate-control
Add WMI support to enable multicast rate-control as a VDEV
parameter.

Change-Id: I1e970b50d45148abda5a274bec672ff6d7447c5f
CRs-Fixed: 2546483
2019-10-24 20:06:17 -07:00
Rajeev Kumar Sirasanagandla
b339eda5f3 qcacmn: Update QCA vendor attributes for 6 GHz band support
As a part of P802.11ax amendment, 6 GHz band operation is added.

Since the 6 GHz channel numbers are overlapping with existing 2.4 GHz
and 5 GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

In the existing QCA vendor interface, wherever missing, add frequency
attributes to identify unique channel operation. In addition, add
comments to document some of the previously missed attributes/values.

Note: If both channel and frequency attributes are present in vendor
command/event and
(a) If both the driver and user-space application supports 6 GHz band
then channel related attributes are deprecated and use frequency
attributes.
(b) If either driver or user-space application or both doesn't
support 6 GHz band then use channel attributes.

Change-Id: I1d4f195ae0afb2b7822a0879f3b03291de72202d
CRs-Fixed: 2533114
2019-10-24 14:33:55 -07:00
Ashish Kumar Dhanotiya
4260dcf3f8 qcacmn: Invoke correct api to convert channel to frequency
Currently wifi update channel bw api is using legacy api
wlan reg get chan freq to convert channel numbers to the
frequency which does not take care of the bonded channels
and returns invalid channel number error code for bonded
channels which results in undefined behavior on the user
space application which is using the result of this api.

To address above issue, use the correct api to convert
channel number to frequency.

Change-Id: I80295b0ff502747d5655642f2506283bd3ba0b52
CRs-fixed: 2547546
2019-10-23 14:29:52 -07:00
Mohit Khanna
80002653b1 qcacmn: Check for ring approaching full during RX
Check if REO ring is near full at the end of dp_rx_process. In case the
ring is near full, reap the packets in the ring (and replenish, send to
upper layer) until the quota allows. Ignore the HIF yield time
limit in such cases.

This change is needed to prevent back pressure from the REO ring(in case
it gets full). Backpressure from REO ring (to LMAC) may lead to a
watchdog and eventually a FW crash. Hence, avoid such a scenario by
reaping as many packets as the 'quota' allows when the REO ring is in
aforementioned condition.

A sid-effect of this change would be that at times the RX softirq may run
longer (till the quota limit) than the configured HIF yield time.
However, this logic is not expected to kick-in in perf builds. The issue
is reported for a defconfig build where lots debug options are enabled
in the kernel which can slow the processing down.

Change-Id: I2eb6544c159ec5957d10386b1750fd96473fe13a
CRs-Fixed: 2540964
2019-10-23 12:04:39 -07:00
Chaithanya Garrepalli
45ecf4361c qcacmn: Fix false alarm of double nbuf allocation
In qdf_nbuf_unshare do not add new debug record when
allocation fails

Change-Id: Icece871a9e75af19841cf6824f286735660b09e3
2019-10-23 10:32:38 -07:00
Pavankumar Nandeshwar
b86ddaf205 qcacmn: Handle wbm_internal_error in tx completions
Handle wbm_internal_error in tx completions by releasing
associated descriptors and buffers.

Change-Id: I94d334c90c0514674323430fe53da72fb5424576
2019-10-23 10:32:33 -07:00
Yeshwanth Sriram Guntuka
2a7ed0abd3 qcacmn: Record few more ce desc event during post_recv_buffers
CE events are not recorded during nbuf allocation and
nbuf map done in hif_post_recv_buffers_for_pipe.

Add few more events to be recorded to know the exact
time when nbuf allocation and map is done with respect
to rx_desc_completion and rx_post_desc events.

Change-Id: Ia2a3ea61dc99dd21d06b442ef00cd25550f4cb5a
CRs-Fixed: 2541986
2019-10-23 10:32:22 -07:00
Liangwei Dong
87f0d59b90 qcacmn: Dump channel in WMI_SCAN_CHAN_LIST_CMDID
Dump channel frequency and channel tx power before channel
list sent to FW by WMI_SCAN_CHAN_LIST_CMDID.
The channel and tx power log can be processed
by script to do validation.

Change-Id: I20105aff6f4bba6f8ef1a00c2986bf5a3cffc635
CRs-Fixed: 2548256
2019-10-23 06:51:05 -07:00
Shiva Sankar Gajula
0f1216e2b2 qcacmn: QCA vendor command for adding a STA node
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_ADD_STA_NODE with
attributes qca_wlan_vendor_attr_add_sta_node_params to add STA peer
entries in AP mode. This vendor sub command is used in FT roaming
scenario to send STA node information from application/service to
driver/firmware. The attributes defined in enum
qca_wlan_vendor_attr_add_sta_node_params are used to deliver the
parameters.

Change-Id: Ie09a984bace6710a2801f1a6479124288e42f10f
2019-10-23 06:50:55 -07:00
Linux Build Service Account
7288846971 Merge "qcacmn: Add frequency APIs in DFS Dispatcher" 2019-10-23 06:07:58 -07:00
Linux Build Service Account
5591335ca7 Merge "qcacmn: Handle Frag with no peer in RX path" 2019-10-23 06:07:58 -07:00
Gerrit - the friendly Code Review server
3924c70084 Merge changes into wlan-cmn.driver.lnx.2.0 2019-10-23 05:39:12 -07:00
Priyadarshnee S
70e1b6f859 qcacmn: Add frequency APIs in DFS Dispatcher
To avoid "channel number" space collision with the introduction of
6GHZ frequency band, add frequency based APIs in DFS dispatcher.

Change-Id: I349093e134b04ee31d046eb4da108522bc74a51a
CRs-Fixed: 2526372
2019-10-23 05:34:53 -07:00
Mohit Khanna
d273250207 qcacmn: Handle Frag with no peer in RX path
While handling a frag with no peer, donot set packet length as this is
already done while handling the fragment before re-injection into the
REO. Without this, qdf_nbuf_set_pktlen will fail while doing a skb_put
on a non-linear packet.
Also, donot use L2 header offset while doing a pull head for the RX frag.

Change-Id: Ie1faeebf548b589ad524b31d51444c5934a7b976
CRs-Fixed: 2502756
2019-10-23 03:46:54 -07:00
Rhythm Patwa
25a0e88964 qcacmn: Add FD Tx & Rx ops to offload FD frame
Add Tx and Rx ops to offload the FD frame template to FW

Change-Id: Ibb16196494e3362fa48b3d1eae377df730dadcde
CRs-fixed: 2538058
2019-10-22 21:39:31 -07:00
Alan Chen
0fdc03e41e qcacmn: Log timer callback info
If qdf timer is already running and a module calls it again, log the
timer callback info to see why that module is calling it again.

Change-Id: I47e9d33a2a144a0a779f71b50dbabea227c4b362
CRs-Fixed: 2546070
2019-10-22 20:17:32 -07:00
Manikandan Mohan
d09f45e40f qcacmn: Update for policy manager frequency based APIs
Due to channel number ambiguity with introduction of 6Ghz operation
policy manager APIs are updated to use frequency values instead
of channel number. Update corresponding caller functions to
adapt for frequency usage.

Change-Id: Icf76480cdd0fbd98d9b5f559d9bfdc5d5a35dc7b
CRs-fixed: 2550098
2019-10-22 18:10:18 -07:00
Manikandan Mohan
afa4251d04 qcacmn: Update for policy manager frequency based APIs
Due to channel number ambiguity with introduction of 6Ghz operation
policy manager APIs are updated to use frequency values instead
of channel number. Update corresponding caller functions to
adapt for frequency usage.

Change-Id: Icc882d28d73d55fce5abaedbdff5f90bec095b61
CRs-fixed: 2550069
2019-10-22 18:10:10 -07:00
Manikandan Mohan
0f13d10c75 qcacmn: Update for policy manager frequency based APIs
Due to channel number ambiguity with introduction of 6Ghz operation
policy manager APIs are updated to use frequency values instead
of channel number. Update corresponding caller functions to
adapt for frequency usage.

Change-Id: I6c7566e1d99671a4324bd739ab8d26595d88956d
CRs-fixed: 2545125
2019-10-22 18:10:05 -07:00
Chaithanya Garrepalli
8b58459630 qcacmn: remove unused rx_opt_proc from dp_peer
Cleanup unused rx_opt_proc from dp_peer

Change-Id: I83401689f408f04c6f084dd83eb40dfacb295919
2019-10-22 12:46:13 -07:00
Gururaj Pandurangi
42a72318f0 qcacmn: Fix possible out of bound access
In reg_set_5g_channel_params if the input channel bandwidth
is 5MHz then while getting the next lower bandwidth out of
bound access occurs.
Fix out of bound access in getting next lower bandwidth value.

Change-Id: I309909661f0357d482387e92353024400a042295
CRs-Fixed: 2525496
2019-10-22 10:57:37 -07:00
Himanshu Batra
2c5c1e9a43 qcacmn: Resume HW enqueue for TX desc for ME case if HW enqueue fails
In the present scenario, in case of Multicast Enhancement when
the multicast packet is received the packet is converted to
unicast packet and send to list of clients in the hyfi table.
During conversion descriptors get allocated from ME pool
for each client and the Tx MSDU descriptor is send to HW
for transmit. On TX completion descriptors are freed and
added back to ME pool.

But if the HW enqueue is failed then the current TX descriptor
is freed and added back to ME pool. But the remaining descriptor
are neither retried nor freed thus resulting in Host Asserted
Crash.

So, adding a fix that if the HW enqueue is failed for ME packet,
free that descriptor and retry HW enqueuing for the remaining
descriptors.

Change-Id: Ibfeb1b07ee8fab4bf066689d0258bb23fb2aa9f8
CRs-Fixed: 2545818
2019-10-22 10:57:32 -07:00
Subrat Dash
e2e55cdec5 qcacmn: Fix Invalid HTC endpoint is observed in the rx header
The urb completion handler is asynchronous. Sometimes it is
called before prestart allocation is complete.
The urb_prestart_cnt is accessed unsynchronized manner from
usb_hif_usb_recv_prestart_complete. It presumes that it
is running out of prestart URBs and new allocation will be
done. Since bundling is not enabled at this point, the new
URBs allocated are not considered for bundling.
Use spin_lock to ensure synchronization in the above scenario.

Change-Id: I8c989aff7985a9ab614d63a71c7f97a0278647e0
CRs-Fixed: 2538796
2019-10-22 01:51:32 -07:00
Edayilliam Jayadev
8feb825a5e qcacmn: QCA vendor attributes to indicate BW-based aSpectral capability
Some chipsets don't have the capability to run agile spectral scan with
160/80+80 MHz modes. Add separate agile spectral scanning capability
flags for 160, 80+80, and non-160 MHz modes to cover such cases.

CRs-Fixed: 2545712
Change-Id: I57b5c4742e2042a9ee19fb2876b8054ad7cd890f
2019-10-22 01:51:15 -07:00
Yue Ma
93fe6e55b4 qcacmn: Add WMI unified header file for crypto
The header file will contain WMI API definitions specific to
crypto component.

Change-Id: I97a3366e66bc424a820cdc02e6a17571ad89c737
CRs-fixed: 2533529
2019-10-21 21:31:37 -07:00
Rathees kumar Chinannan
e03a81b08a qcacmn: Fix to add AST entry during WDS to static roaming
Fix to add AST entry during WDS to static roaming

Change-Id: I761eef2d1ea384832e152a64252f08d2c71652cc
CRs-fixed: 2539088
2019-10-21 03:46:45 -07:00
Jia Ding
fef509bc58 qcacmn: Properly handle RX REO reinject packets
Currently for REO reinject path, first fragment is in the
linear part of the skb buffer while other fragments are
appended to skb buffer as non-linear paged data. The other
point is that for REO reinject buffer, l3_header_padding is
not there, meaning ethernet header is right after struct
rx_pkt_tlvs.

Above implementation will have issues when WLAN IPA path is
enabled.

Firstly, IPA assumes data buffers are linear. Thus need to
linearize skb buffer before reinjecting into REO.

Secondly, when WLAN does IPA pipe connection, RX pkt offset
is hard-coded to RX_PKT_TLVS_LEN + L3_HEADER_PADDING. Thus
need to pad L3_HEADER_PADDING before ethernet header and
after struct rx_pkt_tlvs.

Change-Id: I36d41bc91d28c2580775a1d2e431e139ff02e19e
CRs-Fixed: 2469315
2019-10-21 03:46:39 -07:00
Manikandan Mohan
ae310478dd qcacmn: Fix channel conversion utility functions
Update wlan_chan_to_freq and wlan_freq_to_chan utility functions to
handle invalid channel number and freq value of 0 respectively.

Change-Id: I92e2d5026bb93439b77b749d447654ceb9413fde
CRs-fixed: 2546771
2019-10-19 22:11:54 -07:00
Saket Jha
8ce125ec51 qcacmn: Remove false assert during cleanup in STA mode
During cleanup path in STA mode, remove false assert as there is just self
dp_peer with no TX and RX TIDS setup.

Change-Id: Id6be7a6b3823c41ddbff67926bda240a4e9b6bd0
CRs-Fixed: 2547680
2019-10-19 20:46:56 -07:00
Jinwei Chen
13219389f1 qcacmn: fix compilation issue in dp_vdev_flush_peers
Fix compilation issue in dp_vdev_flush_peers.

Change-Id: I170398134d0a5eb30fecba78641fadfa2cfb236f
CRs-Fixed: 2545597
2019-10-19 19:25:47 -07:00
Manikandan Mohan
30ea188f11 qcacmn: Update set pcl handling for channel frequency
Due to channel number ambiguity with introduction of 6Ghz support
policy manager APIs are updated to use frequency values instead
of channel number. Update set pcl WMI handling to adapt for frequency
usage.

Change-Id: I69bac781036ed9faee8842190d9bf19abca3ec61
CRs-fixed: 2540002
2019-10-19 17:46:33 -07:00
Vignesh U
4898b2aa3c qcacmn: Introduce dfs_prevchan and use it to assess if CAC is required
The decision to do CAC when a vap is coming up should be taken based on
the previous channel and current channel. Introduce previous channel
in DFS structure and update it when the current channel is updated.

Use the previous channel and current channel in DFS structure to
decide whether the CAC should be done or not when the vap is coming
up.

Change-Id: Ia359025d5029713c32696dacee5b89618a1c9707
CRs-Fixed: 2538653
2019-10-19 10:58:59 -07:00
Sravan Goud
7d2afb4d62 qcacmn: Do panic if pci wake request fails
During hal write register first device force wakeup
request is done. If force wakeup request fails register
write is not done and the execution continues. This leads
to NOC erros in REO ramap register cases. As in later point
of time packets will be coming on wrong reo2sw ring and at
the destination side channels are not enabled. When NOC error
happens the current system is of no help to root cause as the
write fail happened way before. So do panic if pci wake request
fails which help to root cause the reason for failure.

Change-Id: I30d3f0a7858f3d4af96a80f69ba59764c9a7c8e9
CRs-Fixed: 2541061
2019-10-19 10:58:54 -07:00
Venkata Sharath Chandra Manchala
b9cafe22c0 qcacmn: Avoid invalid access to umac register when runtime suspend
When txrx_stats 28 is issued we post messages to reo command ring
to receive reo queue stats on the reo status ring.
This leads to acces accessing reo_cmd_ring head pointer shadow
register when runtime pm is suspended. Perform
a hif_pm_runtime_get to resume the apps before accessing
the shadow register.

Change-Id: Ie6df817fc114bd4c8ba7783df1fe3bd770deec40
CRs-Fixed: 2544174
2019-10-19 06:49:18 -07:00
Ashish Kumar Dhanotiya
75ccbd439c qcacmn: Process rx_mgmt_pkt based on frequency
As a part of 802.11ax amendment, 6GHz band operation is added.
Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.

As part of above requirement add logic to process rx mgmt
packets based on the frequencies instead of channel numbers.

Change-Id: I33e31fa124cedfab31dd1827721a420ad6cdba07
CRs-Fixed: 2519512
2019-10-18 02:55:39 -07:00
Mohit Khanna
973308ae13 qcacmn: Add HIF changes to support qca6490
HIF changes to support qca6490 WLAN chipset.

Change-Id: I4b1be1770a2daf0a0db6f65f579831e3fcb10e79
CRs-Fixed: 2522133
2019-10-17 15:13:20 -07:00
Manjunathappa Prakash
6a3150dc23 qcacmn: HAL changes to support 6490-R50 and 8074v2 HW header changes
HAL changes to support 6490-R50 and 8074v2 HW header changes

Change-Id: Idb557363b9fce29d10a781c017a1727d110584c5
CRs-Fixed: 2522133
2019-10-17 15:13:09 -07:00
Venkata Sharath Chandra Manchala
36fd40ab6e qcacmn: Add hal_rx_get_rx_sequence API
Add hal_rx_get_rx_sequence API to retrieve
rx sequence value based on the chipset.

Change-Id: I8377b96dfe04e9695a183482d9fcc4a804f845e0
CRs-Fixed: 2522133
2019-10-17 15:12:59 -07:00