Commit Graph

6977 Commitit

Tekijä SHA1 Viesti Päivämäärä
Tushnim Bhattacharyya
21169b7e07 qcacmn: Reduce log level for stats message
Reduce log level from error to debug because a stats event can be
received unsolicited.

Change-Id: I11f3800594c6d623e72a214d832caa29666565a8
CRs-Fixed: 2466944
2019-06-11 09:51:00 -07:00
Aditya Sathish
fa7c2ea97e qcacmn: Add 165MHz support to wmi_host_channel_width
Add 165MHz support to wmi_host_channel_width to keep in accordance
with the wmi_channel_width structure in wmi_unified.h

Change-Id: Ib8aea0bc725a1c43b8fb7510cf86da4633143f69
CRs-Fixed: 2463171
2019-06-10 09:15:52 -07:00
Vevek Venkatesan
f48333d03b qcacmn: Remove WCSS_VERSION macros used inside hif
Remove WCSS_VERSION macros which were used for emulation inside
HIF in cmn driver.

Change-Id: I3e7ea5fb795e0cb9dd8c2bc718d8b523e442109d
2019-06-10 09:15:48 -07:00
Amir Patel
70f3c3001b qcacmn: Update Access category stats only for data TIDs
Currently AC stats are getting updated for data tid as
well as non-data tid. Add check to update stats only for
data tids

CRs-Fixed: 2455781
Change-Id: I69d7a11f0101a5c3c6c7e5b0df3e190437990188
2019-06-10 07:28:19 -07:00
Surya Prakash Raajen
b5ff47a32a qcacmn: Clean up of CONFIG_MCL and memory optimisation
Clean up of CONFIG_MCL and optimise memory of peer_assoc_param
structure by use of bit fields instead of bool type

Change-Id: I4b06af69b7fd9af981a250c881d163ddb1f68fa7
CRs-Fixed: 2450763
2019-06-10 07:28:15 -07:00
Amir Patel
f0fa2f5beb qcacmn: Compute client inactive time from last one second tx/rx activity
If client is having non-zero tx/rx packets in last one second,
reset inactive time to zero, else increment inactive time.

Change-Id: Ie25fb43adec252e93ebc1bb1a7aa0fa207e7af1e
2019-06-10 04:11:34 -07:00
jiad
9a1368c4ca qcacmn: Map REO reinject packets to IPA SMMU domain
SMMU fault is seen in REO reinject path since skb buffer
is not mapped to IPA SMMU domain. Thus map skb buffer
to IPA domain in REO reinject path.

Change-Id: I293353bfce961324af6c6372611e8a57cc13f347
CRs-Fixed: 2463376
2019-06-10 04:11:30 -07:00
lifeng
12ed18959c qcacmn: Support to issue legacy d0wow disable wmi command
Support to issue legacy d0wow disable wmi command in resume.

Change-Id: I7bdf979f5b268112b7f40ae32ca2f0a5c61125bf
CRs-fixed: 2462274
2019-06-10 02:37:47 -07:00
Keyur Parekh
b8149a540c qcacmn: Fix for Not sending Deauth to non-authed STA
If any non authed clients send data packets then
AP should send Deauth Frames to STA. In Current code
we are finding VAP from pdev. And if MAC address are
same for VAPs on both radios then pdev will be wrong.
Because of that VDEV id was coming for non active VAP
and deauth frames were not going out of AP.

Change-Id: Ia28ea4143cec9c876313211962ab98b0e4028ee8
2019-06-10 02:37:43 -07:00
Jeevan Kukkalli
e454174cf6 qcacmn: Set osif priv to NULL when vdev comp object create fails
In the normal execution osif priv is freed when the object manager
is freed. Whenever there is a error w.r.t to creation of vdev,
osifpriv is deleted as part of vdev destroy. When this error
propagated to caller. Caller tries to again free the osif_priv
in the error path.

Hence set osif priv to NULL in error case to prevent any double
free by caller.

Change-Id: Iaa074ad39aa473e99ab2fd7b14194422f19c168d
CRs-Fixed: 2467327
2019-06-09 02:57:10 -07:00
Balamurugan Mahalingam
6a2601a26c qcacmn: Use qca8074v2 hal source files for qca6018
qca6018 and qca8072v2 uses the same WCSS block and the source
files of qca8074v2 shall be used for qca6018 as well

