Commit Graph

9315 Commits

Author SHA1 Message Date
Srinivas Girigowda
32b4d9fb65 qcacmn: wmi: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I7f6a1bd0b125732bcf64c669dc82e854116ed16f
2020-08-23 23:09:49 -07:00
Srinivas Girigowda
40f652caf5 qcacmn: target_if: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: Ic2a0a703210bb64aee57e5e3edb4028906f62dc9
2020-08-23 23:09:44 -07:00
Srinivas Girigowda
5fc5aec1d9 qcacmn: os_if: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I15e51b89e25915feca98da6e7ed89237b415707b
2020-08-23 23:09:40 -07:00
Srinivas Girigowda
a4bf024bf1 qcacmn: umac: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I78b072b5cc623477135823512f9b8e7ef7ef4309
2020-08-23 23:09:36 -07:00
Srinivas Girigowda
b100ced3c7 qcacmn: dp: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: Ib7999b69f79a65a67e1d9f7e24a04b7a7da0aebf
2020-08-23 23:09:31 -07:00
Srinivas Girigowda
ffc5af7bbf qcacmn: qdf: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I89d17f8e7b58d10f56882310bd4e47a9519d0425
2020-08-23 23:09:27 -07:00
Srinivas Girigowda
97b39bfea3 qcacmn: cfg: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I0de955bb6a5f1b7693edfea0df8b59dc9bc26789
2020-08-23 23:09:23 -07:00
Pragaspathi Thilagaraj
bc2f1d2a72 qcacmn: Add support for connection manager rso mode command
Add changes to support new definition of
send_roam_scan_offload_mode_cmd() in connection manager.

Change-Id: Iea10907756ea785b0b0de72d01375f50ac3dbd6a
CRs-Fixed: 2758318
2020-08-23 17:37:51 -07:00
Arun Kumar Khandavalli
49ea182ae3 qcacmn: Add thermal mitigation support for moselle
For older targets thermal mitigation is supported for the apps.
In moselle there is a new processor wpps on which firmware runs,
this commit adds the support for the thermal client wpps.

Change-Id: Ia212cd08c000ab11d4079cc701634dd919447ae9
CRs-Fixed: 2757932
2020-08-22 20:31:45 -07:00
Alan Chen
321ed86cde qcacmn: Add console logging for bss found during scan
Add logic to log number of bss found in dmesg during scan.

Change-Id: Idfa5c548c509f2f0669fd635eb4cae16b23f3990
CRs-Fixed: 2759312
2020-08-22 20:31:42 -07:00
Ashish Kumar Dhanotiya
3b654ef914 qcacmn: Avoid array out of bound access for current channels list
Currently regulatory computes the current channel list for band
6GHz by default which is not correct as current channel list
size is based on the CONFIG_BAND_6GHZ, if this feature is not
enabled then current channel list array will be accessed out of
bound inside reg modify channel list for band api.

To address above issue, move computation of current channel list
functionality inside CONFIG_BAND_6GHZ feature flag.

Change-Id: I4612c9d3adb027976a4404fb7c92c0e415014b47
CRs-Fixed: 2760541
2020-08-22 18:12:29 -07:00
Chaithanya Garrepalli
e81a22ce9b qcacmn: add null check in dp_peer_find_hash_find API
In cdp_soc_deinit peer hash table is freed to add
check to avoid NULL access from CDP APIs which may do
peer hash find

Change-Id: I47c4126c34bb64d43112a4f8e268da1a98f4124d
2020-08-22 18:12:27 -07:00
Ramanathan Choodamani
dae503e5a1 qcacmn: Add build flag for MSCS procedures (Data path)
This change will add a build flag support to MSCS wherein
the functions will be called based on the status of the flag
created. This flag will be enabled by default.

