Grafik Komit

7299 Melakukan

Penulis SHA1 Pesan Tanggal
bings
752a0b9c71 qcacmn: Use stack_trace only when CONFIG_STACKTRACE is defined
struct stack_trace is defined only when CONFIG_STACKTRACE is defined
Do not use stack_trace if CONFIG_STACKTRACE is not defined.

Change-Id: I5f619938729ef07d4e69b0b4df9b5be5eac22ad4
CRs-Fixed: 2496665
2019-08-06 22:29:11 -07:00
Gurumoorthi Gnanasambandhan
80e1ae17a6 qcacmn: Enable/Disable multi group key support
Support to Enable/Disable multi group key and configure
maximum number of group keys.

Change-Id: Ie6ce2a38d0ad04a47f966fc281f35a8af7125447
CRs-Fixed: 2490599
2019-08-06 10:31:49 -07:00
Gurumoorthi Gnanasambandhan
17d1e0f676 qcacmn: Support group key installation for VLAN
VLAN group keyix is greater than WLAN_CRYPTO_MAXKEYIDX
Each VLAN will have separate group key in single VAP.

CRs-Fixed: 2490599
Change-Id: I585b2deaa13da337c5df7b55ec8e4672221e4edb
2019-08-06 10:31:40 -07:00
Saket Jha
5cdfcc879e qcacmn: Change return type to QDF_STATUS
Changing return type of ce_send_single and hif_send_single functions
to return QDF_STATUS instead of int so caller can handle as needed.

Change-Id: Ifa0db300982e22c2784662492727923e4614c2b7
CRs-Fixed: 2468534
2019-08-06 02:48:59 -07:00
Naga
91449253d8 qcacmn: Add support to simulate fw response from target_if
Add support to simulate fw response and release ref
from target_if request timeout handler for every case
of timeout, but do panic or inject fw crash when
system is not in recovery or fw down or driver unload state.

Change-Id: I5c94df59319a901d9cfd89bd42b96118e9e641bb
CRs-Fixed: 2501920
2019-08-06 02:48:56 -07:00
nobelj
1453164d24 qcacmn: add per user RX stats in Rx PPDU struct
1)Add per user RX stats in Rx PPDU struct
2)Add per RU size counters in wifistats/iwpriv txrx_stats 10
3)Modified RX ppdu indication structure.

CRs-fixed: 2458732
Change-Id: Id8f3d6cce97503c0529642c4f5d66f3bbc59785d
2019-08-05 23:27:05 -07:00
Venkata Sharath Chandra Manchala
5ee6efde61 qcacmn: Avoid shadow register access when link is down
When the scheduler thread initiates the WMA_SET_BSSKEY_REQ
we send CMD_UPDATE_RX_REO_QUEUE to REO srng. This is done by
posting a descriptor to the reo command ring and then we
update the HP so that the HW can consume the descriptor.
Avoid accessing HP shadow address when we are in runtime
suspend state. Perform a hif_pm_runtime_get to resume the
link and access the shadow register and once done initiate a
hif_pm_runtime_put to allow device to go into runtime
suspend.

Change-Id: I24c3e046a5769f03a0f1969360cccdbe55b81d45
CRs-Fixed: 2495720
2019-08-05 18:53:08 -07:00
Will Huang
1f79c8fbe0 qcacmn: Return 0 if fail to covert channel/frequency
It is easier to just compare return value of reg_freq_to_chan/
reg_chan_to_freq with 0 to check whether the channel is valid.

Change-Id: I4124cc090d31687774d8d71fee4efc822e0a6b38
CRs-Fixed: 2496010
2019-08-05 18:53:05 -07:00
nobelj
7b0e27336e qcacmn: Fix OFDMA stats counter
user info with delayed ba stats are stored and stats are updated later
on receiving BAR.

Change-Id: I574dd94d5a7db2160953b5d5d302eff18f4f8648
2019-08-05 16:46:06 -07:00
Mainak Sen
9550273ede qcacmn: Rx Sw Descriptor allocation should be configurable
To make Rx Software descriptor allocation configurable for each radio,
new ini variable is added.

Change-Id: Ifc5683629747a6fe8238c18448695abe91876ec5
2019-08-05 16:45:59 -07:00
Yue Ma
5b5238a050 qcacmn: Add runtime PM put sync API
Runtime PM put sync API will make sure runtime PM suspend happen
right away if usage count is 0.

