コミットグラフ

7552 コミット

作成者 SHA1 メッセージ 日付
Sourav Mohapatra
20bc724ca1 qcacmn: Add qdf wrapper for hash_for_each_safe
Add qdf wrapper API for hash_for_each_safe which iterates over a
hashtable safe against removal of hash entry

Change-Id: I89d8b6520a4bee583d44a771b4359ed287d0c2fa
CRs-Fixed: 2528484
2019-10-15 00:49:24 -07:00
Vivek
4ad877f928 qcacmn: Print vdev, pdev and psoc info before being destroyed
Add debug code to print the vdev, pdev and psoc info before getting
destroyed. This will help in cases where we dont get crash dumps
for panics and we need to look up few important data, which
can be done by enable object manager debug.

Change-Id: Iab1895d348ccf225ee6390abef26b76936fbe560
CRs-Fixed: 2528290
2019-10-14 20:39:24 -07:00
Tushnim Bhattacharyya
d0221258e5 qcacmn: Reduce log level in 6Ghz regulatory API
Reduce log level in reg_is_6ghz_psc_chan_freq.

Change-Id: If451c702cbbf7ef559bd486ac8dbd6095a74ea58
CRs-Fixed: 2544230
2019-10-14 15:56:22 -07:00
Jinwei Chen
a3e587120b qcacmn: flush pending vdevs and peers when do pdev deinit
Flush all the pending vdevs and peers when do pdev deinit

Change-Id: Id99ca5394bc96a07b75a44847dbc1c7681355265
CRs-Fixed: 2532199
2019-10-14 05:47:56 -07:00
Rakesh Pillai
ec9faaa73e qcacmn: Set interrupt mode during soc attach
Currently the interrupt mode is set as a part of
interrupt attach. The interrupt mode is needed for
pdev attach and hence it is decoupled from the interrupt
attach, setting the interrupt mode during soc attach.

Set the correct interrupt mode during soc attach.

CRs-Fixed: 2500015
Change-Id: I68496bed68cac5a2a2bd19adf2377bae7eb8783c
2019-10-14 05:47:50 -07:00
Sravan Kumar Kairam
aedfbffdfd qcacmn: Add qdf abstraction for ipa uc bw monitor
Add qdf abstraction for ipa uc bandwidth monitor for
wlan client.

Change-Id: I64718f118dd4982b060c72e2a2e7bd3e317bdb73
CRs-Fixed: 2526548
2019-10-14 05:47:45 -07:00
Sravan Kumar Kairam
3a37692ec1 qcacmn: Add qdf abstraction for ipa wdi stats api
Add qdf abstraction for ipa wlan wdi stats api.

Change-Id: If325950f7151199cf1f720ac0da05274bb307786
CRs-Fixed: 2517709
2019-10-14 05:47:41 -07:00
Sravan Kumar Kairam
78b01a1e1b qcacmn: Flush srng tp and hp only for flush event
Currently after runtime resume all SW2TCL data and reo cmd
srng rings hp and tp value are flushed. In case of IPA
offload case SW2TCL3 righ hp value will be updated by IPA
and not by host. In case of runtime pm enable host is
setting the value to zero as part of runtime resume which
results in incorrect hp value of SW2TCL3. As part of this
change set flush event for rings which are accessed by host
during link down state and after runtime resume flush the
rings for which flush event is set.

Change-Id: I5c9afa708277cf3a6e6d5ef99447bc21f88cfdcf
CRs-Fixed: 2514621
2019-10-12 22:16:04 -07:00
Rajeev Kumar Sirasanagandla
816b503c44 qcacmn: Ignore regulatory offload indication from FW
Based on the ini "ignore_fw_reg_offload_ind" ignore regulatory
offload indicatin from fw.

Change-Id: Ia95b5bdda6ee1fcc2b07f28f997a7c80afcbc32b
CRs-Fixed: 2533001
2019-10-12 19:03:56 -07:00
Abhishek Singh
f3f9797014 qcacmn: Fix enum wlan_phymode to include proper phymode value
Few phymode are missing from enum wlan_phymode and many are not
valid phymode, e.g for 5ghz 40minus and 40plus are not valid.

So add the missing enums and remove invalid enums from enum
wlan_phymode.

