Commit Graph

694 Commits

Author SHA1 Message Date
Mohit Khanna
09dec2d715 qcacld-3.0: Enable FEATURE_HAL_DELAYED_REG_WRITE
Enable feature to do delayed register writes in HAL for lithium
products.

Change-Id: I5158b10b0fecc125e2ece42987965dd5684d3c34
CRs-Fixed: 2631227
2020-03-09 20:57:31 -07:00
Jingxiang Ge
a6a955d19f qcacld-3.0: Add debugfs for unit_test_host/unit_test_target
These debugfs files are to replace wext cmd setUnitTestCmd
/unit_test/wlan_suspend/wlan_resume.

unit_test_host:
    /sys/kernel/debug/wlan_xx/unit_test_host
    wlan_xx is driver name
unit_test_target:
    /sys/kernel/debug/wlan_xx/unit_test_target
    wlan_xx is adapter name
wlan_suspend:
    /sys/kernel/debug/wlan_xx/wlan_suspend
    wlan_xx is adapter name
wlan_resume:
    /sys/kernel/debug/wlan_xx/wlan_resume
    wlan_xx is adapter name

Change-Id: I1ddf44b47a3f0d2e11ff74022dc1a26888da974c
CRs-Fixed: 2631424
2020-03-09 09:54:51 -07:00
Liangwei Dong
75698c2414 qcacld-3.0: Fix Beacon report invalid channel issue
11K test bed sends beacon report request for channel 48 with
invalid reg class 0 to DUT. So, driver gets chan_freq 0 by API
wlan_reg_chan_opclass_to_freq because of reg class 0.
To get correct channel freq for beacon report request, use new
API wlan_reg_country_chan_opclass_to_freq to
get freq from country operating class table firstly by (opclass,
channel number) pair. When the lookup is failed, the API will
try to look up by chan number only.

Change-Id: I5b56804c20d6fade17b2acaa0f7c261feebd6370
CRs-Fixed: 2603989
2020-03-03 22:19:39 -08:00
Rakesh Pillai
1bd6962198 qcacld-3.0: Enable rx descriptor sanity WAR
Enable the rx descriptor sanity check in
the Kbuild.

Change-Id: I0f37ac1bbcbc5d148f28469c0ef1f9b090083c88
CRs-Fixed: 2633037
2020-03-03 18:53:07 -08:00
Bapiraju Alla
b9c36856fa qcacld-3.0: Periodically print ARP and DNS stats after STA association
Currently no stats were printed related to ARP and DNS frames at STA
after initial association or after roaming complete.

To print these logs, add INI configuration and a periodic timer to
print ARP and DNS stats after initial association or after roaming
complete. This is an optional feature controlled by
'WLAN_FEATURE_PERIODIC_STA_STATS' flag.

Change-Id: I373632cc35584728c5b556bb28eda1077d51fd9b
CRs-Fixed: 2619383
2020-03-03 18:52:46 -08:00
bings
d929ee2159 qcacld-3.0: Add Kbuild options for DCS
1) Add optional code compilation for Dynamic ACS(DCS) module.
2) Add Kbuild option(CONFIG_DCS) to control whether DCS code
   should be compiled.

Change-Id: Ia594db21fef43a8ef6e90afb4191f50ba42f74b7
CRs-Fixed: 2604529
2020-02-28 05:55:55 -08:00
Surabhi Vishnoi
4eaa25c659 qcacld-3.0: Add sysfs entry to display ftm time sync offset
Add the sysfs entry ftm_time_sync in STA mode to show the offset
derived for the STA(slave) with respect to connected AP(master).

Change-Id: I05b16ccdb983c53fb86eeb14ba98bd3cc9a2dce6
CRs-Fixed: 2621152
2020-02-26 14:56:29 -08:00
Vulupala Shashank Reddy
a2deef8c83 qcacld-3.0: Process Rx data packet for pkt capture mode
Process Rx data packets and post to the mon thread for
packet capture mode

Change-Id: Id8ae54677615c27d61c6def1a521c509f602863b
CRs-Fixed: 2618941
2020-02-26 10:06:27 -08:00
Rakesh Pillai
eddb4c83ee qcacld-3.0: Enable hal reg write failure history for lithium
Enable the register write failure history for
reo remap registers in lithium based targets.