This will also ensure all fixes for qca8074v2 gets auto
propagated to qca6018 as well.

Change-Id: I2ead316c7ed16b6ee315bda05ce82d268ba04bbb
2019-06-08 12:30:40 -07:00
Edayilliam Jayadev
14f9bd4194 qcacmn: Spectral control path changes
Add a new request structure for Specteral control path.
This structure packages all the commands and their
required inputs. Response to the commands are filled
in this structure by the command handlers in lower
layers.

CRs-Fixed: 2446466
Change-Id: I3113e8721382d284b4e03e0f8fdab1e68d5cfaa1
2019-06-08 06:29:44 -07:00
Edayilliam Jayadev
327257e9dd qcacmn: Public definitions for agile Spectral
Add agile Spectral capability, Spectral scan frequency parameter,
and Spectral mode.

CRs-Fixed: 2446467
Change-Id: I8e82469bb362228a029583ec4b7a29b2404e47df
2019-06-08 06:29:40 -07:00
Rakshith Suresh Patkar
49f2d779be qcacmn: Add support for iommu domain in place of mapping
Add support for iommu domain instead of mapping in
struct __qdf_device to support use of API
pld_smmu_get_domain in place of pld_smmu_get_mapping,
which is to be deprecated.

Change-Id: I89e9eea8ec7095a79493c0adca15c8034c21f79a
CRs-Fixed: 2464861
2019-06-08 06:29:36 -07:00
Yue Ma
e933efffd9 qcacmn: Use IRQF_NO_SUSPEND for WAKE MSI
WAKE MSI needs to be always enabled when system enters suspend so
that firmware can use it to wake up host for PCIe link up cases.
Hence use IRQF_NO_SUSPEND when request IRQ for WAKE MSI.

Change-Id: Ife6171b68319d963e32170c7ef73aef42643ccec
CRs-fixed: 2466873
2019-06-07 11:39:05 -07:00
Ajit Pal Singh
6bc40004ea qcacmn: Protect read of urb_cnt with spin lock
Protect read of device pipe urb count with spin lock.

Change-Id: Ia5d3860e4030155bbc78f47ddda79ae0573465ec
CRs-Fixed: 2451406
2019-06-07 07:05:55 -07:00
Amir Patel
5dc47f56dc qcacmn: Move multicast enhancement feature out of common code
Move WIN specific multicast enhancement feature API/data
structure outside common code

Change-Id: I35b10d61bd969a4ab6a864a55dd215049981c0c9
2019-06-07 03:23:56 -07:00
Shaakir Mohamed
1ae7d510cc qcacmn: Add enum pdev configuration param
Add enum pdev configuration param to
    - Set PD threshold value
    - Set enable/disable PD transmission

Change-Id: I76209a316552b63f72df9a812a5491517b7f1277
CRs-Fixed: 2429269
2019-06-06 15:48:15 -07:00
Shaakir Mohamed
419c9c159d qcacmn: Add WMI support to set OBSS PD threshold
Add wmi pdev param to wmi_unified_send_pdev_param command.

Change-Id: I443a5bbb32882156f5c6ecfe3a4c4be558f5eb38
CRs-Fixed: 2429269
2019-06-06 15:48:12 -07:00
Edayilliam Jayadev
db96269feb qcacmn: Add QCA vendor attributes for agile spectral scan
Add QCA vendor attributes to spectral scan related vendor commands to
support agile spectral scan.

CRs-Fixed: 2466336
Change-Id: I855389a1839d70478a55ff7bd386e196fa3988dd
2019-06-06 15:48:08 -07:00
Shashikala Prabhu
0bb59b225f qcacmn: Do not try to alloc memory again when qdf_nuf_alloc fails
Do not try to allocate the memory again when qdf_nbuf_alloc fails in
dp_rx_buffers_replenish().

Change-Id: Iafbe10021bf9f53d93a20d4c8e9543ca6f8aff8a
CRs-Fixed: 2463258
2019-06-06 13:02:25 -07:00
Balamurugan Mahalingam
ee6ca9bbc7 qcacmn: reset hw ring intr mask to skip WMAC2 irq
IPQ6018 platform has only two LMAC.
Disable registering interrupts for third hw ring.

Change-Id: I5a68e8c09ac53603cfa50c798b167af12bc3bbc4
2019-06-05 12:56:44 -07:00
Vignesh U
41808547d0 qcacmn: Fill the missing fields in China Radar Filter
rp_check_delta_peak and rp_sidx_spread fields of struct dfs_pulse
were missing for dfs_china_radars. Fill them with zeros and ignore
the value for China Radar Table alone.