Change-Id: I70f6fe4ed015195874ef4cac61de9ef5d739b689
CRs-fixed: 2502382
2019-08-05 15:32:08 -07:00
Linux Build Service Account
057b7aeb5f Merge "qcacmn: Add WMI support to set OBSS PD per AC" 2019-08-05 12:11:49 -07:00
Christopher Chopp
c59538f7d4 qcacmn: Add WMI support to set OBSS PD per AC
Add WMI pdev param to wmi_unified_sed_pdev_param command. This adds
support to enable spatial reuse on a per access category basis.

Change-Id: I501f2a18c2eb7245f4d6c1be253e1b08a3de8bd6
CRs-Fixed: 2502282
2019-08-05 10:56:06 -07:00
Akshay Kosigi
8fcd7c7f99 qcacmn: Clean up MGMT_DESC_POOL_MAX
Clean up MGMT_DESC_POOL_MAX and add the corresponding
macro values in umac cmn_services mgmt_txrx ap config file

Change-Id: I083a199e2cacf70738851426167c601ab793c29d
CRs-Fixed: 2496215
2019-08-05 10:56:02 -07:00
Tushnim Bhattacharyya
2b629e7661 qcacmn: Clean up CONFIG_MCL for MGMT_DESC_POOL_MAX
Clean up CONFIG_MCL and add MGMT_DESC_POOL_MAX in the
default_defconfig file.

Change-Id: Id22787b99363bb14f842a79fde60d3ce22480035
CRs-Fixed: 2495580
2019-08-05 10:55:58 -07:00
Krishna Rao
5dd99baa21 qcacmn: Rectify Spectral hexdump output
The Spectral hexdump output would have individual hexadecimal values
on each line due to a transition to the QDF framework carried out in
the past. This is difficult to understand. Rectify the hexdump output
to have sixteen hexadecimal values (and their corresponding ASCII
representation) on each line. As of now, this hexdump functionality
continues to be maintained specific to Spectral in order to allow for
Spectral specific low level annotations to be added as and when
required.

CRs-Fixed: 2502690
Change-Id: I5618e64c37db5b14ede2d91b2f2af5d0a60178c6
2019-08-05 10:55:54 -07:00
Shiva Krishna Pittala
98a8ffa8ad qcacmn: Delete the nbuf debug entries of frag_list in qdf_nbuf_free_debug
When a jumbo packet connected using fragmented list is freed,  kernel frees
the nbufs of the frag_list as well. In qdf_nbuf_free_debug, we currently
delete the nbuf debug entry of the head nbuf only,
resulting in false alarm of nbuf leaks of the frag_list.
Fix this by deleting the nbuf debug entries of all nbufs of frag_list.

Change-Id: I2d44c9c87ef8e65f9329ac62fad44089d2c76240
CRs-Fixed: 2498317
2019-08-05 09:31:53 -07:00
Ankit Kumar
1c69ca1112 qcacmn: Added rx errors and dropped stats
Rx dma error and reo error are accumulated at pdev level.
Rx error consists of:
 - desc_alloc_failure [No free desc available]
 - csum error [IP/TCP_UDP]
 - mic_err
 - rx_dma_error
 - reo_error
Rx dropped consists of:
 - msdu_not_done
 - mec
 - mesh_filter
 - wifi_parse
 - non_rx_drop
 - non_radiotap_update_err

Change-Id: I4166a32ce94630e8a3ccad7a2551eedf9493e292
CRs-Fixed: 2499563
2019-08-05 09:31:50 -07:00
Vignesh Mohan
1689951601 qcacmn: Make NOL marking independent of preCAC
As part of supporting different bandwidths for preCAC, the preCAC list
also maintained current channel CAC information independent
of preCAC being enabled.

Once the current channels are CACed, they are marked as CAC done in
the preCAC list irrespective of preCAC being enabled or not. If
radar is found on any of these channels, they are not marked as NOL
in precac list if preCAC is not enabled. Since the channels are still
marked as CAC done, after NOL timeout, switching to this channel does
not start CAC.

Mark the preCAC list as NOL during radar, irrespective of preCAC
being enabled or disabled.