Change-Id: Iaed3ea33e8ae3ab012b2403c50cb785f81497c04
CRs-Fixed: 2626325
2020-02-25 03:00:31 -08:00
Abhinav Kumar
406cfe0ee4 qcacld-3.0: Introduce a new compile time flag and INI
Introduce a compile time flag SAE_SINGLE_PMK and new INI
"sae_same_pmk_feature_enabled" to enable/disable SAE
Roaming with same PMK/PMKID feature.

Change-Id: Ifca8ec8bcf6e9a2f1d8409b35390bfee0033bd30
CRs-Fixed: 2616025
2020-02-23 14:43:08 -08:00
Chaoli Zhou
0d2a738f44 qcacld-3.0: Remove unused feature flag
Since we have final solution for Genoa IPA now,
so remove the workaround feature now.

Change-Id: I4b91c4a5cb0d327796eb1810a26b50c78a9a3ac9
2020-02-23 06:16:34 -08:00
Nirav Shah
eaa8a1fefd qcacld-3.0: Enable Shadow register from PCIe block in QCN7605
QCN7605 has 2 set of shadow registers, WCSS block and PCIe block.
As PCIe shadow register are at power domain boundary, enabling
PCIe shadow register for QCN7605.
Also PCIe shadow register falls below 512KB, no need to use register
windowing which is required to get it access from IPA FW.

Change-Id: Ic0bbc2de4c3e32c4fb6453d273f0f29d19f3537c
CRs-Fixed: 2623851
2020-02-21 03:13:38 -08:00
Rakesh Pillai
adb5939c5a qcacld-3.0: Enable hal soc stats for lithium target
Enable the collection of hal stats for
lithium based targets.

Change-Id: Ibe2610b59ddc5c33d47925d6fc4d98b1a45e7050
CRs-Fixed: 2623835
2020-02-20 04:50:24 -08:00
Dundi Raviteja
4a89130e93 qcacld-3.0: Process Mgmt Tx and Rx frames for pktcapture mode
Process management Tx and Rx frames for packet capture mode
and post frames to the mon thread.

Change-Id: I14c0a1cf8a8aa4d4a4e16ad6200715b875611c81
CRs-Fixed: 2619317
2020-02-19 08:43:11 -08:00
Vulupala Shashank Reddy
5a60cebf6d qcacld-3.0: Send vdev param command to set pkt capture mode
Send vdev param command to FW for STA vdev to set the packet
capture mode. Send the command only if packet capture support
is enabled.

Change-Id: Ifed2431882b1f7d2869771e812daa5bcd5dc17e9
CRs-Fixed: 2619314
2020-02-19 06:23:46 -08:00
Chaoli Zhou
fb2d768154 qcacld-3.0: Add one flag for Genoa IPA workaround
Currently, there is some issue about IPA GSI update
copy engien 5 write index register failure, so add
this flag for Genoa IPA workaround, once the real fix
is ready, will revert this flag.

Change-Id: I17313ea281bad03f471222b54802fa9628893e1f
2020-02-16 09:18:36 -08:00
Vulupala Shashank Reddy
aa481cc459 qcacld-3.0: Create mon thread for packet capture
Create mon thread to process the packets for
packet capture.

Change-Id: I0c83b17273f140970b4feea49cd42da4c540046b
CRs-Fixed: 2618657
2020-02-16 04:01:17 -08:00
Surabhi Vishnoi
6ecac484fc qcacld-3.0: Add function to handle the FTM time sync events from target
Add the function to parse the FTM timesync start/stop and offset
events received from target and populate them in ftm timsync
priv vdev structure.

Change-Id: Ibdcf97bb0a04fc6490c6bd2c26701036df92c5d4
CRs-Fixed: 2618646
2020-02-15 12:56:09 -08:00
Nisha Menon
ce65875d4a qcacld-3.0: Enable MCL feature flag MAX_ALLOC_PAGE_SIZE
This feature flag is used to set the page size to 4KB
for MCL and to use the max_alloc_size config ini param
for page size in the WIN specific code.

The page size is used to allocate link descriptor pages
for the WBM idle link ring instead of the desc bank
contiguous memory allocations.

Change-Id: I9ff575efc475473654cb4b66a95285c779599b24
CRs-Fixed: 2612385
2020-02-15 00:31:41 -08:00
Chaoli Zhou
6189e28cfd qcacld-3.0: Add one flag to support Genoa IPA over GSI
Add flag IPA_WDI2_GSI to the Kbuild that can be used to
configure whether need to get "is_over_gsi" from IPA driver
for Genoa IPA over GSI case.