In future, after thorough experimentation the missing fields will
be filled.

Change-Id: I7dfc3756c48269666fee3c474c9ee9a64745d0c0
CRs-Fixed: 2433582
2019-06-05 09:22:56 -07:00
Qun Zhang
8fe045d8aa qcacmn: Redefine FTM processing APIs
The passing parameter length isn't used in FTM processing APIs,
It's preferred to define as local variable insteading of passing
parameter.

Change-Id: Ia767643b51ffc780258e1d2fd0cd6a8a9e222ae2
CRs-fixed: 2464759
2019-06-04 22:46:04 -07:00
Santosh Anbu
73606f0528 qcacmn: Fix compilation warning for undefined macro
Add change to fix the compilation warning for CONFIG_MCL macro

Change-Id: Id4039a898484a275fc94aa313abd8432a245621a
CRs-Fixed: 2464058
2019-06-04 20:22:50 -07:00
Balaganapathy Palanisamy
6e4b4b8aaa qcacmn: Use uint16 for peer ID
Peer ID can be 16bit wide, use unsigned short to avoid
overflow.

Change-Id: I5139991fc83f38ec0ddb1d658bf5dd60b42f50eb
2019-06-04 20:22:46 -07:00
Ankit Kumar
2972a24c55 qcacmn: Ignore raw frame if is not of type Data
Non raw traffic gets enqueued to VAP in raw mode
and incorrect fc.type causes HW fault.
Lets proceed only if raw frame is of type data.

Change-Id: I9f0d608cd1b319feb9af642969b258aab813645f
CRs-Fixed: 2434391
2019-06-04 02:42:23 -07:00
Shaakir Mohamed
2e504085a3 qcacmn: Add WMI support for management related params
Add WMI commands:
	1) WMI_PDEV_PARAM_SET_MGMT_TTL
           Enable/Disable/Set MGMT_TTL in milliseconds.

	2) WMI_PDEV_PARAM_SET_PROBE_RESP_TTL
           Enable/Disable/Set PROBE_RESP_TTL in milliseconds.

        3) WMI_PDEV_PARAM_SET_MU_PPDU_DURATION
           Set global MU PPDU duration for DL (usec units)

	4) WMI_PDEV_PARAM_SET_TBTT_CTRL.
           Set TBTT CTRL value BITS 0 - 2
           (refer to WMI_TBTT_CTRL_CFG enum)

Change-Id: Iedda500fdb7bdedcc11fef31f0b29ad3f1812a43
CRs-Fixed: 2415745
2019-06-03 22:42:01 -07:00
Keyur Parekh
9ea9740948 qcacmn: Change print level to info
Change log level from Error to info to
avoid contineous prints on console

Change-Id: Ibe97993b2b2615b565d78874aaa0a95daec24c03
2019-06-03 19:02:51 -07:00
gaurank kathpalia
5f6876596b qcacmn: Cleanup the scan blacklist path
Currently with the support of Blacklist manager
component, all the blacklist, avoid list, RSSI-REJECT
list is maintained by the BLM, hence the filter logic
of the blacklist APs in the scan component is not
required.

Cleanup the blacklist BSSID APIs, and related functionality

Change-Id: Ic2f282d9ab7d6d30d87d9718a128cbd8446aff4c
CRs-Fixed: 2464191
2019-06-03 15:24:48 -07:00
Vignesh Mohan
5098495e56 qcacmn: Use cfreq to find if en302_502 is applicable
During radar table attach, the function to check if EN302_502
pattern is applicable requires actual center frequency of
the current operating channel as one of the inputs.
The caller of this function uses ieee80211 channel as the
argument in the function call.

Call function with actual center frequency instead of
ieee80211 channel.

Change-Id: I9e562863d73c53e4da046eede3e20d8ad9c8f98c
CRs-Fixed: 2454018
2019-06-03 15:24:45 -07:00
Vevek Venkatesan
9448b3ab90 qcacmn: add more debug logs in htc stop
Add more debug logs in HTC stop routine.

