提交图

8146 次代码提交

作者 SHA1 备注 提交日期
Linux Build Service Account
2a5e76f0c6 Merge "qcacmn: Add firmware service support" 2020-01-31 15:35:41 -08:00
Linux Build Service Account
ec072c6d96 Merge "qcacmn: Add QCA vendor command to support thermal mitigation" 2020-01-31 15:35:40 -08:00
Sandeep Puligilla
c4b7f66569 qcacmn: Add firmware service support
Firmware advertises service capability bit
WMI_SERVICE_PEER_DELETE_NO_PEER_FLUSH_TIDS_CMD
when peer delete command takes care of flush
all tids functionality.

If this service bit is set advertised by FW
then host does not need to send the flush tid
command before sending the peer delete command.

Change-Id: Ic6632772eeebc7f1494f1dd5e9d533b2bc22e533
CRs-Fixed: 2609962
2020-01-31 14:35:32 -08:00
Pankaj Singh
1e0b32404c qcacmn: Add QCA vendor command to support thermal mitigation
Add a QCA vendor sub command QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD
to implement thermal mitigation. Different operations required to
implement this feature can be specified in
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_VALUE,
QCA_WLAN_VENDOR_ATTR_THERMAL_LEVEL.

Userspace requests the driver to enable/disable thermal mitigation
based on the thermal state of the device and wlan host performs the
required appropriate action. wlan host driver maps the thermal level
provided from userspace via vendor command 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: Idc9c87dcb4275122980713471544baa23e705a53
CRs-Fixed: 2610403
2020-01-31 12:46:13 -08:00
Linux Build Service Account
11dc79f5b7 Merge "qcacmn: Rectify fetching PDEV before creation" 2020-01-31 09:40:48 -08:00
Sourav Mohapatra
d6b3fee9b3 qcacmn: Rectify fetching PDEV before creation
In the change I0165f3bd4638280b45ad54391319806fba62e2fe, driver tries to
fetch the PDEV in init_deinit_handler before it is created in MCC. This
can cause driver init to fail.

Move the fetching of the PDEV to after the PDEV is created.

Change-Id: I028ac14da333084ce68f03f3d3771cdb6298933b
CRs-Fixed: 2611379
2020-01-31 08:38:48 -08:00
Abhishek Singh
1c46a20660 qcacmn: Optimize logs in serialization
Remove redundant logs and optimize the logs in serialization.

Change-Id: I7eaf252c8266ca1c60d213b0309ef217bc95ff33
CRs-Fixed: 2612823
2020-01-31 05:37:23 -08:00
Linux Build Service Account
9cf6099bec Merge "qcacmn: Replace 8074_VP with WIFI_EMULATION_3_0" 2020-01-31 05:37:08 -08:00
Linux Build Service Account
f91621de73 Merge "qcacmn: Send val of separate iface support for NAN INI to Fw" 2020-01-31 05:37:07 -08:00
Nandha Kishore Easwaran
b7c18849ae qcacmn: Replace 8074_VP with WIFI_EMULATION_3_0
Replace QCA_WIFI_QCA8074_VP with CONFIG_WIFI_EMULATION_WIFI_3_0
since VP platform is not being used anymore.
Most of the parameters present inside QCA_WIFI_QCA8074_VP are related
to emulation timeouts. Hence replacing it with a more meaningful flag.

Change-Id: I22a0e5803e765333947f1613b376dcc6bd25b5af
2020-01-31 02:34:19 -08:00
Abhinav Kumar
b59458c284 qcacmn: Send val of separate iface support for NAN INI to Fw
Update value of new ini for separate iface support for NAN
"nan_separate_iface_support" to fw through a command
WMI_INIT_CMDID.

Change-Id: I55830e0d16d86ee5a0bfa7d3e44c6309c0d3d54b
CRs-Fixed: 2612010
2020-01-31 00:57:35 -08:00
Alok Kumar
fef1078ed0 qcacmn: DP change to get buffer size from INI file
DP layer change to read the packet log buffer size
from INI file.

