提交線圖

7679 次程式碼提交

作者 SHA1 備註 日期
Naga
11f5a63a6c qcacmn: Export scheduler_post_message_debug api
Add support to export scheduler_post_message_debug API
to be used in wmi_unified.c

Change-Id: If18741f1973724453f0b2de12e133230924a2e52
CRs-Fixed: 2555961
2019-11-01 04:57:39 -07:00
Rakesh Pillai
534a143d8f qcacmn: Add support to flush rx packets for a vdev
When a particular vdev is deleted, the corresponding rx
packets which have been queued to the rx thread are not
flushed. Hence when such packets are submitted to the
network stack, the dev for this skb will be invalid,
since we have already freed the adapter.

Flush out the packets in the rx thread queues, before
deleting the vdev.

CRs-Fixed: 2543392
Change-Id: I2490d0f5ce965f62152613a17a59232521ca058f
2019-11-01 00:18:13 -07:00
Visweswara Tanuku
b3518aff5c qcacmn: Genoa: SDIO: Revert WAR - Do not use HTC_FLAGS_SEND_BUNDLE
Remove the WAR, which doesnot use HTC_FLAGS_SEND_BUNDLE

This reverts commit 68f186311d

Change-Id: I7d350faca8645a5d65af708cb3fb231895a3fe37
CRs-Fixed: 2522724
2019-10-31 10:08:21 -07:00
Priyadarshnee S
6e08d66883 qcacmn: Register DFS callbacks
To avoid "channel number" collision that was introduced after
6Ghz band was added to the driver, frequency based DFS callbacks are
registered with dfs_to_mlme structure.

Change-Id: Id937059329e4df25a49397c1c01251f81afc1fe6
CRs-Fixed: 2526372
2019-10-31 02:44:59 -07:00
Wu Gao
b7d36fd258 qcacmn: Fix compilation issue in dfs
There is no defined variable "dfs_nol_channel" in function
"dfs_mark_leaking_chan_for_freq".

Change-Id: I4258a9d322bfd98dc644678d48ba3146f966b367
CRs-Fixed: 2554628
2019-10-30 16:51:36 -07:00
sumedh baikady
c0bd0bee0e qcacmn: Reset svld on getting delba or teardown
Currently we do not update svld with 0 on receiving
delba or during a teardown. This change sets update_svld
and resets svld flag to 0.

Change-Id: Ic5eb5732946c47d7c20230f225fbb1bf54621506
CRs-Fixed: 2514183
2019-10-30 16:51:31 -07:00
Priyadarshnee S
6ddbcf0add qcacmn: Invoke DFS frequency APIS from vdev_mgr_start_param_update()
To avoid "channel number" collision that was introduced after
6Ghz band was added to the driver, frequency based DFS APIs are invoked
from vdev_mgr_start_param_update().

CRs-Fixed: 2532623
Change-Id: I35d262d10d00df124116a617de4575d00c35cffb
2019-10-30 16:51:27 -07:00
Venkata Sharath Chandra Manchala
c9e344de3d qcacmn: Set the reo destination ring ctrl register
The reo destination ctrl registers
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_2_ADDR and
HWIO_REO_R0_DESTINATION_RING_CTRL_IX_3_ADDR are used for mapping
msdu packets to different reo rings.
For QCA6390,
reo remap values varied from 0 - 7 so every 3 bits in
the register were used to map to a particular reo ring.
For QCA6490,
reo remap values vary from 0 - 9 as two extra reo rings are
added so we are using 4 bits in the register to map to a
particular reo ring.
Use the macros directly provided in the header files
to map reo rings.

Change-Id: I6d64266d3b388b3453b7df959048e3d693cf0a40
CRs-Fixed: 2544102
2019-10-30 05:58:57 -07:00
Sandeep Puligilla
5939199242 qcacmn: Add 6Ghz scan mode CFG item
Add 6ghz scan Mode CFG item and funcitonality
0 - Remove 6GHz channels in the scan request
1 - Allow/Add 6Ghz PSC channels to scan request
2 - Allow/Add all the 6Ghz channels