Change-Id: Id6a1fb4cf0d629cc410bd262a048b5050d05ed5d
CRs-fixed: 2505422
2019-10-12 13:10:32 -07:00
Aditya Sathish
fbf9ece75d qcacmn: Rename TX_DECAP_TYPE to TX_ENCAP_TYPE
The macros attributing the Tx encap type have been erroneously
named as TX decap.

Rename all occurences of TX_DECAP_* to TX_ENCAP_*. Also add support
to send WMI vdev params for tx_encap and rx_decap values.

CRs-Fixed: 2533710
Change-Id: Id6ef2955868010b264e76d2a416d22d30d2acedc
2019-10-10 22:59:18 -07:00
Venkata Sharath Chandra Manchala
34a2ef695d qcacmn: Add support to copy buffers posted to CE SRC
Enable data field in hif_ce_desc_event structure
and copy the buffer posted to CE SRC ring. This is
done to validate the contents of the buffer.

Change-Id: I6745422f6c3a8ac013bb35032056f041d2216d89
CRs-Fixed: 2540707
2019-10-10 18:04:39 -07:00
Rakesh Pillai
01b9b680fc qcacmn: Avoid REO destination change when IPA enabled in P2P mode
In cases where one of the interfaces is a P2P-GO and
IPA has been enabled, the P2P connection establishment
fails.

When IPA is enabled, the REO destination is changed to REO4
which can be reaped only by IPA module. But in case of P2P-GO
interface in operation, this change in configuration causes
all the RX packets to be stalled due to incorrect REO configuration.

Hence, to avoid this case, do not change the REO dest config
when the interface subtype is P2P.

CRs-Fixed: 2498315
Change-Id: Ie9f01c3b353c7c0503e1541d6c79c2f47c9782f3
2019-10-10 13:43:37 -07:00
Jinwei Chen
1c76e897e3 qcacmn: refine dp_vdev_flush_peers logic
Refine dp_vdev_flush_peers,
a. wrap ast entry flushing into dp_peer_flush_ast_entry()
b. if unmap_only is true, logic keep same.
c. if unmap_only is false, also use __dp_peer_find_by_id
instead of dp_peer_find_by_id to get peer object.
only if peer flag valid is true, then call dp_peer_delete_wifi3
to avoid peer member invalid accessing.

Change-Id: I7a6d53e124ff369305b91050731901ff0a43d6af
CRs-Fixed: 2534274
2019-10-10 03:17:47 -07:00
Vignesh Mohan
b07c34cc2d qcacmn: Remove redundant ETSI preCAC APIs
As part of the ETSI preCAC feature, every 20MHz channel that is CACed
and not in NOL is maintained in a list which is then checked during every
channel switch for CAC reuse (avoiding CAC).

With the introduction of preCAC list(Binary Search Forest) for
20, 40 and 80MHz channels which also includes the current channel CAC
information, the ETSI preCAC list has become redundant.

Remove all APIs and changes that support the redundant ETSI preCAC list.

Change-Id: Ie71e2fda3f6f62ec6ea312c3bf0bdfc53a7df003
CRs-Fixed: 2484864
2019-10-10 00:51:50 -07:00
Venkata Sharath Chandra Manchala
6f852506bf qcacmn: Use PKTLOG_TYPE_RX_STATBUF macro
Use macro PKTLOG_TYPE_RX_STATBUF for indicating
received Rx Full pktlog messages.

Change-Id: Ia7e69bc385fd7b1367c191f657ace8327388cf03
CRs-Fixed: 2529520
2019-10-09 19:10:57 -07:00
Nirav Shah
c806725022 qcacmn: Do not print periodic flow control stats
Do not print periodic flow control stats for lithium
data path.

Change-Id: Idc05417c23b4c5a3916a2a9fc433960e48d469fe
CRs-Fixed: 2535644
2019-10-09 19:10:53 -07:00
Amir Patel
318bcb8ec3 qcacmn: Fix tx retries and tx failed stats
Update tx retries count even when ACK_BA_STATUS
tlv is not received

CRs-Fixed: 2533830
Change-Id: I99ea57852ae45a349ee088a13d35f62ef6091971
2019-10-09 16:17:10 -07:00
Karunakar Dasineni
fc8fac5233 qcacmn: Fix non-QOS seq number in PPDU stats
Sequence number should be obtained from user_compln_ack_ba_stats_tlv
in HTT PPDU stats messages since enq_bitmap TLVs are not sent for
non-QOS frames.