Change-Id: Ic192da68e7c420281db3066616f7768bb7ef4c5c
2019-06-03 12:27:58 -07:00
Sravan Kumar Kairam
ea9a12b9ce qcacmn: Cleanup CONFIG_MCL from qdf runtime apis
In the current implementation, qdf runtime apis invocation
is controlled by macro CONFIG_MCL. So replace the CONFIG_MCL
with the feature flag FEATURE_RUNTIME_PM.

Change-Id: If120c87aa9ed1a0b3e4629c6ee1df4922744656b
CRs-Fixed: 2463188
2019-06-03 12:27:55 -07:00
Aditya Sathish
ce928dcd67 qcacmn: Add support for chan RF info from service_ready_ext event
Channel RF info contains metrics that signify the throughput
availability of all the supported channels. This information
is sent in as discrete TLVs (per channel) as part of the WMI
extended service ready event.

Each TLV contains the frequency, bandwidth represented and
the actual channel metric.

Add support to read the above-mentioned TLVs from the extended
service ready event

Change-Id: If947e179c1ca41466997cc48840a8d36b6236780
CRs-Fixed: 2441921
2019-06-03 02:27:10 -07:00
Manjunathappa Prakash
85de96c698 qcacmn: Do not honor addba response Tx failure in roaming
Add callback to get the roaming status and do not honor addba
response Tx failure.

Change-Id: I148542fc3c629749fc08623f5041f6ca76fee298
CRs-Fixed: 2439721
2019-06-03 02:27:06 -07:00
Vignesh Mohan
a3a42b4675 qcacmn: Reinitialise channel bitmap to 0 for every RCSA
When RCSA is enabled, if Repeater AP detects radar, the
subchannels affected by radar are sent in addtoNOL IE to the
rootAP as a bitmap. Reinitialise this bitmap for every RCSA to
avoid misinterpretation in rootAP.

Change-Id: Ie6cee841f6f05cfdfc5060afd55b83a34730f31f
CRs-Fixed: 2450786
2019-06-03 00:55:03 -07:00
gaurank kathpalia
9f525cbddc qcacmn: Add blacklist manager related files
Add interface API to send reject ap list to FW,
also add the blacklist manager UMAC, and QDF component
for the same.

Change-Id: I826e537683441762043003d71dc2b79ceebebbcb
CRs-Fixed: 2460770
2019-06-02 01:51:48 -07:00
Aditya Sathish
8482a0c0fc qcacmn: Add support to update vdev stats through CDP
Add CDP support to update vdev stats from the higher
layers.

The CDP API takes a buffer which is then used to
update parts the cdp_vdev_stats structure depending
on the stats ID that is sent through the API.

This change adds support for vdev tx ingress stats
only. Extended support can be added as required
by adding a new stats ID.

Change-Id: I13d6fb946c8a3dbb0b499b7b026d83b080411d15
CRs-Fixed: 2384177
2019-06-01 05:09:23 -07:00
Jeff Johnson
796998f706 qcacmn: Remove obsolete g_qdf_trace_info infrastructure
The original version of the QDF trace functionality, introduced in
Change-Id I1d0cdfd8730a5c021aaa50b7dc8549d491d760b3, included a log
filtering mechanism inherited from the MCC code.  This mechanism used
an internal table g_qdf_trace_info along with the following APIs which
were used to configure and query the table:
- qdf_trace_set_level
- qdf_trace_set_module_trace_level
- qdf_trace_set_value
- qdf_trace_get_level