Change-Id: If307ad5abfd0360c3f39247ccc62abd32095303f
CRs-Fixed: 2611406
2020-01-30 23:24:11 -08:00
Alok Kumar
0265d7917a qcacmn: Add INI support for packet log buffer size
Add INI parameter "PacketLogBufSize" to populate
packet log buffer size.

Change-Id: Ic9b963a88a6f6d884d5fa3a63b4fed6768ba2fc4
CRs-Fixed: 2611409
2020-01-30 23:23:53 -08:00
Surabhi Vishnoi
61df09450e qcacmn: Add wmi interface changes for wlan time sync eventid
Add wmi event id's for ftm based wlan time sync feature.

CRs-Fixed: 2610092
Change-Id: Ifd7b10bbbe2b4c3f954233da55f318bef99fa13a
2020-01-30 23:23:33 -08:00
Linux Build Service Account
9468889cdf Merge "qcacmn: Handle roam stats event with neighbor report tlv alone" 2020-01-30 21:05:43 -08:00
Pragaspathi Thilagaraj
778e4b7163 qcacmn: Handle roam stats event with neighbor report tlv alone
Currently, the driver rejects the roam stats event if any of the
roam trigger or roam scan or roam results tlv is not present.
Now the firmware will send neighbor report immediately after the
neighbor report response is received from AP instead of buffering
it as done before.

So do not parse the roam trigger, roam scan, roam result tlv if
the tlv is not present. Add new flag in the tlv parsing structure
if the TLV is not present.

Change-Id: I366d8853f7f45dcdac6d4aa5c3a8a12a8b602a4f
CRs-Fixed: 2610377
2020-01-30 19:39:09 -08:00
Linux Build Service Account
665f64fe99 Merge "qcacmn: Set monitor mode interrupts" 2020-01-30 18:38:45 -08:00
Linux Build Service Account
52365b1c64 Merge "qcacmn: Revert "qcacmn: Add filters to the MKKN filter table"" 2020-01-30 18:38:45 -08:00
Alan Chen
898760633d qcacmn: Create new HIF function to handle PM no idle operations
Some areas in other components are directly calling the kernel api
functions to perform runtime PM no idle operations. Create a new HIF
function to handle runtime PM no idle operations.

Change-Id: I8328bc74ccc8e8acd35d7d73ec4cc21094b8f5b2
CRs-Fixed: 2607721
2020-01-30 15:13:53 -08:00
Nisha Menon
4f6336687c qcacmn: Add vdev callback null check in rxdma err processing
In the function that processes rxdma err frames add null check
before calling vdev callback function. If its valid then deliver
the skb to stack or free the skb.

Change-Id: I7c481eb8f702d9109c4a9f79db7e050ece6c3689
CRs-Fixed: 2607658
2020-01-30 11:15:55 -08:00
Surya Prakash Raajen
c10ffa0652 qcacmn: Run time enablement of CE tasklet debug
Add support for enbalement of CE_TASKET_DEBUG_ENABLE in
run time.

Change-Id: I0132c3b989b75e7d526680f1e5f73a716e9db54c
CRs-Fixed:: 2610811
2020-01-30 05:00:18 -08:00
Pankaj Singh
4b07f4beec qcacmn: Use active scan request for P2P Device mode
During scan request from framework wlan_cfg80211_scan gets
invoked. If the cfg80211_scan_request parameter has number
of ssids set to zero then driver will set the scan mode to
passive mode. This will result in fw doing passive scan
instead of active scan. Probe request will not be sent to
discover the peer. This will sometimes result in failure
to discover P2P GO peer.

Set the scan mode to active mode in scan request message to FW.