Change-Id: I2d5ddb8c7397953081df94f77f0bd8a30a581b11
2019-10-09 16:17:05 -07:00
Liangwei Dong
dcab2f8924 qcacmn: Set DFS channel to radar component
vdev_mgr_start_param_update will handle STA and
AP mode in vdev start. So, we need to check and
only set DFS AP's channel to Radar component by
tgt_dfs_set_current_channel. Thist will avoid
seting incorrect channel to Radar component
in STA+AP(DFS) or AP(2.4G)+AP(5G DFS) concurrency
case.

Change-Id: If60e1630c5288884d01242a20d68b2cd315942ca
CRs-Fixed: 2531766
2019-10-09 14:45:20 -07:00
Linux Build Service Account
e78475c89f Merge "qcacmn: CDP interface to deliver Tx mgmt frames" 2019-10-08 12:37:25 -07:00
Linux Build Service Account
340a69cc06 Merge "qcacmn: Initialize __log_window_end_ticks variable explicitly" 2019-10-08 00:38:54 -07:00
Karunakar Dasineni
13abde98f1 qcacmn: CDP interface to deliver Tx mgmt frames
Add CDP interface to pass on host generated mgmt
frames to DP, to be included in Tx capture.

Change-Id: Ic1a63c137ca546b0ad2b94d92fd5d489e9512a6f
2019-10-07 16:38:23 -07:00
Amar Singhal
db7271fbd4 qcacmn: Remove default pdev id from regulatory component
Default pdev id is redundant now. Therefore remove def_pdev_id from
the regulatory component.

Change-Id: I383f904e373df0e7d02fb0e2d00141fcacebe82a
CRs-Fixed: 2505161
2019-10-07 14:02:23 -07:00
Amar Singhal
28374e3ff1 qcacmn: Mark SRD channels conditionally passive
--Treat SRD channels as PASSIVE if INI enable_srd_chan_in_master_mode
is 0. Add API reg_modify_chan_list_for_srd_channels for this purpose.
Mark channels as PASSIVE in both driver and kernel. Do not add this API
for WIN use-cases.
--Make default value of enable_srd_chan_in_master_mode as 1. WIN needs
default value as 1. MCC can over-ride with INI.
--When pdev is added, compute pdev current channel list only after pdev
private object is attached to the pdev. Computation of current channel
list accesses the private object via the pdev.
--When a pdev is added and deleted, set and reset def_pdev_id
correctly. Currently reset is not being done when pdev is destroyed.
--When programming current country to the firmware, do not use
def_pdev_id, since def_pdev_id can be -1. Ask for response for all phys.
Program pending reply for every phy, since the reg-domain for all phys
need to be re-programmed.
--Remove reg_reset_reg_rules when pdev is processed, after addition of
master channel list. The psoc copy of master reg rules need not be
cleaned up.

Change-Id: I5eaa457b8819d7a22d2e592d1b79fff15b364f40
CRs-Fixed: 2491045
2019-10-07 12:37:18 -07:00
Edayilliam Jayadev
454c6d7be3 qcacmn: Restrict Agile Spectral start scan in SBS mode
Ensure that at a time only one Agile Spectral scan is
happening across all the 5G pdevs in SBS mode.

CRs-Fixed: 2517522
Change-Id: If31a4451b82ce1d7d8a46bc604ca91bf4b6dac29
2019-10-06 23:54:53 -07:00
Prathyusha Guduri
bd4fd7a5d2 qcacmn: Fix duplicate AST creation
Only when pdev_id matches, duplicate ast_entry creation is rejected

Change-Id: If29835a4babd4be26a0fdafbef047a79255b2e25
2019-10-06 19:30:26 -07:00
Amar Singhal
56246e9faa qcacmn: Send multiple WMI_SCAN_CHAN_LIST_CMDID messages if required
If more than MAX_NUM_CHAN_PER_WMI_CMD are present, wmi buffer size can
exceed the maximum allocated buffer size. So iterate over the channel
list, and send multiple messages till channel list is empty. Also check
if 6 ghz channel is a PSC channel and mark channel flag accordingly.

