コミットグラフ

7317 コミット

作成者 SHA1 メッセージ 日付
Wu Gao
46aa5afbb3 qcacmn: Fix compilation errors for DBR enable
Fix compilation errors for direct buffer rx component enable.

Change-Id: If0913b8357267fa65e61e0c7d197025ff850930b
CRs-Fixed: 2497783
2019-08-09 13:04:45 -07:00
sumedh baikady
60c3301c25 qcacmn: Remove comments in vdev subtype addition
Comments for vdev subtype added for mesh is not
required.

Change-Id: I9d6104fc0883b97f7462aa964d823f99dee653d7
CRs-Fixed: 2491087
2019-08-09 11:18:51 -07:00
Gyanranjan Hazarika
fe3cca9bd1 qcacmn: Add WMI changes for Dynamic HW mode configuration
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Relevant WMI changes are:

1. Relocate API wmi_unified_soc_set_hw_mode_cmd from
wmi_unified_sta_api.c to wmi_unified_api.c
2. Define API wmi_unified_extract_hw_mode_resp to extract
FW response
3. Parse and store new dev-cap fields wireless_modes,
low_2ghz_chan_freq, high_2ghz_chan_freq, low_5ghz_chan_freq,
and high_5ghz_chan_freq.

Change-Id: I49f975e7c5abc8503b651a3ebd4d56b23af915db
CRs-fixed: 2490212
2019-08-09 11:18:48 -07:00
Gyanranjan Hazarika
8e0ae99446 qcacmn: Add target_if changes for dynamic hw-mode config
This feature enables a user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Primary target_if changes are:

1. Add structure definition wlan_psoc_host_hal_reg_cap_ext
to parse and store the new extended regulatory capability
info in WMI_MAC_PHY_CAPABILITIES tlv sent in EXT service
ready WMI event
2. Add API target_psoc_get_num_radios_for_mode to retrieve
the number of radios corresponding to a hw-mode
3. Add API target_psoc_get_mac_phy_cap_for_mode to retrieve
the pointer to the mac_phy_cap info of the first radio
corresponding to the input hw-mode.

Change-Id: Ia10f0fd5e50c0ce0cbe99f9281147266aedce4e9
CRs-fixed: 2490212
2019-08-09 11:18:45 -07:00
Rakshith Suresh Patkar
9e02e1e104 qcacmn: Cleanup dp_register_peer [PEER_ID_PHASE1]
Cleanup dp_register_peer to be peer mac address based
from local peer id based.

Change-Id: Ifc0166b8ace5aabd7c287941476df47c806e8663
CRs-Fixed: 2503680
2019-08-09 07:38:01 -07:00
Rakshith Suresh Patkar
b3bc8abbd6 qcacmn: Add peer mac address in struct ol_txrx_desc_type
Local peer_id is being cleaned up across DP, HDD and PS/WMA.
So, any references to local peer_id/sta_id will be replaced
by peer mac address and all interactions between the layers
will be based on peer mac address.

Change-Id: I3a141d0a1e549fcbb587373f1e0d57dfd031911f
CRs-Fixed: 2503144
2019-08-09 07:37:57 -07:00
bings
d976954cf0 qcacmn: Use dma_iommu_mapping only if ENABLE_SMMU_S1_TRANSLATION defined
In standard linux kernel, dma_iommu_mapping is not defined for arm64, while
in qualcomm linux kernel, dma_iommu_mapping is defined for arm and arm64.
To fix build error in standard linux kernel, use struct dma_iommu_mapping
only when ENABLE_SMMU_S1_TRANSLATION is defined.

Change-Id: Ib02073163f2a38c47f864c6592fe2470046868ce
CRs-Fixed: 2496729
2019-08-09 07:37:53 -07:00
phadiman
797a49bc7d qcacmn: Fix incorrect access to mon buffer ring
Map mac_for_pdev appropriately for both MCL & WIN,
since MCL have multiple monitor buffer rings and
WIN just has one mon buffer ring, below API helps
identify accurate monitor buffer ring for both cases