Change-Id: Ib6de50d5b3ffb581d85deff089ae77a1a39998ca
2020-02-14 04:17:28 -08:00
Venkata Sharath Chandra Manchala
de8bea9272 qcacld-3.0: Add support to request for hardware stats
As part of the vendor extended stats, add API to
request Rx hardware stats for a given vdev id.

Change-Id: I46d73de21724c4c5ebf4a78075b7b2c1d02fe92a
CRs-Fixed: 2605729
2020-02-13 13:04:49 -08:00
Yu Wang
6c9129693d qcacld-3.0: add vendor cmd support for BT coex chain mode
Add a new qca sub command QCA_NL80211_VENDOR_SUBCMD_BTC_CHAIN_MODE.

This command is used to set BT coex chain mode via
WMI_COEX_CONFIG_BTCOEX_SEPARATE_CHAIN_MODE, it has 2 args:
arg1: BTC chain mode, including shared (0, default) and separated(1).
arg2: force restart flag. true means doing vdev restart after applying
      the new configurations; while false or NOT set means not.

CRs-Fixed: 2534768
Change-Id: I869096784e5089a6c90e94e76234cd13c9b1a13a
2020-02-13 05:53:34 -08:00
Yu Wang
0f8390bd10 qcacld-3.0: add build support for coex qcacmn component
Add Kbuild changes to include files of coex component.
Introduce a new build config 'CONFIG_FEATURE_COEX'.

CRs-Fixed: 2534768
Change-Id: I3c97dda6c446c7474d4d7babf2dc88fe6e4dd0ef
2020-02-13 05:53:16 -08:00
Manjunathappa Prakash
a3d85a9a4e qcacld-3.0: Add compile time flag for FISA feature
Add compilation flag for FISA and enable it for QCA6490 chip

Change-Id: I7e0e00a764881c44bcb56ca3916e8b2fbee33921
CRs-Fixed: 2600268
2020-02-12 11:56:35 -08:00
Manjunathappa Prakash
1fef6fba0c qcacld-3.0: Add logic to learn and program the flow in to FT
Check the HW TLVs to identify if the flow is already programmed.
If flow doesnot exist make an entry to SW and HW flow table.
Invalidate FSE cache to make fse read updated FT entry

Change-Id: I6acc539c5c7994e438ebb2af9cb3bb5ecbf6e120
CRs-Fixed: 2600268
2020-02-12 11:55:58 -08:00
Sravan Goud
bf58054b02 qcacld-3.0: Add feature flag to not process rxdma decrypt err
Add feature flag DROP_RXDMA_DECRYPT_ERR to not process or drop
frames coming with error code as rxdma decrypt error.

Change-Id: I9ca8905c6487051f57a5203e5fe1a530a74a951a
CRs-Fixed: 2617442
2020-02-10 11:59:00 -08:00
Surabhi Vishnoi
765dcc910f qcacld-3.0: Add FTM TIME SYNC component in target_if
This patchset adds the FTM TIME SYNC component in
target_if to register the ftm time sync wmi events/cmds.

Change-Id: I4ea14266a912c9d261a67809556774860b5ddab1
CRs-Fixed: 2617055
2020-02-10 06:41:17 -08:00
Vevek Venkatesan
656edfa1f8 qcacld-3.0: add support to customize dscp-to-up map table
Add support to customize DSCP-to-UP map table and send the
customized map values to FW to update its corresponding
map table.

Change-Id: Ibe9704a90468c898dd2e60fdf83a271152f654ce
CRs-Fixed: 2616247
2020-02-06 22:44:57 -08:00
Alok Kumar
5b1cf615b6 qcacld-3.0: Add Kbuild configuration for QCA6750
Add Kbuild configuration for QCA6750

Change-Id: Ic196a4ea23cd637734412788f8463e3dd6f43c60
CRs-Fixed: 2603029
2020-02-06 07:10:56 -08:00
Ashish Kumar Dhanotiya
92a6a75a8b qcacld-3.0: Add feature flag for SAR safety feature
Add support to featurize SAR safety feature.

Change-Id: I21695ec3f9dca9da6f02eb7a1435366943a8a621
CRs-Fixed: 2612950
2020-02-05 11:38:52 +05:30
Govind Singh
041cf61139 qcacld-3.0: Add FTM TIME SYNC component
Add support for FTM TIME SYNC feature.