Change-Id: I977a2d220c750cec1f261377b3838360bd8c0df3
CRs-Fixed: 2522763
2019-10-06 18:13:07 -07:00
Chaithanya Garrepalli
d3c58a3d99 qcacmn: flush the invalid peer nbuf list in case list length is > 10
In invalid peer path if the ppdu nbuf has more than 10 nbufs
flush the list

Change-Id: I285cc9f78cafe669661860f7aa2f4542526bc412
CRs-fixed: 2453326
2019-10-06 13:46:55 -07:00
Hariharan Basuthkar
868bcbec0c qcacmn: Rectify APIs within the Regulatory component
Rectify three issues in the Regulatory APIs as follows:

1) Within the API reg_update_nol_ch_for_freq, replace the call of
reg_get_chan_enum with reg_get_chan_enum_for_freq, as
reg_update_nol_ch_for_freq is a frequency based API.

2) Change the return type of wlan_reg_get_channel_reg_power_for_freq
to uint8_t and change the datatype of its parameter, freq, from uint32_t
to uint16_t.

3) Place the API wlan_reg_chan_to_freq, under the macro
CONFIG_CHAN_NUM_API, as it uses IEEE channel number as a parameter.

Change-Id: I1bc1d767d34cd97ca971bd7e12b685a55fb9a494
CRs-Fixed: 2531183
2019-10-05 19:10:52 -07:00
Kiran Venkatappa
744c36176e qcacmn: Add support to send number of tx_desc limit to FW
Add support to send number of tx_desc limit to FW

Change-Id: I0465b0ca0579869d3278f8e55dd8957b07e39ac7
CRs-Fixed: 2530471
2019-10-05 19:10:47 -07:00
Amar Singhal
0c46139fee qcacmn: Add new min and max freq APIs
Add new APIs that return minimum and maximum channel frequency,
supported by regulatory domain.

Change-Id: I878bd6f4ff8fdbe28661769033c37a000aebf582
CRs-Fixed: 2538143
2019-10-05 12:44:58 -07:00
Shiva Sankar Gajula
8e829748d9 qcacmn: Handiling FT action frames in driver
STA is unable to do roam from one AP to another AP due
to not handiling FT action frames that are received from
the STA.
So, Added changes to handle FT action frames without
dropping the FT action frames in driver.

Change-Id: I6461fe84ffb29b33636b6831e6ed046fae22e19e
2019-10-05 05:40:28 -07:00
Ruben Columbus
814e6cbd83 qcacmn: htt backpressure prints enhancement
keep timestamp for prints and dont print
backpressure messages in an interval of 2 seconds

Change-Id: I00aae02df93ed301e496aa6abc5f071a759f7640
2019-10-04 15:37:05 -07:00
Vignesh U
9ecadbf280 qcacmn: revert: Fix CAC during vdev restart
With the change I7d4d4fdf4a6defac8fc436b63495b51c272669af the CAC is
restarted for both VAP down-up case and VAP restart case in the same
channel. For the VAP restart in the same channel CAC should not be
restarted.

Restarting CAC for VAP down-up is handled in
I456bbee34a722f3d18c781cbcc87585cbeee5d54.

Revert I7d4d4fdf4a6defac8fc436b63495b51c272669af without merge
conflicts.

Change-Id: Icbde60be9515a7a31e06ba74158ca2126f58520c
CRs-Fixed: 2539623
2019-10-04 04:44:57 -07:00
Edayilliam Jayadev
faeec1bf8d qcacmn: Add separate aSpectral cap for 160, 80p80 and non 160 mode
Some chip sets don't have the capability to run agile Spectral with
160/80p80 modes. For this add separate agile Spectral capability for
160 MHz, 80p80 and non 160 MHz modes.

CRs-Fixed: 2536823
Change-Id: Ic5b2335e3183688b7a007cf0380f0c3644e50219
2019-10-04 00:37:34 -07:00
Hariharan Basuthkar
06cb75e445 qcacmn: Make band related changes in the regulatory component
Make band related changes given below:

1. Add the API wlan_reg_chan_band_to_freq, that takes IEEE Channel Number
   and bands as input and returns the Channel center frequency.
2. Add the API wlan_reg_freq_to_band, that takes frequency as input and
   returns the corresponding band.