Change-Id: I1c234c710d3b37f534ed2df7b37343cbd65ab930
CRs-Fixed: 2757257
2020-08-22 16:01:07 -07:00
Jinwei Chen
d5a6680a6f qcacmn: Reduce CE4 source ring entries number
For lithium based HST/HSP, CE4 is no longer used for data TX,
just few HTT msg for ring configuration, 2048 entries requires
16 * 2048 = 32K ring consistent memory which looks is not necessary,
reduce CE4 ring entries number to 256.

Change-Id: I117ec81cbee3642d640457c37a7ab900ddcae3f5
CRs-Fixed: 2757925
2020-08-21 16:59:05 -07:00
Yu Tian
dabf6e13ee qcacmn: Add RX frame pending check for WoW
Sometimes frames are queued to dp_rx_thread wait queue
during WoW suspend in progress. At this time dp_rx_thread
is in SUSPEND state and these frames can't deliver to Linux
Stack, for ICMP case, if no other frames come to wake up
system, ICMP timeout will happen. Add a RX suspend check
in WoW to avoid suspend when frame comes before WMI_WOW_ENABLE
sends to FW

Change-Id: I756d3127f75da8f0e6e303c1250c01ce0c6ac573
CRs-Fixed: 2756263
2020-08-21 14:48:05 -07:00
Chaithanya Garrepalli
926912fe86 qcacmn: store vdev_id in tx desc instead of vdev pointer
In tx desc store vdev_id to avoid unprotected access of
vdev memory.

In tx path pass VDEV as argument to all APIs

In completion path get vdev from peer as vdev reference
in peer is protected with reference, in places where peer
is invalid get vdev object using vdev_id stored in tx desc
with a reference count

Change-Id: I364ebb51143218872c0bc6f856772ab1df00bb17
2020-08-21 11:42:28 -07:00
Wu Gao
a7bc8640bb qcacmn: Returns NULL if opmode mismatched when get vdev from psoc
When get vdev by opmode from psoc, objmgr will return vdev without
getting reference if vdev list isn't null and no matched vdev with
opmode.

Change-Id: I1bb29f074155a40c38a21a9f0534d5f756862031
CRs-Fixed: 2758693
2020-08-21 11:42:25 -07:00
Ashish Kumar Dhanotiya
30f4cf7c40 qcacmn: Add mlme apis and callbacks for connection manager
Add support for mlme apis and callbacks for connection
manager infrastructure.

Change-Id: Ia7a4060dc2bda41962569a298875bde7cd7ba283
CRs-Fixed: 2758028
2020-08-21 11:42:22 -07:00
Linux Build Service Account
8bfe4863ef Merge "qcacmn: Update channel tx_time and rx_time to user space" 2020-08-21 08:05:41 -07:00
Linux Build Service Account
a792499a09 Merge "qcacmn: Update the dfs api" 2020-08-21 08:05:41 -07:00
Gerrit - the friendly Code Review server
077c318067 Merge changes into wlan-cmn.driver.lnx.2.0 2020-08-21 07:54:53 -07:00
Bapiraju Alla
14e5697391 qcacmn: Update channel tx_time and rx_time to user space
Add support for vendor attributes to update channel tx_time
and rx_time to the user space.

Change-Id: Ifdb50d8f7bcdcf8a560d174cd34efcb1991768a9
CRs-Fixed: 2757211
2020-08-21 06:47:55 -07:00
Amruta Kulkarni
f9c5c541c1 qcacmn: Update the dfs api
To get the channel state for 5g bonded channel using the freq
use wlan_reg_get_5g_bonded_channel_state_for_freq.

Change-Id: I0b42e9c547ba70259e88137a5a26c238cd66da8d
CRs-Fixed: 2756463
2020-08-21 06:47:51 -07:00
Bapiraju Alla
284dab3965 qcacmn: Add service bit support for tx and rx time in channel stats
Add service bit support for channel tx and rx time in channel stats.
This service bit helps in not interpreting the default values for
tx_time and rx_time when new driver version is used with old firmware
where this tx_time and rx_time support is not present.