Change-Id: Idd022b3b105febd25b9353d7f7c4a046c9143585
CRs-Fixed: 2615242
2020-02-04 17:17:48 -08:00
Vulupala Shashank Reddy
9331f42f3e qcacld-3.0: Add support for packet capture mode
Add support for packet capture mode to monitor packets
on WLAN interface.

Change-Id: I8409479ef7855d51e303028d7e18e6bf89055407
CRs-Fixed: 2611293
2020-02-03 21:41:46 -08:00
Venkata Sharath Chandra Manchala
63765efd5c qcacld-3.0: Add dp_mon_filter file to Kbuild
Add dp_mon_filter.c to Kbuild to compile
the file to support monitor mode filter
setting.

Change-Id: I1bbfd82bd5a9a6fdf85208516d0d35cab9cd3249
CRs-Fixed: 2610965
2020-02-03 04:22:14 -08:00
Pankaj Singh
50e40422d1 qcacld-3.0: Add support for WLAN thermal mitigation
As part of new requirement WLAN subsystem needs to perform thermal
mitigation action as per the thermal state of the device. The
wifi hal sends vendor command QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
with the thermal level parameter and wlan host performs the required
appropriate action. wlan host driver maps the thermal level to
corresponding duty cycle off percent value and duty cycle value,
send WMI_THERM_THROT_SET_CONF_CMDID cmd to FW.

Make changes to perform vendor command handling, mapping thermal level
to duty cycle value and communicating the thermal information to FW.

change-ID: I77175048c817ab755cdb838018e414ef3ee0b112
CRs-Fixed: 2610395
2020-01-31 12:45:29 -08:00
Venkata Sharath Chandra Manchala
0d0ef55749 qcacld-3.0: Provide soc objmgr to hif
Pass soc objmgr from hdd context to hif context
to retrieve INI parameters to be used in hif
layer.

Change-Id: I0ad4573fecba0fc78968145394683057d09da312
CRs-Fixed: 2598759
2020-01-27 15:42:46 -08:00
Nisha Menon
cda811c37b qcacld-3.0: Enable MCL feature flag RXDMA_ERR_PKT_DROP
If the flag is enabled drop the packet if msdu_done bit
is not set while processing rxdma err frames. This is
not expected while reaping WBM RX release ring.

Change-Id: Ic8a09ba5a6952510e82a209d6ef609343a9bc09a
CRs-Fixed: 2608661
2020-01-24 02:30:20 -08:00
Venkata Sharath Chandra Manchala
306b698156 Revert "qcacld-3.0: Provide vendor extended stats from host"
This reverts change-id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c.

Change-Id: I34924e143b19e7254343b7839798700d64a0b566
CRs-Fixed: 2604690
2020-01-20 17:50:44 -08:00
Venkata Sharath Chandra Manchala
11d0056c4a qcacld-3.0: Compile pktlog files based on platform
Compile pktlog file based on legacy or future
chipsets as this would give us significant
code memory savings.

Change-Id: I394a9672fd84db691eef873cfd20eb1724e26073
CRs-Fixed: 2585626
2020-01-17 13:41:07 -08:00
Sravan Goud
96509f80bb qcacld-3.0: Provide vendor extended stats from host
Currently in lithium FW is not always in datapath. As a result
can not provide all the wlan vendor extended stats. So as part
of this host provides some of the extended stats.

Change-Id: Ie73b1e823a54385c5b97e1844a93d4ecc38d9d3c
CRs-Fixed: 2539662
2020-01-12 06:23:38 -08:00
Jianmin Zhu
e986417f5a qcacld-3.0: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie
Fix insmod Genoa wlan module failure for:
wlan: Unknown symbol wlan_set_vdev_crypto_prarams_from_ie.

wlan_set_vdev_crypto_prarams_from_ie is defined in
wlan_crypto_global_api.c

UMAC_CRYPTO_OBJS := $(UMAC_CRYPTO_CORE_DIR)/
wlan_crypto_global_api.o \

ifeq ($(CONFIG_CRYPTO_COMPONENT), y)
OBJS +=		$(UMAC_CRYPTO_OBJS)
endif

The crypto component is always required after convergence
between WIN/MCC, hence just unconditonally set
CONFIG_CRYPTO_COMPONENT := y in Kbuild.
Remove CONFIG_CRYPTO_COMPONENT := y in defconfig of each wifi
chip: default_defconfig, qca6174_defconfig, qca6390_defconfig.