Change-Id: Ic28757cb69ec62e554ac8baccce17cac504a0bef
CRs-Fixed: 2606614
2020-01-30 03:27:05 -08:00
Pankaj Singh
a973835c45 qcacmn: 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: I5b455ae6483f3d5bf2fe708f40c32a55eb8b9bdb
CRs-Fixed: 2610404
2020-01-30 02:08:18 -08:00
Radha Krishna Simha Jiguru
64b4848aa0 qcacmn: Do cleanup related to peer_map_unmap_v2
AST entry delete logic has some conditional checks making code with respect
to HTT V1 and V2 messages making it tough to follow.

Change-Id: I229324446134b32021a956fb689e4726256fcc28
2020-01-29 23:02:57 -08:00
Shashikala Prabhu
03a9f5b19c qcacmn: Add framework to configure varying data/monitor buf size
Add a framework to configure varying buffer size for both data and monitor
buffers.
For example, with this framework, the user can configure 2K SKB for Data
buffers, monitor status rings, monitor descriptor rings, monitor
destination rings and 4K SKB for monitor buffers through compile time.

Change-Id: I212d04ff6907e71e9c80b69834aa07ecc6db4d2e
CRs-Fixed: 2604646
2020-01-29 18:08:33 -08:00
Vignesh U
23341d356d qcacmn: Revert "qcacmn: Add filters to the MKKN filter table"
This reverts the change
Icf3fecb5c6027ba827cac05dbd43a1a55463209b.

Change-Id: Icb31d211142b84a4fa5cf4f5af84a6a90585059e
CRs-Fixed: 2611421
2020-01-28 23:20:11 -08:00
Linux Build Service Account
b1261d4e0c Merge "qcacmn: fix the issue for block ack/ack for tx capture mode" 2020-01-28 19:39:18 -08:00
Linux Build Service Account
7f6a682ce8 Merge "qcacmn: Fix kernel panic in hif_ahb_configure_grp_irq" 2020-01-28 14:10:27 -08:00
Linux Build Service Account
2607e82127 Merge "qcacmn: API support for AST flow override" 2020-01-28 14:10:27 -08:00
Linux Build Service Account
7780d140a2 Merge "qcacmn: Add wmi config for AST flow override" 2020-01-28 14:10:27 -08:00
Venkateswara Swamy Bandaru
b3989495c7 qcacmn: Fix kernel panic in hif_ahb_configure_grp_irq
Move qal_vbus_get_irq out of irq locks as it can sleep
and cause kenel panic.

Change-Id: Id00e0cdc978fbd3889a39a48d8b757d8c3e0d754
CRs-Fixed: 2602900
2020-01-28 12:44:47 -08:00
Linux Build Service Account
952d18b487 Merge "qcacmn: Reap timer and batch count threshold values for CE dest" 2020-01-27 20:05:39 -08:00
Mainak Sen
d13ed3e9e1 qcacmn: API support for AST flow override
Lithium HW can parse each MSDU when packets are enqueued to transmit
classifier and each MSDU can get enqueued to different MSDU-Queue.
By default, there are 2 queues per TID – UDP and NON-UDP. Based on
the flow parsing, packets will be queued to either of them.
Enterprise customers uses RAW mode frames which transmit classifier
would not be able to identify L4 protocol for  UDP or NON-UDP queue
for encrypted frames.
Customer can also have different application based packets which needs
to be enqueued to differently prioritized queues. They can choose to
tag each MSDU based on application DPI and derive the flow priority
as below –
•	UDP
•	NON-UDP
•	HI-PRIO
•	LOW-PRIO
Customer needs API support from host which will provide an ast-index
based on a particular flow id given peer mac address. Based on the mac
address, host will find the associated peer and return the ast_index &
cache set number corresponding to the flow id from peer flow based ast
entry table. Customer will then program this ast-index and ast override
in transmit classifier CMD ring to enqueue MSDU to a specific
flow-queuein TQM.
Host API:
Input parameter – uint8_t *peer mac address, uint8_t flow id
Output – uint16_t ast_index
Change-Id: I79557c31532514ad5ec0c1848827a3e5cd91cdf2
2020-01-27 17:37:43 -08:00
Mainak Sen
394483b4a4 qcacmn: Add wmi config for AST flow override
Add wmi configuration to send AST flow override
config to wlan fw during init