Change-Id: Ica24315c1e06fd603d7039e1233fcbd84bfeb594
CRs-Fixed: 2496747
2019-08-05 09:31:47 -07:00
Shiva Krishna Pittala
45752d0667 qcacmn: Account for fragmented list in qdf_nbuf_count_inc
When a jumbo packet connected using fragmented list is given to the
WLAN driver, currently we increment WLAN skb count by only 1, instead,
increment the skb count for all fragments in the fragmented list.

Change-Id: I291118fab2316505ca32900d7cce2b1510de203a
CRs-Fixed: 2498314
2019-08-05 07:50:09 -07:00
Abhishek Ambure
21ff0a53bf qcacmn: Common code changes for VDEV conversion
This change is required by MCL for VDEV conversion. This change
adds target_if all common code.

Change-Id: If43cbbe12c9b4a2bc7fc46ff01f24a2fb6fda09e
CRs-Fixed: 2460791
2019-08-05 07:50:05 -07:00
Krishna Rao
61585b05a2 qcacmn: Add Spectral frequency to read/write logs
Add Spectral frequency to functions which log read and write of
Spectral parameters.

Change-Id: I7c66676df4667d1a7b7b46fcf33e4c10815c4b28
CRs-Fixed: 2502703
2019-08-05 07:50:01 -07:00
Varun Reddy Yeturu
8119e1236e qcacmn: Do not setup peer reorder queue if roaming in progress
Do not send the WMI command WMI_PEER_REORDER_QUEUE_SETUP_CMDID
to target if roaming is in progress, as there is a discrepancy
in peer information between the host and firmware when roaming
is in progress

Change-Id: I8e91635b56257bb29972898a29c454123f7cdb8e
CRs-Fixed: 2490238
2019-08-05 06:13:05 -07:00
Jinwei Chen
752e4917f1 qcacmn: add DMA address validity checking for TX data
HW access to MSDU link Ext descriptor with NULL address,
whie from host MSDU Ext pool and related ring entry history,
not find NULL address recorded. In case the MSDU Ext descriptor
has been overwritten before issue happened, add DMA address
validity checking in MSDU Ext descriptor filled from TSO
segment fragments and also buffer address in ring entry.

Change-Id: I11dc1d0211530a5f01b515473b2458df15a5f4cc
CRs-Fixed: 2498359
2019-08-05 06:13:01 -07:00
Shiva Krishna Pittala
1a87414f89 qcacmn: Account for fragmented list in qdf_nbuf_count_dec
When a jumbo packet connected using fragmented list is freed or given to
the network stack, currently we decrement WLAN skb count by only 1,
instead, decrement the skb count for all fragments in the fragmented list.

Change-Id: I36a9aa9f3f5537718d476c368b3b110786494d5b
CRs-Fixed: 2498313
2019-08-05 06:12:57 -07:00
Sourav Mohapatra
791789e341 qcacmn: Add case to increment ICMP req frames in stats
Currently while processing wakeup stats, the driver doesnot increment
the icmpv4 packet count in case of a ICMP req frame. This causes only
the unicast packet counts to be incremented.

Add a case in function ucfg_mc_cp_stats_inc_wake_lock_stats_by_protocol
to increment the count in the above mentioned case also.

Change-Id: I0ee3e6e91f3bc7a8d9043af1af46739037cb7678
CRs-Fixed: 2439237
2019-08-05 06:12:54 -07:00
Amir Patel
afdb8f4fb5 qcacmn: Suppress the print if tlv_tag not found
Suppress the print if tlv_tag not found

Change-Id: I0a0490539ed271472d4f9f42e903ca13ba064991
CRs-Fixed: 2499596
2019-08-05 00:43:53 -07:00
Linux Build Service Account
088b9ea785 Merge "qcacmn: Add support in wifi pos to send wru/ftmrr frames" 2019-08-04 11:05:51 -07:00
Linux Build Service Account
9c47028168 Merge "qcacmn: Add DFS APIs to reset ADFS and reinitialize DFS Timers" 2019-08-04 11:05:51 -07:00
guangde
2dae118497 qcacmn: enable legacy coex feature
Because newest firmware codes already been changed, the previous
coex configure command are invalid. Firmware need host driver
to enable WMI_SERVICE_THREE_WAY_COEX_CONFIG_LEGACY service during
wlan init. Add a new parameter "gThreeWayCoexConfigLegacyEnable" to
initial config file. If this parameter value is zero,set coex
priorities command will return error.