Change-Id: Icc7668f5842677ac6ef48176568301753e217ea7
CRs-Fixed: 2751500
2020-08-21 06:47:48 -07:00
Santosh Anbu
a729bdd857 qcacmn: Add custom filter function to scan filter
Add change to support custom filter function to the scan filter.

Change-Id: If312d7627d11e8938a4f8444e1f930a8fcc25aa8
CRs-Fixed: 2746158
2020-08-21 04:46:50 -07:00
Santosh Anbu
857c046886 qcacmn: Update scoring weightage for AP platform
Since few of the BSS scoring weightage is not applicable to AP platform
i.e WIN, use macro to set the default values for both WIN and MCC
platform.

Change-Id: Ic40deaab2621215c7bfc02c7cde082b81761f27b
CRs-Fixed: 2746158
2020-08-21 04:46:46 -07:00
Paul Zhang
1123940de7 qcacmn: Fix bitwise comparison issue
When the option -Werror=tautological-compare is enabled, the compiler
reports error because bitwise comparison always evaluates to false.

Change-Id: I7532dc9bccb69e02be5f04897a6ecaff44e84a0d
CRs-Fixed: 2734883
2020-08-21 04:46:43 -07:00
aloksing
f103f00807 qcacmn: Add raw buffer support in WMI layer
To send received raw event buffer to event handler
Send without processed buffer to registered event with buffer
type WMI_RX_RAW_BUFF

Change-Id: I2a401e2e7afbfd8f32d4bd521d184ed9ddcdb264
2020-08-21 02:28:57 -07:00
aloksing
b08f3994ef qcacmn: Add WMI event for cp stats
Extract more flag from WMI event TLV buffer.

Change-Id: I6623a81100b3191d796c156c93ae1ce4c3eaeb97
2020-08-21 02:28:54 -07:00
Min Liu
d88847938b qcacmn: Code cleanup in wlan_serialization_destroy_cmd_pool
Remove unnecessary assignment in wlan_serialization_destroy_cmd_pool
to avoid false alarm in some static code analysis tool.

Change-Id: I6f53b9c44534dc6297cf872dce0a265e1696d90c
CRs-Fixed: 2751743
2020-08-21 02:28:51 -07:00
Nisha Menon
027d8742b8 qcacmn: Add new cpumask apis to framework
Add new qdf apis to copy cpumask and check if an
existing cpumask is empty.

Change-Id: Ie34a9f9c097a691ac16e7f8ceca0a855ab6b26e3
CRs-Fixed: 2738317
2020-08-21 02:28:48 -07:00
Nisha Menon
b7d1ef0bdf qcacmn: Set IRQ affinity for CE IRQs to gold cores
CE2 status ring full condition results in WMI req timeout
in host resulting in self recovery being triggered.
Set IRQ affinity of CE IRQs to gold cores for defconfig
builds only. This is to alleviate the processing of all
DP rings and CE rings on CPU0.
CE2 status ring will be reaped fast enough to ensure host
has enough credits from FW to send out the WMI reqs to FW.

Change-Id: Ifef338faac17b44eae811d23ec41d89bde1b29c7
CRs-Fixed: 2738317
2020-08-21 02:28:45 -07:00
Santosh Anbu
ad52315b1f qcacmn: Add conn_mgr advance feature macro
Add advance feature macro to contain the feature set specific to
MCC.

Change-Id: Ifc537c720c518452d001b4b3587b8489d6c94e17
CRs-Fixed: 2758078
2020-08-20 23:08:18 -07:00
Jianmin Zhu
8575b63128 qcacmn: Add API in regulatory to receive channel avoid cmd
Enable AUTORFI-3223 LTE coex with remote telematics unit:

When Telematics unit (modem) is not located on the SOC as Wi-Fi chip,
the OEM's system can still get LTE channel info from the modem and
pass it to Wi-Fi driver from an OEM app. This request is to provide an
API from Wi-Fi layer to OEM's app to receive the LTE coex channels,
After wlan driver received this info, channel avoidance algorithm will
run and SAP will adjust Wi-FI channel accordingly.