Change-Id: Ia2915b40273bce25ab2cb48fdf34a618991c44bc
2020-01-27 17:37:25 -08:00
Gerrit - the friendly Code Review server
b32c4c82ba Merge changes into wlan-cmn.driver.lnx.2.0 2020-01-27 16:26:57 -08:00
Venkata Sharath Chandra Manchala
e0a2b69883 qcacmn: Reap timer and batch count threshold values for CE dest
Enable timer and batch count threshold interrupt for CE1, CE2
and CE5 rings through INI and retrieve the parameters through
psoc handle.

Change-Id: Ifa6cd768ed41ded46cae652ad7c910ffa62f2310
CRs-Fixed: 2593531
2020-01-27 15:43:36 -08:00
Shashikala Prabhu
8533bb54fe qcacmn: Add API to set/get number of monitor vdev counts in pdev
Add API to set/get monitor vdev count in pdev object.

Also update the max peer count in pdev and psoc when FW allocated peer
count is different than host requested.
Number of vdevs and beacon tx offload max vdevs in wlan_res_cfg are updated
in target_if_update_pdev_tgt_info().

Also, add radio related parameters to get number of vdevs and peers per
psoc and pdev.

Change-Id: I0165f3bd4638280b45ad54391319806fba62e2fe
CRs-Fixed: 2600984
2020-01-27 12:44:51 -08:00
Kai Chen
085ce4026b qcacmn: fix the issue for block ack/ack for tx capture mode
fix the issue for block ack/ack for tx capture mode.
1. Hanndle BAR frame.
2. set rate for ACK frame.
3. Check block ack session and use block ack if block
ack session is established.
4. no ACK for broadcast probe request.
5. not ack if the ack policy is set to no ack in qos control.

Change-Id: I4f22c1c976334978fb971b42319fb3a6e43a00c2
2020-01-27 11:52:36 -08:00
Yeshwanth Sriram Guntuka
70ea6afc3f qcacmn: Add qdf APIs to support data pkt diag logging
Add support to send protocol data packet info via diag log
command to userspace at tx entry point, on receiving tx
completion indication and in rx path, before delivering the
packet to network stack.

Change-Id: I6a95a16b7ebedf505ecb501107b1bbb89b16b67d
CRs-Fixed: 2595799
2020-01-27 07:54:57 -08:00
Arun Kumar Khandavalli
7c3ce2d05f qcacmn: Selectively reduce the dbr logs
Reduce loglevel of some logs from info to debug.

Change-Id: Id4cc241b48defeb5abb122a8c50ef4e81fff9760
CRs-Fixed: 2607982
2020-01-27 02:39:05 -08:00
Arun Kumar Khandavalli
d3ebfc2db6 qcacmn: Selectively reduce the serialization logs
Reduce the serilization logs from info to debug.

Change-Id: If25749086cc05a97eed5b438cf3e14237428acfd
CRs-Fixed: 2606566
2020-01-26 22:16:59 -08:00
Jinwei Chen
0b92469595 qcacmn: fix invalid accessing to rx_tlv_hdr due to scattered msdu
long length msdu is received and looks this msdu is spread across
multiple nbufs, there is no corresbonding logic for this case.
qdf_set_pkt_len will invoke pskb_expand_head to renew skb->head
buffer, but the rx_tlv_hdr is still pointed to original skb->data
buffer, invalid accessing will happen.
  As a WAR, drop this msdu related nbufs after dp_rx_sg_create is done.

Change-Id: Iceb09fd04e4d768325018a8ddd4261ab4f75991a
CRs-Fixed: 2597927
2020-01-26 16:23:50 -08:00
Sandeep Puligilla
f6485c72bb qcacmn: Fix RNR entry list access error
Failed to read RNR entries from the RNR list
while issuing the scan.