Change-Id: Ief1617e2ba5363e276c55135198613a0e54b71d5
CRs-Fixed: 2482742
2019-08-04 06:23:22 -07:00
Rajeev Kumar
d9cede1908 qcacmn: Prevent runtime PM suspend for MGMT TX frames
Add a runtime PM wake lock for MGMT TX frames and prevent
runtime PM suspend if there are outstanding MGMT TX descriptors
in fw because fw may try to access host ddr when PCIe link is down
which can lead to system NOC errors.

Change-Id: I46b851b7babc8f0fe2c31f27892b0c7a3f255a17
CRs-Fixed: 2495612
2019-08-02 22:28:42 -07:00
Kiran Venkatappa
d2ede02e21 qcacmn: Add support in wifi pos to send wru/ftmrr frames
FTMRR and WRU frames should be sent from host and these request should
not be forwarded to FW. Add support in wifi pos to process this request
and send response to userspace.

Change-Id: I54049a1a889839e44d418ceebcca09e5092f6063
CRs-Fixed: 2500751
2019-08-02 10:17:23 -07:00
Priyadarshnee S
9d2d6e928b qcacmn: Add RX ops to invoke DFS/REG APIs
Provide Global function pointers for accessing DFS/REG APIs that
1. Build channel list as per the configured HW Mode.
2. Reinitialize DFS timers after mode switch.
3. Reset ADFS Config.

CRs-Fixed: 2481535
Change-Id: Ied4d13b0c3ce39e696f273a7ac1f51962671c734
2019-08-02 08:32:52 -07:00
Priyadarshnee S
aa4fe41237 qcacmn: Add a Regulatory API to compute channel list after HW Mode Switch
Add regulatory API and a dispatcher function to compute current channel
list after dynamic HW Mode Switch. range_5g_low, range_5g_high and wireless
modes are extracted from wlan_psoc_host_mac_phy_caps based on the new
HW mode configured and are used to derive the current channel list.

Change-Id: I799712da8992ede0b5896dd2eb438cffea5fe048
CRs-Fixed: 2481535
2019-08-02 08:32:49 -07:00
Priyadarshnee S
4ae200caad qcacmn: Add DFS APIs to reset ADFS and reinitialize DFS Timers
Add DFS APIs to
1. reset Agile DFS config
2. reinitialize DFS Timers

Change-Id: I7ede1b961f899f2e713b9be56aa8f5fe29360d66
CRs-Fixed: 2481535
2019-08-02 08:32:45 -07:00
Linux Build Service Account
31258f36bd Merge "qcacmn: Clean up MAX_BCN_PROBE_IN_SCAN_QUEUE" 2019-08-02 07:12:13 -07:00
Linux Build Service Account
3d0aa07dd9 Merge "qcacmn: Clean up CONFIG_MCL for MAX_BCN_PROBE_IN_SCAN_QUEUE" 2019-08-02 07:12:11 -07:00
Nirav Shah
69fd90a11c qcacmn: Increase Source ring size of HTT TX Copy Engine for QCN7605
Increase Source ring size of HTT TX Copy Engine for QCN7605
to avoid packet drop in DBS throughput scenarios.

Change-Id: I3f48579b88034a1eddb53d67ee161bd920ac848a
CRs-Fixed: 2496049
2019-08-02 05:00:25 -07:00
Aditya Sathish
7de5d4f264 qcacmn: Add support for RF characterization WMI event
Add support to read the RF characterization WMI event
and parse each individual TLV containing the channel's
center frequency, bandwidth and RF characterization
metric.

Also, remove the support for reading the RF
characterization metrics from the extended
service ready WMI event.

Change-Id: I560583f9304005282c09a27f47c8d5c2778b1645
CRs-Fixed: 2487415
2019-08-02 03:13:52 -07:00
Varsha Mishra
1530697064 qcacmn: Define new lock to access special peer list
Define new lock to access special peer list and make
a function static.

Change-Id: If2ddfc4ad3384a78c96618f79bebfd9f6192f50c
2019-08-02 00:43:53 -07:00
Gerrit - the friendly Code Review server
1d90f4ee32 Merge changes into wlan-cmn.driver.lnx.2.0 2019-08-01 13:32:19 -07:00
Akshay Kosigi
9777087e85 qcacmn: Clean up MAX_BCN_PROBE_IN_SCAN_QUEUE
Clean up MAX_BCN_PROBE_IN_SCAN_QUEUE and add the corresponding
macro values in umac scan ap config file