Change-Id: I2f07c30e599ace4592ae02a88d86876725abbb5f
CRs-Fixed: 2517277
2019-10-29 06:56:10 -07:00
Vivek
0c4e20ff82 qcacmn: Replace printk with qdf_nofl_info
Replace printk with qdf_nofl_info in qdf folder.
So if we wish to change from printing on console
to other location, based on a logging daemon, we
can do that by only changing at the implementation
of QDF print API's

Change-Id: I6db67cee416ebbe0f2c51b2d4dbf2b3a335e972a
CRs-Fixed: 2442689
2019-10-29 04:07:12 -07:00
Jinwei Chen
cb37d704f8 qcacmn: Fix dst_ring_desc memory leak in defrag case
For RX defrag, if incorrect SW peer ID is got from REO exception
ring descriptor, the expectation maybe is AP BSS peer ID but it
is replaced by other peer ID which like SAP self peer that won't
do dp_peer_rx_init, then in dp_rx_defrag_cleanup no chance to
run dp_rx_clear_saved_desc_info to free dst_ring_desc since
rx_tid[].array is NULL, memory leak happened.
  Call dp_rx_clear_saved_desc_info always in dp_rx_defrag_cleanup.

Change-Id: Ib1ebfbd976c817d5238ee48196388a8c88189ebc
CRs-Fixed: 2549913
2019-10-29 04:07:07 -07:00
Hariharan Basuthkar
3d4c345f51 qcacmn: Introduce reg_err_rl to avoid print flood
Print floods are observed in the APIs below:

1) reg_get_curr_regdomain
2) reg_is_etsi13_regdmn
3) reg_freq_to_chan

Add a new macro reg_err_rl and assign QDF_TRACE_ERROR_RL. Use reg_err_rl
instead of reg_err, to avoid print flood.

Change-Id: I5c1da71febd61449bfbff508797c60bb88849122
CRs-Fixed: 2552008
2019-10-28 23:36:57 -07:00
Santosh Anbu
0fdaae998a qcacmn: Handle start event failure
When the start continue callback fails due to any of the error
scenarios such as unable to find the channel, then the vdev SM
is stuck in the connection progress state leading to timeout
at the OSIF.

Graciously handle the start event failure by posting a connection
fail event back to vdev SM.

Change-Id: I0e4a3cf95529a09c88bc7fd4069aec99d4b9d78d
CRs-Fixed: 2552168
2019-10-28 23:36:50 -07:00
Jinwei Chen
7d419468a9 qcacmn: Use CNSS register window lock for register accessing
If CNSS platform driver and wlan host driver try to write
window register at the same time, conflict happened which then
register write failed.
Use the window register lock shared from CNSS driver to avoid
the conflict.

Change-Id: Iccc4e60e4f5eed995ec6aa53b024f3f96a2619a0
CRs-Fixed: 2534408
2019-10-28 20:58:46 -07:00
Alan Chen
b2bc55909c qcacmn: Add a qdf counter for qmi stats requests
Add a qdf counter to know number of qmi stats requests. Reset the
counter when WoW is exited.

Change-Id: Ie0c51fbd6eb2e7530dba01912443e7fc85726e52
CRs-Fixed: 2539999
2019-10-28 18:03:13 -07:00
Alan Chen
ddcff963a2 qcacmn: Replace panic by QDF_DEBUG_PANIC
Replace panic by QDF_DEBUG_PANIC because if PANIC_ON_BUG is compiled out,
we do not want to panic the system.

Change-Id: Idae89d6881ed5543273b047a0b77bc3ae55132b5
CRs-Fixed: 2545292
2019-10-28 18:03:08 -07:00
Tushnim Bhattacharyya
23990a2d01 qcacmn: Replace channel with frequency in struct unsafe_ch_list
Replace channel ID with frequency in struct unsafe_ch_list.

Change-Id: I0a9426f985edb65387f2613519b487d701cf344d
CRs-Fixed: 2540583
2019-10-28 18:03:02 -07:00
Nisha Menon
f7c5baa657 qcacmn: Fix for IPA rx buff map failure
Add an atomic variable to indicate IPA pipes are connected.
Use it to ensure that SMMU mapping for rx buffers is sent
to IPA even if REO is not remapped but IPA pipes are connected.