Subsequently, as part of the MCC/WIN QDF convergence project,
Change-Id I871c09189202d021405777db732e8821e7aaca7c ("qcacmn: Update
QDF Debug Framework") updated the QDF trace functionality, and as a
result the usage of the g_qdf_trace_info table was replaced.

Since the legacy infrastructure is no longer used, remove it.

Change-Id: I1bb0c0e03c1d1e3227550477779d5db1549ff570
CRs-Fixed: 2461904
2019-05-31 21:56:14 -07:00
Jinwei Chen
40de1db036 qcacmn: Fix RX defrag lock destroy without create issue
current Soc RX defrag lock create/destroy flow as below:
1. dp_soc_attach_wifi3
2. dp_pdev_attach_wifi3-->dp_soc_cmn_setup-->RX defrag lock create
3. dp_pdev_detach_wifi3 (no RX defrag lock detroy)
4. dp_soc_detach_wifi3 --->RX defrag lock destroy
here if step2 is skipped for some failure case, step4 will still
try to destroy RX defrag lock, panic happened.

add dp_soc_cmn_cleanup() function in step3, move RX defrag lock
destroy from step4 to step3 dp_pdev_detach_wifi3-->
dp_soc_cmn_cleanup, also move others like reo cmd lock, tx flow
control related lock.

Change-Id: Ic77ddf21e9cefc6d6b747aaad227c732fa2ae2c4
CRs-Fixed: 2447701
2019-05-31 14:50:45 -07:00
Om Prakash Tripathi
03db80d4e7 qcacmn: Fix deadlock in wlan_pdev_chan_match due to cross locking
wlan_pdev_chan_match used to take current vdev lock on current
iterating vdev and then on vdev for which channel set is triggered.
If two cores happed to try setting channel on two different vdevs,
cross locking may occur. Fix this by releasing one lock and then
acquiring other lock.

Change-Id: Ic1a6ca448c6d535e949102bc5a8a45971c8babd2
CRs-Fixed: 2460054
2019-05-31 07:40:25 -07:00
Rakesh Pillai
6c1cdf307a qcacmn: Fix memory leak in dp pdev attach failure case
Currently the failure in dp_rx_pdev_mon_attach, during
dp_pdev_attach_wifi3, does not cleanup the rx buffers
and hence that memory is leaked.

Follow the proper cleanup sequence to avoid leaking
the rx buffer memory.

CRs-Fixed: 2451982
Change-Id: Idef308e11c46fe3e7ae9199a6fcf05ca83210b6b
2019-05-31 07:40:22 -07:00
Varsha Mishra
1f4cfb6c58 qcacmn: Fix tx completion and rx stats per wbm/reo ring
Tx completion stats should be counted per wbm ring on tx completion
and not globally. Similarly, rx stats should be counter per reo ring.
Change-Id: I1e4af0d38b23e60de78ca03316861db08ff0811a
2019-05-31 07:40:18 -07:00
jiad
3c91fb553a qcacmn: Set default REO destination ring to SW4
For MDM platforms, set default REO destination
ring to SW4 for STA vdev, which is same as SAP vdev.

Note that RX hashing is still enabled for STA vdev.
Also REO destination are run-time remapped when IPA
automony is enabled and disabled.

Change-Id: I49fa523673e7b736008679adec55821e198e8417
CRs-Fixed: 2456786
2019-05-31 02:29:59 -07:00
Karunakar Dasineni
acc8b565b3 qcacmn: Protocol tag support in lite rx monitor
Add protocol tagging support in lite rx monitor mode.

Change-Id: I1966fc4f54e1f4a1486162a88853f68f7644a766
CRs-Fixed: 2448517
2019-05-30 19:29:52 -07:00
Yue Ma
ac6b275768 qcacmn: Record caller and timestamp for pm_runtime_mark_last_busy
pm_runtime_mark_last_busy will extend the timer for runtime suspend.
Recording caller and timestamp can help to debug who may prevent
runtime PM suspend.

Change-Id: I4848a2558197e0fc9b7300421a5a1993817333e4
CRs-fixed: 2457803
2019-05-30 19:29:48 -07:00
Yue Ma
2bdc2baea6 qcacmn: Request runtime PM resume after receiving WAKE MSI
For PCIe DRV (L1SS sleep) suspend, firmware will trigger a WAKE MSI
to wake up host so that request runtime PM resume for this case.

Change-Id: I959d3b1053b7aef5fe80889553958cf9394c8c38
CRs-fixed: 2450284
2019-05-30 19:29:45 -07:00
Vignesh U
94395f626b qcacmn: Add regulatory rx_ops for setting DFS channels availability
Add regulatory rx_ops for setting DFS channels availability to be
called from Offload layer.

Change-Id: I15cec0f119baf5668052618dc3a2552470d1f14f
CRs-Fixed: 2384202
2019-05-30 19:29:42 -07:00
Edayilliam Jayadev
95477ba01c qcacmn: remove CONFIG_WIN from Spectral
remove CONFIG_WIN from Spectral module.

CRs-Fixed: 2460180
Change-Id: I510e616e65518627f5088a34cf595387df8223a0
2019-05-30 00:30:07 -07:00
Varsha Mishra
27c5bd3193 qcacmn: Handle tx_sniffer pakcets
Send tx_sniffer to firmware and handle ppdu completions accordingly.

Change-Id: Id19a8cba4fdcad88bca6ade8c30a587c2da26d19
2019-05-29 16:47:01 -07:00