Change-Id: I34699372b948bc1e2f515048321018e85259e273
CRs-Fixed: 2497518
2019-08-01 06:47:57 -07:00
Tushnim Bhattacharyya
689d670cc9 qcacmn: Clean up CONFIG_MCL for MAX_BCN_PROBE_IN_SCAN_QUEUE
Clean up CONFIG_MCL and add MAX_BCN_PROBE_IN_SCAN_QUEUE
in the defaul_defconfig file.

Change-Id: I5c79ed31609ae67545d7ddf4a649925d1d071b9a
CRs-Fixed: 2495605
2019-08-01 06:47:53 -07:00
Alan Chen
8fbc8c2941 qcacmn: Add QDF timer multiplier for all timers on host
Some QDF timers on host do not use the QDF timer multiplier. Add QDF timer
multiplier so that all timers on host have it.

Change-Id: I57acb28240ea815aaed685b5a193e492332cad69
CRs-Fixed: 2498149
2019-08-01 05:13:48 -07:00
Vignesh U
a0a995d824 qcacmn: Add Global dispatcher support for Synthetic HW pulses
Provide Global function pointers for accessing DFS APIs that
1) allow or prevent the HW pulses. HW pulses are to be prevented
to detect the synthetic pulses.
2) query whether the HW pulses are allowed or not.

Change-Id: Id1e90ba6682afe747774b46da78f7ae6b56c94e6
CRs-Fixed: 2484584
2019-08-01 01:40:24 -07:00
Vignesh U
2810202a98 qcacmn: Add support to inject synthetic radar pulses
Add structure definitions, function declarations and
definitions supporting radartool to inject synthetic
radar pulses.

Change-Id: Ie7af0437bd2d6051bc3cb80b6e88f4337eefe77b
CRs-Fixed: 2484584
2019-08-01 01:40:21 -07:00
Ashish Kumar Dhanotiya
3af27eb408 qcacmn: Process FW stats event on VDEV_DOWN
FW sends vdev stats on vdev down, current host
implementation does not process this event as host is
only processing the stats events for which stats are
requested.
On vdev down FW sends the last available vdev stats and
based on that host updates it's RSSI on disconnect.
With CP stats infrastructure host is not processing
this event and is not updating rssi on disconnect.

To address above issue add a logic to process all the
vdev stats event received by host.

Change-Id: I9a5c32d061562cd3e3741cd9fe4a69f3278e7a98
CRs-Fixed: 2497104
2019-08-01 01:40:17 -07:00
Visweswara Tanuku
cf1f958b5f qcacmn: SDIO HIF Layer refactor
1. Add ADMA channel registration APIs
2. Add ADMA support for TX and RX path
3. Remove async_task thread for ADMA, since transfer thread is
   present in the SDIO AL layer
4. Move hif functions which are legacy only to mailbox.c
5. get_hif_device and hif_sdio_set_drvdata changes for mailbox and adma
6. Add rx buffer allocation offload work

Change-Id: Ie98b302176381035b1bd590ef35a977aeef4f09c
CRs-Fixed: 2274807
2019-08-01 01:40:14 -07:00
Aniruddha Paul
f4ab426805 qcacmn: Skip the Host Tx desc allocation for single offloaded radio
This changes takes care of the below issues.
1. Skip the host allocation of software Tx descriptors
   for single band NSS offloaded radio configuration.
2. Reset the reo frag destination to alternate select
   for single band offloaded radio configuration.

Change-Id: I3930f266ff9d81d876dda437b29b1ca83d542e12
2019-08-01 00:02:29 -07:00
Surya Prakash Raajen
c59f7dc66e qcacmn: Fix wrap-around condition check in DIAG_RX_EVENT_RECORD
Diag_log_max_entry should be used to determine wrap around condition
in DIAG_RX_EVENT_RECORD. Using incorrect max value results in invalid
access and memory corruption. Fix DIAG_RX_EVENT_RECORD to use diag_log
max entry instead of mgmt_max entry.

Change-Id: Icae3ce843b1fd76e15139fae1a867448ad032cf8
CRs-Fixed: 2488783
2019-07-31 22:18:42 -07:00