Change-Id: I8554f6a9c24e7508e8a551c5f318b643741f13c8
CRs-Fixed: 2523257
2019-10-03 19:23:22 -07:00
Amar Singhal
6698513b8d qcacmn: Make freq to chan and vice versa conversion more generic
Add conversion from frequency to channel, for frequency falling
within two consecutive supported channels. Use the master
channel list of the pdev for the same. Add new API
wlan_reg_legacy_chan_to_freq to convert legacy 2G and 5G channel
number to frequency. Existing API wlan_reg_chan_to_freq would be
slowly deprecated.

Change-Id: Id7e1939b9e05b78c17751d13bb0b02a891f999ad
CRs-Fixed: 2526886
2019-10-03 19:23:18 -07:00
Saket Jha
d8d9d99f94 Revert "qcacmn: Enable EAPOL/DHCP message tracing in Wifi driver"
This reverts commit I010c9295fd6ca42a950f84f0d7a19b00d8b0c0da due to
crash caused by excessive logging.

Change-Id: I38701eb5be9a25f38e4cb5738824b635a2b0442c
CRs-Fixed: 2535471
2019-10-03 12:34:48 -07:00
Edayilliam Jayadev
b38cb7a8f0 qcacmn: validate user given agile center frequency
Validate user provided agile center frequency and throw
an error if it is invalid.

CRs-Fixed: 2529280
Change-Id: Ibb43dda98d29d8bc8360d1a204c67b64ca987ca6
2019-10-03 12:34:44 -07:00
Naga
542fe34d96 qcacmn: Create separate wmi file for vdev mgr tlv ops
TLV and non-TLV definitions of vdev mgr ops are in component_dev,
they are carved out to a separate file in cmn_dev/wmi for adapting
target_if/vdev mgr component, they are made part of same file
which conflicts tlv design. Create separate file for tlv ops
to definitions and enable respective pointers.

Change-Id: I1e67c7c59adee61b4eb46acb8f51a7a6c385f056
CRs-Fixed: 2517009
2019-10-03 05:08:38 -07:00
Nisha Menon
5acef23430 qcacmn: Assert due to excessive logs
Exceeded 500 logs per second in target_if_get_dbr_data().
Move the info level logs to debug level in direct buf rx as
heavy logging is triggering an assert.

Change-Id: I725bd50f83dc65f4e5378c4a882829a0ad1b7893
CRs-Fixed: 2534298
2019-10-03 00:21:04 -07:00
Mohit Khanna
c6e059aca0 qcacmn: IPA WAR for WB2SW release ring
WAR for IPA_OFFLOAD case. In IPA_OFFLOAD case, host provides buffers in
the WBM2SW release ring designated for IPA for TX. So this ring is used
to release TX completions into, by WBM, and also by IPA to pick up
buffers from, for TX.

In some cases, its observed that when  WBM tries to release a buffer
into this ring, however the ring is full. This causes back pressure,
resulting in a FW crash.

By leaving some entries with no buffers attached, WBM will be able to
write to the ring, and from dumps we can figure out the buffer which is
causing this issue.

Change-Id: Ia0450d36dec643f2631fea13cb0b8facba7425b8
CRs-Fixed: 2535170
2019-10-02 20:01:31 -07:00
Sravan Kumar Kairam
220755895d qcacmn: Free tx desc pool at dp flow control deinit
Currently if tx flow control is enabled allocated tx desc pools
are deleted only in tx flow pool unmap handler from control path.
So cases in which control path unable to handle pool unmap handler
leads to tx desc pool resources memory leak. To handle this free
allocated all tx desc pool resources as part of dp flow control
deinit which is done as part of soc tx detach.

Change-Id: Ib750c2ce39baf7fc5aae5f0c8cb62bc848d2f864
CRs-Fixed: 2511515
2019-10-02 02:48:25 -07:00
Sravan Goud
184a4d99d9 qcacmn: Fix double unmap issue for rx frag packets
Currently as part of rx frag packets handling, nbuf is unmapped,
but the corresponding rx desc unmapped bit is not set. The fragment
is stored until all the frags are received. Only after all the frags
are received defrag packet is reinjected back to reo. While in between
if driver is unloaded, as part of unload rx desc buffer pool is freed.
During buffer free corresponding rx desc unmapped bit is checked and
if the bit is not set buffer is unampped and then freed. This leads
of double unmap in case of the stored frag list buffers. As part of
this change set the unmapped bit during nbuf unmap.