Change-Id: Id0abe80673d59d9274401f1304b5ce1d906624eb
CRs-Fixed: 2596124
2020-01-08 15:46:44 -08:00
Yue Ma
d03d10bcd1 qcacld-3.0: Cleanup WLAN_CONV_CRYPTO_IE_SUPPORT flag
WLAN_CONV_CRYPTO_IE_SUPPORT is a temporary flag which is used for
converged crypto component transition. The transition has already
been done, so cleanup legacy code related to the flag.

Change-Id: Ide9fa97a9eb0b5c197c762205f386651efc51e33
CRs-fixed: 2592096
2020-01-08 11:30:05 -08:00
Srinivas Dasari
5cc0b7c087 qcacld-3.0: Increase max supported vdevs by driver to 6
Maximum no.of supported vdevs by driver are currently 5. Increase
it to 6 to allow the creation of a separate vdev for NAN.

Change-Id: I1cdc4cc88142bf7a2ad9ab7b8f518453482d2b86
CRs-Fixed: 2592023
2020-01-01 20:03:59 -08:00
Chaoli Zhou
dd26bd904c qcacld-3.0: Add one flag for IPA_DISABLE_OVERRIDE
Add one new feature flag for allowing host to disable
IPA from the initialization phase.

Change-Id: If5e842747e7867b6f55fca7715ab3034fef2adc9
2019-12-29 21:05:03 -08:00
Paul Zhang
2236ab76df qcacld-3.0: use debugfs to show ini configs
Create the debugfs interface to show the ini configs.
Usage: cat /sys/kernel/debug/wlan/ini_config

Change-Id: I2c6aeeaae6d79739bb8ab82740e8be678c18fd89
CRs-Fixed: 2572142
2019-12-27 05:17:55 -08:00
bings
eb28e19903 qcacld-3.0: Modify dfs phyerror pulse dur to increase radar detection rate
When radar is injected at +/-30MHz separation from center frequency
in VHT 80MHz mode incorrect pulse duration is reported in the radar
summary reports and lead to decreased radar probablity detection.

Fix the issue by capturing pulses with such characteristics and
modify them to fit within the valid phyerror pulse duration range.

Change-Id: Ic6314a372d6909448fbe4eb694c41736d1719712
CRs-Fixed: 2577632
2019-12-18 01:21:45 -08:00
Rakesh Pillai
a641f069ec qcacld-3.0: Enable config HAL_DISABLE_NON_BA_2K_JUMP_ERROR
Enable the config HAL_DISABLE_NON_BA_2K_JUMP_ERROR to
disable the 2k jump error detection in case of NON-BA.

CRs-Fixed: 2583130
Change-Id: I7eec5bc8ab2eddc4ba4eba4df4120112ad379bf0
2019-12-12 14:52:02 -08:00
Will Huang
136ca8d298 qcacld-3.0: Adjust tx retries stats on some platforms
On some platforms with TQM, target don't know packet number of
successfully transmitted after more than one retransmission attempt,
and after TQM retry, host data path will be notified.

Adjust tx retries stats number from data path, and indicate to upper
layer when query by wlan_hdd_cfg80211_get_station() on these platforms,
other platforms keep tx retries from wmi vdev stats.

Change-Id: Ie4b9a9f3b9241a59452e3f21f68757f3638b1a19
CRs-Fixed: 2574368
2019-12-06 07:15:37 -08:00
Paul Zhang
faa929c2ce qcacld-3.0: Add support for timer based to capture tsf
Add configuration CONFIG_WLAN_SYNC_TSF_TIMER and macro
WLAN_FEATURE_TSF_TIMER_SYNC to capture and get the tsf
from firmware.

Change-Id: I62298791cbafed84f1d23f1a2ecb5c2835dcd137
CRs-Fixed: 2564860
2019-12-05 23:54:07 -08:00
Arun Kumar Khandavalli
2f865fdceb qcacld-3.0: Move to the psoc wakelock from vdev wakelock
Wakelock is system level lock not required to be taken
for every vdev, Hence move the wakelock to the psoc hirerachy.

Change-Id: I7b3145a1349c0028db2888c2816948d1d48714d1
CRs-Fixed: 2574498
2019-12-05 23:53:26 -08:00
Arun Kumar Khandavalli
7b6bee792a qcacld-3.0: move to the psoc mlme timers
Move the vdev response timer from the vdev object structure
to the psoc mlme structure.

Change-Id: I1df253331ddbd5538066ee93bc3e45b703057818
CRs-Fixed: 2563383
2019-12-05 23:53:10 -08:00