Arguments passed to access the next node from RNR list
is not initalized due to which RNR entry accessing failed.

Change-Id: If5d1f4cace8e393e93b82ac3881b9627bde5f9e1
CRs-Fixed: 2605732
2020-01-26 14:27:35 -08:00
Arun Kumar Khandavalli
eebd3a1019 qcacmn: Selectively reduce the vdevmgr logs
Reduce the vdevmgr loglevel from info to debug.

Change-Id: Ia6dbe2b25f0ee227096f2cdf900ce9145a089dc4
CRs-Fixed: 2606562
2020-01-26 05:11:54 -08:00
Alok Kumar
74bbfc8aee qcacmn: Add the utils and cfg changes for Moselle
Add the changes in utils and wlan configuration
layer for supporting the newly added IPCI bus type
for Moselle.

CRs-Fixed: 2597342
Change-Id: I4484d6e774e9f94a322b8dee4ae7ff4460ed2634
2020-01-26 00:53:03 -08:00
Ashish Kumar Dhanotiya
86ff37b1b5 qcacmn: Remove channel 170, 171, 172 and 174 from APL11 and APL19
APL11 and APL19 reg domains are mapped to FCC radar detection
pattern which enables the channels 170, 171, 172 and 174
but according latest regulatory database version 30
APL11 and APL19 does not support channels 170, 171, 172 and 174.

Channels 170, 171, 172 and 174 are DSRC channels and should
not be enabled by default.

To address above issue make channels 170, 171, 172 and 174
valid only for DSRC case otherwise make these channels
invalid.

Change-Id: I5fe2c7a5db44f1cf8d6cb6317396c4527482137c
CRs-Fixed: 2593174
2020-01-25 18:55:07 -08:00
Arun Kumar Khandavalli
595c2eead2 qcacmn: Selectively reduce the objmgr logs
Reduce the loglevel of the objectmanager logs from
info to debug.

Change-Id: Iad29420e73be405ec937930165905fbfffe09de6
CRs-Fixed: 2606485
2020-01-25 15:27:18 -08:00
Alok Kumar
9bb30c19ed qcacmn: Add callback to get WBM internal error in qca6750
Add target specific callback to read the WBM internal error
for qca6750.

Change-Id: I79960a972d024ead33903415b4094561a22ad99b
CRs-Fixed: 2607116
2020-01-25 14:08:15 -08:00
Jinwei Chen
3222184e14 qcacmn: fix RX desc is using but freed back to pool
Crash scenario:
(1) frag data A is dropped and related RX desc A is replenished
and reused, but pdev->free_list_tail is still pointed to RX desc A.
(2) frag data B/C is coming, defrag fails then pdev->free_list_head
will point to B-->C RX desc, but pdev->free_list_tail still point to A.
(3) for defrag failing case, host only will replenish 1 RX buffer for
current case, RX desc B is replenished, while C will be free back to
RX desc pool.
(4) dp_rx_add_desc_list_to_free_list will set RX desc A-->next =
free_list, free_list point to C insted.
(5) when step (1) RX desc A replenished buffer indicated to host by
REO2Dst ring, RX desc A -->nbuf actually is pointed to another RX
desc, invalid skb accessing will happen.

Solution:
a. reset tail pointer in dp_rx_add_desc_list_to_free_list at last.
b. reset tail pointer same as head in dp_rx_add_to_free_desc_list
if head->next is NULL.
c. set correct rx_bufs number for replenish when dp_rx_defrag fails.

Change-Id: Ib297baea3605a09dd7d85d1f5ceb95db48a2e1f1
CRs-Fixed: 2603676
2020-01-25 07:43:47 -08:00
Uraj Sasan
acb460015b qcacmn: Compile qdf as part of single module
Adds support to include qdf as part of single module.
This is needed for WHUNT testing where we need to have
single module, one inserted as AP and one as STA.

Change-Id: I8c2aef4cc18391e92f537e2ce791bd5b58b6e764
2020-01-25 04:18:03 -08:00