Change-Id: I24cf1e88f3102bc985f95d2dc325509308a7bef9
CRs-Fixed: 2532302
2019-10-02 01:23:14 -07:00
Ashish Kumar Dhanotiya
39c6d8bd13 qcacmn: Use freq in cfg80211_scan instead of channel
Currently in the scan path frequencies received
in the scan request are getting converted to channel
number and again converted to frequncies.

For 6GHz support in the scan path do not convert
frequency to channel number, instead use frequncies
received in scan request to send the scan command to
FW, remove the dummy conversion from chan to freq and
freq to chan.

Change-Id: Ieab7dded0678fac54796bba3b1b210c910f6173e
CRs-fixed: 2534897
2019-10-01 06:33:04 -07:00
Hangtian Zhu
62547ed826 qcacmn: Enable configurable dfs_pri_multiplier
Enable configurable dfs_pri_multiplier. The ETSI typ2 type3 radar
detection ratio is lower than expected(>80%) while channel loading is
high(>30%). The host improvement for this are:
	1. Add configurable dfs_pri_multiplier, controlled by
	   DFS_PRI_MULTIPLIER. Default value 2, min 1, max 10.
	2. Lower adrastea ETSI type 2/3/4 radar filter rssi_threshold,
	   controlled by DFS_OVERRIDE_RF_THRESHOLD, dfs log shows that
	   QCS405 target report RSSI range [18, 45] while radar power
	   is 3 dbm. By using default rssi_threshold 24 will reject
	   many radar pulses, which leads to low detection ratio.
	3. Calculate deltapri for each searchpri based on dfs_pri_multiplier
	   in dfs_count_the_other_delay_elements(), check deltapri
	   between [1, dfs_pri_multiplier] * refpri and searchpri, if
	   the primargin is desired, mark it as matched pulse.
	4. Pick lowpri as refpri for the radar filter with
	   rf_ignore_pri_window equals to 0 while DFS_PRI_MULTIPLIER is
	   enabled. Observed original findref logic has some problems
	   which selects refpri is bigger than lowpri, which leads to
	   the lowpri pulses pri_match are set to 0, and in this case,
	   radar was not detected. Example for the issue, assume
	   rf->rf_pulseid 34 (ETSI type 2) has 7 pulses with pri:
	   1489, 2978, 2978, 2978, 1489, 2978, 1489 us in this case,
	   highscore is 4 (2978), scoreindex is 5, refpri is 2978, which
	   leads to: index 0, 4, 6 pulses with pri_match 0 in
	   dfs_count_the_other_delay_elements(). The fix is to select
	   lowpri as refpri(1489 in this case).

Change-Id: I1f3ca3298c9ab1f1e2651ad6b4a0a4810f83f8a1
CRs-Fixed: 2531811
2019-10-01 02:16:19 -07:00
Manjunathappa Prakash
31a575b99e qcacmn: Remove success log instead log on failure
Do not log when we succeed to find the vdev for vdev_id.
Instead log only on failure.

Change-Id: I292839af763a77c2c5e75124b24accbee222d58f
CRs-Fixed: 2501696
2019-09-30 17:35:46 -07:00
Gerrit - the friendly Code Review server
dd929c4d6b Merge changes into wlan-cmn.driver.lnx.2.0 2019-09-30 10:19:28 -07:00
Sravan Kumar Kairam
b96e5072de qcacmn: Add runtime pm apis to record last dp rx busy mark
Add runtime pm apis to record last busy mark set by data path
during dp rx process.

Currently for mcl in some scenerios runtime sync suspend is issued
which puts the link in low power state with out waiting for link
inactivity timeout. This leads to throughput degradation in case of
rx direction as in rx processing data path extends the timer by marking
last busy to avoid immediate runtime suspend. But runtime sync suspend
does not take in to account of the link idle timeout value before
suspending the link. So using this apis, before issuing runtime sync
suspend check the duration since last busy mark by data path rx process.
If the duration is less than run time delay just do runtime put.

Change-Id: I694ef6ddec8f11fed44bf3b9e5ae18ad93b6ec24
CRs-Fixed: 2512326
2019-09-30 03:18:14 -07:00