Change-Id: I5d82dc073fc2f0de6df102f7bfd2a1e945297aa8
CRs-Fixed: 2552128
2019-10-28 13:31:20 -07:00
Yeshwanth Sriram Guntuka
84f7fa87a8 qcacmn: Cleanup sta index from a few structures
Change-Id: Iad126044945eaa28c3d859a96a741a1046529cdb
CRs-Fixed: 2529131
2019-10-28 12:23:48 -07:00
Venkata Sharath Chandra Manchala
8a4812f7fc qcacmn: Enable TSO Stats for Lithium based products
Add support to account for TSO jumbo packets on the
Tx path and print the statistics using dumpStats 3.

Change-Id: I6cc446df5c84e3ac436d922935fcd559e0704ec5
CRs-Fixed: 2356244
2019-10-28 07:11:53 -07:00
Guisen Yang
2b07141773 qcacmn: Fix the build failure of illegal usage of log
In function target_if_direct_buf_rx_register_events(), the
API direct_buf_rx_info() is used to record log, but the
format is wrong. Fix the log format.

Change-Id: I81bc128e110570d96ca95dfbe773121272eb2588
CRs-Fixed: 2547235
2019-10-28 04:16:27 -07:00
Wu Gao
5988e8b7d2 qcacmn: Remove unnecessary logs in loop
There is unnecessary logs in loop which affect useful log capturing.

Change-Id: I37b2c8123a280e4ec080ac1fb75e43135936fd79
CRs-Fixed: 2552104
2019-10-27 19:27:56 -07:00
Krishna Rao
5304724e59 qcacmn: Add Agile Spectral frequency to Spectral SAMP message
Add Agile Spectral frequency to Spectral SAMP message and populate the
same. This coexists with the pre-existing operational frequency in
SAMP message for the sake of flexibility.

Change-Id: Iadb8efeaac924df5b0ac9a83f630206b2ef93052
CRs-Fixed: 2545763
2019-10-27 17:28:49 -07:00
Priyadarshnee S
be7b7b2562 qcacmn: Add frequency APIS in UMAC Dispatcher
To avoid "channel number" collision that was introduced after 6Ghz band was
added to the driver, add frequency based APIs to Global UMAC dfs
dispatcher.

CRS-Fixed: 2526372
Change-Id: Ice72aae699f609f9dadd0717852fa848cb392629
2019-10-27 15:19:21 -07:00
Priyadarshnee S
38da66f0dc qcacmn: Add frequency APIS in DFS Core, TGT DFS and DFS Utils
To avoid "channel number" collision with the introduction of
6GHZ frequency band, add frequency-based APIs to DFS Core.
Also, do not remove the old IEEE channel-number-based APIs that are still
referenced.

The DFS APIs of Target-IF layer and DFS UTILS in DFS dispatcher layer are
included as a part of this change as they invoke DFS Core APIs and are
dependent.

CRs-Fixed: 2526372
Change-Id: I7a00ca5796e9c81527438c326c2d41de1147ffee
2019-10-27 15:19:17 -07:00
Ashish Kumar Dhanotiya
758e340721 qcacmn: Move wow wakeup stats from vdev to psoc level stats
Currently wow wake up stats are maintained on vdev level,
since wow wake up stats are system level stats, stats on
the vdev gets reset on vdev destroy.
To resolve above issue store wow wake up stats to psoc level
stats so that stats are present even after vdev start.

Change-Id: I74aea1baa1d9168de3cb9142a24e73654910a48d
CRs-fixed: 2541661
2019-10-26 13:23:25 -07:00
Edayilliam Jayadev
2afe8e48fd qcacmn: Populate aSpectral capability based on BW
Some chipsets don't have the capability to run agile Spectral with
160/80p80 modes. For this populate separate agile Spectral capability
for 160 MHz, 80p80 and non 160 MHz modes.

CRs-Fixed: 2549664
Change-Id: I7ae961d3f2bba33d1d3f73679f162823d54b6717
2019-10-26 11:55:36 -07:00
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