Add API in regulatory to receive channel avoid cmd from os_if/upper layer.

Change-Id: I0099b2ef69eba30ad0fc9bca448225ab283ed6b7
CRs-Fixed: 2750727
2020-08-20 23:08:14 -07:00
Manjunathappa Prakash
93aff9ee1f qcacmn: Add DP INI to tune netdev features at runtime
Add INI to modify the HW checksum capability advertisement.
Add hook to update enable/disable of HW checksum for vdev.

Change-Id: Idd0bad1d39c8411c7b4ef19483aa2c75a756791b
CRs-Fixed: 2732099
2020-08-20 23:08:11 -07:00
hqu
b9affa1488 qcacmn: Move rso related process to connection manager [PART 3]
Rename struct wmi_mawc_roam_params name to wlan_roam_mawc_params.
Rename struct wmi_bss_load_config name to wlan_roam_bss_load_config.
Rename file wlan_cm_roam_public_srtuct.h name to
wlan_cm_roam_public_struct.h.

Change-Id: I3e05d899810f8e899b5d6f48a3aa48c041cd17e3
CRs-Fixed: 2758137
2020-08-20 15:42:21 -07:00
Anirban Sirkhell
c19a2cd793 qcacmn: Get max user capabilities from WMI ready
Retrieve the max users per-PPDU supported in Uplink
and Downlink direction, from the fixed params of WMI
service ready ext2 event.

CRs-Fixed: 2747218
Change-Id: Ib9f9bd4313dd1955c607d4fe77b02e34761d1c20
2020-08-20 15:42:18 -07:00
Himanshu Batra
486612addf qcacmn: Add timestamp info in Vdev SM history
Add timestamp info in Vdev SM history

Change-Id: I5c3c5da2e48fccc5f85802c9021bd060f940a243
CRs-Fixed: 2756819
2020-08-20 10:07:35 -07:00
Chaithanya Garrepalli
ddc9e59e8f qcacmn: Add VDEV refcount debug support
Add debug support for VDEV refcount to take
refcount by module id and decrement corresponding
refcount with same module id

Change-Id: I15c075816994ba70155fefbc0bce208b20fb9a59
2020-08-20 10:07:32 -07:00
Chaithanya Garrepalli
a718007f03 qcacmn: increment vdev refcount for search by id
Add new API dp_vdev_get_ref_by_id() which will return vdev
pointer by holding a reference. Caller of this API has
to ensure that this reference is released by calling
dp_vdev_unref_delete() API

New lock soc->vdev_map_lock is introduced to protect
vdev id to object array

Change-Id: I883e328932e35ef31254125492dbae20cebe0e00
2020-08-20 10:07:28 -07:00
Rajasekaran Kalidoss
afac78b33d qcacmn: Add length check for twt additional parameters
Add length check in additional parameters extracted from
WMI_TWT_ADD_DIALOG_COMPLETE_EVENTID.

CRs-Fixed: 2755498
Change-Id: I913547bad8a1f823a01ff36f22dbe3d305e533bc
2020-08-20 08:00:50 -07:00
Rajasekaran Kalidoss
8841346dcb qcacmn: Enhancements to the TWT attributes/parameters (vendor command)
This commit does the following enhancements to the TWT interface:

Corrects the documentation for QCA_WLAN_TWT_SUSPEND and
QCA_WLAN_TWT_TERMINATE. Specifies that these operations carry the
parameters obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. This
interface is very recently introduced and missed to document the same.
There are no user space or driver components using this interface yet.
Hence, enhancing/modifying the interface.

Corrects the documentation for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION. Mentions that the units it
represent is a multiple of 256 microseconds rather than a TU. The host
driver always interpreted this as an unit in 256 microseconds and there
are no user space implementations that are impacted with this change in
the unit. Hence, modifying the documentation.

Introduces QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT2_TWT_SIZE, which is
similar to that of QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT, but carries
an offset/data of u32 size.

Introduces MAC_ADDR attribute to represent the peer for the TWT setup
and resume operations.