CRs-Fixed: 2502051
Change-Id: I3929f3f7717d795850a41f4148397d87b0415118
2019-08-09 02:50:24 -07:00
Akshay Kosigi
2eae843084 qcacmn: Clean up CONFIG_MCL
Clean up CONFIG_MCL and introduce new macro
MGMT_FRAME_RX_DECRYPT_ERROR.

Change-Id: Ic0cf826bde40cb3088d9745f0831fe083a281d50
CRs-Fixed: 2504567
2019-08-09 01:31:47 -07:00
Naga
004bb25c0b qcacmn: Add support for self recovery in target_if
Add support to trigger self recovery in case
of vdev request timeout, as when host is asserted
fw dumps are not collected

Change-Id: I534ada61b114f5b96ecfae1ff27d692ee496edba
CRs-Fixed: 2496796
2019-08-08 12:52:15 -07:00
Vignesh Viswanathan
7c974c29d3 qcacmn: Add support for separate FTM Coldboot Calibration mode
Add support for separate Coldboot calibration mode (10) for Coldboot
Calibration in FTM Mode.

Change-Id: I8e4e2c370053b55c3755339d7ead863ba950856e
CRs-Fixed: 2497548
2019-08-08 11:38:07 -07:00
Wu Gao
c86454bc00 qcacmn: Reduce the log level in direct buffer rx
Frequent log in direct buffer rx component will cause platform assert,
so lower the log level. Get wmi handler by psoc since since pdev
creation is in progress and it doesn't have related information yet.

Change-Id: Iaaf5a43642f9b6dfaf07ddd3f158abd346903a87
CRs-Fixed: 2495249
2019-08-08 11:38:03 -07:00
Gyanranjan Hazarika
e8047269ee qcacmn: data-path changes for dynamic hw-mode config
This feature enables user to change HW mode dynamically
from DBS to DBS_SBS mode and vice-versa. Currently, HW
mode configuration is only possible through INI setting
requiring a subsequent reboot.

Relevant DP changes are:

1. Add API cdp_txrx_handle_pdev_status_change to pass
pdev 'up' or 'down' status to DP module
2. Add pdev-status check in dp_rx_process_invalid_peer
3. Add pdev-status check in dp_tx_comp_handler to free
buffer and release descriptor

Change-Id: I74b144abb1b0dc41a26a18ad28f872e6457e9653
CRs-fixed: 2490212
2019-08-07 16:22:32 -07:00
Sumeet Rao
c4fa4df717 qcacmn: Add a new feature to support tagging of IPv4/v6 flows
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack

CRs-Fixed: 2502311
Change-Id: I7c999e75fab43b6ecb6f9d9fd4b0351f0b9cfda8
2019-08-07 11:28:21 -07:00
Sumeet Rao
eda56478de qcacmn: Process RX FSE Support service advertised by firmware
A new firmware capability advertising support for flow search engine
in HW has been added. Process the new service for flow tagging.

CRs-Fixed: 2475913
Change-Id: Ie69cfd5733b6d6c02792da59dee4f823a72fb431
2019-08-07 04:58:13 -07:00
Sumeet Rao
76aa8d5194 qcacmn: Add helper functions to fetch ini config for flow tagging
Add helper functions to fetch ini settings for flow tag enable,
flow search table size, global/pdev table selection, monitor mode
enable/disable of protocol & flow tags

CRs-Fixed: 2475913
Change-Id: I66d477d145ea04809bfc17ba3b88a6b8580854a1
2019-08-07 04:58:09 -07:00
Sumeet Rao
4fed906f27 qcacmn: Add a new wmi service for RX FSE support
Add a new wmi service for RX Flow Search Engine support in FW/HW.

CRs-Fixed: 2475913
Change-Id: I5a2033853fd85cb0de8c98cfe4b57d871e89943f
2019-08-07 04:58:05 -07:00
Sumeet Rao
5664251726 qcacmn: Add utility functions to set/get flow tag from skb cb
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack

CRs-Fixed: 2475913
Change-Id: I534a633b99a8b1c4c9aab71fbf5857710d7977a1
2019-08-07 04:58:01 -07:00
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