CRs-Fixed: 2755972
Change-Id: I1c43b9942489177af9b48639d1cb4fd20dfdd80b
2020-08-20 08:00:47 -07:00
Amar Singhal
74bb674e39 qcacmn: Use per channel maximum regulatory bandwidth
Per channel maximum regulatory bandwidth depends on country
bandwidth settings and the reg-domain bandwidth settings.
Therefore, take channel bandwidth into account in channel
bonding calculations.

Change-Id: I9d206c2fd8c5535eba813ac1da2878592ef5019b
CRs-Fixed: 2729638
2020-08-19 01:57:57 -07:00
Manjunathappa Prakash
cb751d11c1 qcacmn: Bypass PN check for open security mode defrag frames
Do not do PN check for open security mode defrag frames as it
is not applicable.

Change-Id: I7ed1073953c08b191c15c659a0d216eb7ed49b31
CRs-Fixed: 2753520
2020-08-18 23:55:54 -07:00
Ruben Columbus
f1973b22d7 qcacmn: Add fix to support frame control for MU ctrl frame
frame control for second and subsequent user are zero which overide the
master frame control. Added fix to update master frame control from user
position zero.

Change-Id: Ic0331dd5d486fbffa44d29c74b4f1f15414d0a65
2020-08-18 14:43:39 -07:00
Adwait Nayak
5e8254061e qcacmn: Modify data type of timestamp
The 'timestamp' field in CFR meta data corresponds to TSF
at the reception of PPDU in micro second unit. To capture
timestamp for one shot, periodic and repetitive channel
capture, this field is being used.

case 1:
For one shot and periodic capture, the clock used for
timestamp is private to the target and not visible to host.
So it is being passed by FW to host and the placeholder
being exchanged between Host and target is of 32 bit.

case 2:
In case of repetitive channel capture, the
timestamp is being populated from the received PPDU,
which is 64bit.

To accommodate the timestamp, in both above cases, change
the data type to u_int64_t from u_int32_t

Change-Id: Ifa612bd97dc4f597368daefcd4224b84f2484c03
CRs-Fixed: 2751408
2020-08-18 14:43:35 -07:00
Adwait Nayak
d4ef2e3959 qcacmn: Fetch cfr info from PHYRX & RXPCU ppdu end tlv
HAL changes to fetch cfr information from
PHYRX_PPDU_END_TLV & RXPCU_PPDU_END TLV

Change-Id: I5817fdc5d17ebea3f2376b7bef9e58981198d1ec
CRs-Fixed: 2752943
2020-08-18 14:43:32 -07:00
Adwait Nayak
9b8183fef6 qcacmn: Enable CFR support for IPQ5018
Enable CFR support for IPQ5018.
Calculate stream FS buffer length based on CFR payload,
CFR uCode header and CSI metadata.

Change-Id: Idd903ead75d635ce87ffc0df80e5c32fb62d15aa
CRs-Fixed: 2751408
2020-08-18 14:43:27 -07:00
Adwait Nayak
a265096932 qcacmn: Change data type of modified_in_curr_session
Repetitive channel capture configurations usually support
16 groups to be confugured. To check if a particular group
is enabled by user, qdf_test_bit is being used here.

qdf_test_bit usually operates with uint32_t and it takes
the argument as unsigned long type. Since,
modified_in_curr_session is declared as uint16_t, and then
typecasted into unsigned long.

Change the data type of modified_in_curr_session
from uint16_t to 'unsigned long' to avoid compiler
issues.

Change-Id: Iec778dc36d5671f2cfb643c9ced1bd2a6104de2b
CRs-Fixed: 2753267
2020-08-18 11:01:05 -07:00
Vignesh Mohan
cb9f7ad948 qcacmn: Add APIs to find preCAC status of the given channel
Introduce DFS utils APIs to find preCAC status of the given
channel.

Change-Id: If47411af82b43b9dcff04ba2f84cdb10ec9ca1f1
2020-08-18 11:01:02 -07:00