提交線圖

57 次程式碼提交

作者 SHA1 備註 日期
Yu Wang
46c1e8cd8d qcacmn: add nl80211 vendor event index for transmit latency stats
Add nl80211 vendor event index
QCA_NL80211_VENDOR_SUBCMD_TX_LATENCY_INDEX, which is used to report
per-link transmit latency statistics.

Change-Id: I62bb668ebf6b3d10c0100448eb41bde29540890d
CRs-Fixed: 3596760
2023-09-13 14:20:12 -07:00
Yu Wang
e60052bdcd qcacmn: define VENDOR_NLA_POLICY_NESTED_ARRAY for nested array policy
To enable support for nested array policy, define macro
VENDOR_NLA_POLICY_NESTED_ARRAY to take care of the version
compatibility.

Change-Id: I2d9e3079c0a6b34c61767ec50b0c404beb3240df
CRs-Fixed: 3596074
2023-09-13 14:20:02 -07:00
Ashish Kumar Dhanotiya
899428801f qcacmn: Add support for audio transport switch event
Based on the new requirement, add support for vendor event
to switch the audio transport bearer.

Change-Id: Ic83cff67e92554c55de96b9453f097e41683b60b
CRs-Fixed: 3585411
2023-09-03 22:33:23 -07:00
Arun Kumar Khandavalli
0979038391 qcacmn: Add backport flag support for netdev registration
Add backport flag support for enabling cfg80211 netdev
registration APIs.

Change-Id: Id76c938deb54837de85fbf3438c70a9b509adac8
CRs-Fixed: 3589954
2023-08-24 04:18:38 -07:00
Aasir Rasheed
dd8d3c5a69 qcacmn: Fix typographical errors for kernal-doc
Fix typographical errors required for kernal-doc.

Change-Id: Ifa490697222cf08a4140feb39d2da3b127bd8887
CRs-Fixed: 3565219
2023-07-23 17:09:40 -07:00
Mohan Prabu
089380cefb qcacmn: Update cfg80211_ch_switch_notify() to kernel_6.x
Introduced new macro CFG80211_PUNCTURING_SINGLE_NETDEV_API
to be used if we want to pass puncture bitmap as an argument
to kernel, else disable it.

Change-Id: I136e09d547bc14e57be5ee0b026a51f0d6e4a525
CRs-Fixed: 3487912
2023-07-21 01:16:58 -07:00
Ripan Deuri
16b711679f qcacmn: Enable SCS rule config for SAWF
Enable SCS rule config for SAWF.

Change-Id: Ia4e1b72075b7b50317ec5e1d6fd95b80f557d713
CRs-Fixed: 3554761
2023-07-20 19:19:02 -07:00
Aravind Kishore Sukla
420e36b5fa qcacmn: Add QCA vendor command to notify TID-to-Link mapping
Add a new vendor command and attributes to notify TID-to-link
mapping changes to the userspace.

Change-Id: I9210103807f89f31ddf99965098a78bb4a798665
CRs-Fixed: 3516368
2023-06-09 05:21:34 -07:00
Liangwei Dong
6f9b6db8f8 qcacmn: Add northbound notification for link reconfig
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.

Change-Id: Idf882cb22ccbd1c8b4ad6f03c6d27980cdbaef50
CRs-Fixed: 3481313
2023-06-02 16:49:42 -07:00
Pooventhiran G
74bcf45dff qcacmn: Update cfg80211_ch_switch_notify() to latest msm-5.15
In the latest msm-5.15 kernel, cfg80211_ch_switch_notify() expects
a new argument, puncture bitmap. Hence, enable the appropriate API
call definition to match the number of arguments.

CRs-Fixed: 3505931
Change-Id: I2a043ddf4e9de111158160910228b00f850a5f52
2023-05-25 22:07:58 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Krupali Dhanvijay
8ca91ab2bf qcacmn: Send Driver disconnect internal reason code to user space
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.

Change-Id: I0027675b809b94628b6c0c4b8e8286e38fa9f47d
CRs-Fixed: 3371398
2023-04-03 01:35:59 -07:00
Jianmin Zhu
3e280f1e48 qcacmn: Update puncture bitmap to upper layer
Update puncture bitmap along with channel to upper layer when channel
or puncture bitmap changed.

Change-Id: I68ff46fdf0143919a64a523d79f34d5454bb465b
CRs-Fixed: 3436333
2023-03-20 09:58:16 -07:00
Jeff Johnson
0eda2812d9 qcacmn: Add wlan_cfg80211_nla_put_u64_64bit()
OSIF currently defines function wlan_cfg80211_nla_put_u64() which
provides an interface to the Linux Kernel's nla_put_u64()
functionality. This wrapper handles the fact that the underlying API
has a different name and signature depending upon kernel version.
However, this function has a limitation, namely that if it has to pad
the skb, it will use a netlink pad attribute that may not be defined
in the same enum as the u64 attribute. This can lead to attribute
parsing issues by the recipient.

To avoid this problem, introduce wlan_cfg80211_nla_put_u64_64bit(),
which allows the caller to provide the pad attribute id. This will
ensure that the u64 attribute and the pad attribute are from the same
enum, and hence should prevent nla_parse() issues.

Change-Id: I9e4183fa088248abfdda435b9d5e159400521969
CRs-Fixed: 3414639
2023-03-02 16:28:52 -08:00
Jianmin Zhu
1632e6e62c qcacmn: Add QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS_INDEX
Add QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS_INDEX.

when qca vendor cmd of QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS get roam
information, driver send all the cached information to user space.

Change-Id: I5fa3202850eb21fe3fbf88ddbf51a803457a948e
CRs-Fixed: 3409607
2023-02-21 23:59:29 -08:00
Jeff Johnson
7bc9ad4d74 qcacmn: Fix OSIF Documentation
The kernel-doc script identified some documentation issues in the
os_if folder, so fix most of them. However do not modify the file
qca_vendor.h since most of the issues there are present upstream, and
the downstream file should match the upstream file.

Change-Id: I71948fb497c1ea2d1dd46308277d99beefde18b8
CRs-Fixed: 3390428
2023-01-31 17:09:48 -08:00
Vijay Raj
2413e83ebd qcacmn: Add event response for green ap low latency pwer save mode
Add low latency power save mode event response for xpan
profile.

Change-Id: If3271c8a0ed649cd04b9060060706de9ec5764c1
CRs-Fixed: 3267486
2022-12-26 03:24:24 -08:00
Will Huang
e2da240791 qcacmn: Add AFC vendor event index
Add QCA_NL80211_VENDOR_SUBCMD_AFC_EVENT_INDEX for AFC event index.

Change-Id: I6b8314d616027e33e09da0b9cdc451a5ca6246d3
CRs-Fixed: 3341706
2022-12-20 20:30:47 -08:00
Krunalsinh Padhar
7ca1ab9e0f qcacmn: add vendor sub-command index for primary netdev notification event
Add vendor sub commands index
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT_INDEX.

This index is used to identify the vendor event from the socket buffer.
This vendor event notifies the application layer about the primary
netdev after each MLO association.

Change-Id: Icccf0498412ee6831dcf61f9dd7c7e828848c2eb
CRs-Fixed: 3297028
2022-11-26 15:51:34 -08:00
Rachit Kankane
8f76bf1455 qcacmn: Add Spatial Reuse event index
Add async event index for Spatial Reuse

Change-Id: I486e45e074fca857670876e51ca5878a5a60906c
CRs-Fixed: 3307824
2022-10-17 06:48:55 -07:00
Pragaspathi Thilagaraj
38b8236ddc qcacmn: Add support for initiate pasn auth vendor command
Add support for initiate pasn authentication using the vendor
command: QCA_NL80211_VENDOR_SUBCMD_PASN
Fill the below required attributes to initiate PASN:
QCA_WLAN_VENDOR_ATTR_PASN_ACTION
QCA_WLAN_VENDOR_ATTR_PASN_PEERS
QCA_WLAN_VENDOR_ATTR_PASN_PEER_MAC_ADDR
QCA_WLAN_VENDOR_ATTR_PASN_PEER_SRC_ADDR

Change-Id: If33f54eafe5986b4571cc21a80fb0b61578db116
CRs-Fixed: 3232261
2022-07-14 04:12:51 -07:00
Harsh Kumar Bijlani
f3aa35e599 qcacmn: Add enum for SCS rule configuration index
Add enum for SCS rule configuration index.
This index is used by vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG while sending NL event
to SCS daemon.

Change-Id: Ic2491d8ec6c2f13f5c45ebaec189b239f0ee9933
CRs-Fixed: 3241704
2022-07-13 00:22:27 -07:00
Arun Kumar Khandavalli
db02916cc1 qcacmn: Add new cfg80211 wrapper api's Multi link operation
Add new cfg80211 wrapper api's to support single link multi wdev
operation.

Change-Id: Idf245df7a96a85afe5ff1aac5829423d0bee5b85
CRs-Fixed: 3235154
2022-07-05 09:01:26 -07:00
Vinod Kumar Pirla
2c18eafe69 qcacmn: Add vendor event to indicate driver ready after SSR
Add QCA vendor event to indicate user space that the driver
recovery is completed after the internal failure.

Change-Id: Ib65c9773dd64fab36ba10493c27bd670c2bb6d08
CRs-Fixed: 3226415
2022-06-24 00:28:32 -07:00
David Oladunjoye
fba8e37abf qcacmn: Add back port flag for 11be support
Add logic to set back port flag based on linux kernel version.

Change-Id: I2c5fc424e28fb92185df78a2046874b1dd85c436
CRs-Fixed: 3187773
2022-05-18 19:13:41 -07:00
Balaji Pothunoori
4609e90b57 qcacmn: Add vendor attribute for peer TID flush vendor cmd
This change is to vendor attribute for peer TID flush vendor
cmd QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING.

Change-Id: If112ec288a64622b9bf7fe625f7ac9e127d0ecbe
CRs-Fixed: 3170381
2022-04-25 05:38:22 -07:00
Alan Chen
51637c64bb qcacmn: Add new cfg80211 wrapper for registering net device
Add a new wrapper wlan_cfg80211_register_netdevice() that calls
cfg80211_register_netdevice for Kernel 5.12+.

Change-Id: I17655f1e3123d663d25b9dfc82e7c6f737486391
CRs-Fixed: 3133310
2022-03-02 01:28:27 -08:00
Liangwei Dong
a0fa276d5a qcacmn: Add MCC quota Vendor command and event index
Add enum QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA_INDEX for
new vendor command QCA_NL80211_VENDOR_SUBCMD_MCC_QUOTA.

Change-Id: Ib09d5a6ad59b625e2d5d458a01e8f6c82cee4762
CRs-Fixed: 3101808
2022-02-17 07:45:17 -08:00
Srikanth Marepalli
a4128d5887 qcacmn: Add roam set param command for roam params
This change introduces the new roam set param WMI command to set
the roam params from host to FW.
Also added a fail_bssid param in wmi_roam_result TLV to know the
roam failed AP BSSID from the FW.
Added a new vendor command event for sending roam events stats
attributes to userspace.

Change-Id: I7a08635a7912cbd940d90a2d62433296740ad913
CRs-Fixed: 3050799
2021-10-27 12:15:50 -07:00
Yue Ma
9579188f04 qcacmn: Add wrapper API wlan_cfg80211_nla_strscpy
From 5.11 kernel, nla_strlcpy() is renamed to nla_strscpy() since
it works more like strscpy() than strlcpy() after the enhancement.
Hence handle it accordingly in WLAN driver by creating wrapper API
wlan_cfg80211_nla_strscpy().

Change-Id: I4c5ca1738048605c842c827d1706353bc012fed8
CRs-fixed: 3060060
2021-10-25 18:31:25 -07:00
Pragaspathi Thilagaraj
b001e0e130 qcacmn: Add support to send connectivity logs from logging thread
Add support to send connectivity logs from g_wlan_logging thread.
Add new HOST_LOG_DRIVER_CONNECTIVITY_MSG event flag which wakes up
the gwlan_logging thread when set.
Also register connection manager callbacks to send the logging event.

Check if logging queue is empty whenever the gwlan_logging thread
is woken up and send the logs to userspace if the count doesn't
exceed the allowed threshold.

Change-Id: I3fdb8358f9048a277e2f03894c0e6a17376b0da0
CRs-Fixed: 3029279
2021-09-16 08:28:29 -07:00
Abhishek Ambure
7f1cabbe4d qcacmn: Add support for cfr data transport mode
User sets CFR data transport mode using vendor command
QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG. By default
CFR data transport mode is relayfs, user uses vendor command
attr QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_TRANSPORT_MODE to set
transport mode QCA_WLAN_VENDOR_CFR_DATA_RELAY_FS or
QCA_WLAN_VENDOR_CFR_DATA_NETLINK_EVENTS.
If user sets QCA_WLAN_VENDOR_ATTR_PEER_CFR_DATA_RECEIVER_PID
attr in QCA_NL80211_VENDOR_SUBCMD_PEER_CFR_CAPTURE_CFG vendor
command then hosts uses RECEIVER_PID to send unicast NL events
for CFR data.

Change-Id: I40e896fad8af24e761fcbedeba761f4a3815f0b8
CRs-Fixed: 2952095
2021-06-03 22:16:41 -07:00
Alan Chen
8db987a33c qcacmn: Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6
Define VENDOR_NLA_POLICY_IPVXXX_ADDR for IPV4/IPV6 to address kernel
version dependency.

Change-Id: If73fe24dc29a65c043af6cf3d797a756a264f602
CRs-Fixed: 2851486
2021-01-09 04:46:50 -08:00
Pragaspathi Thilagaraj
ae5d79bf9e qcacmn: Add new TWT operations and attributes to TWT Setup and Nudge
Define the following additional TWT operations:
QCA_WLAN_TWT_GET_STATS, QCA_WLAN_TWT_CLEAR_STATS,
QCA_WLAN_TWT_GET_CAPABILITIES, QCA_WLAN_TWT_SETUP_READY_NOTIFY.

Also define new attributes to qca_wlan_vendor_attr_twt_setup
and qca_wlan_vendor_attr_twt_nudge.

Change-Id: I687fd215c13aa12741d8ba7af23507f930d0ec81
CRs-Fixed: 2842072
2020-12-23 11:35:27 -08:00
Nandha Kishore Easwaran
a90712e15d qcacmn: Add extra parameters to gpio command
Add extra parameters to gpio wmi command since they
are required for smart antenna config.

Change-Id: I3b363c7b508862ded8aacffb9e0a39328e8b2b94
2020-11-23 06:38:30 -08:00
Liangwei Dong
4b19fb77ee qcacmn: Add new QCA vendor attributes to get thermal level
Add new QCA vendor attributes to get thermal level from driver.
Driver will return thermal level upon userspace requests or sent
thermal event when firmware indicates theraml level changes.

Change-Id: I86b3ac34466d57cbd713cf72a7eb883677883a21
CRs-Fixed: 2786642
2020-10-18 21:59:40 -07:00
Min Liu
7c122af366 qcacmn: Add a vendor command for medium assessment
Introduce a vendor command for medium assessment through
QCA_NL80211_VENDOR_SUBCMD_MEDIUM_ASSESS.

Change-Id: Iacce974c862a9899de853be70858a47ae719b541
CRs-Fixed: 2766103
2020-09-22 02:58:48 -07:00
Min Liu
9b469e30f9 qcacmn: Relocation of API and enum definition
Relocation of API and enum definition.

Change-Id: Ice7877b1271b8f58780367fbfd8c2637afc52f35
CRs-Fixed: 2773551
2020-09-22 02:58:45 -07:00
Ashish Kumar Dhanotiya
76c1c5f124 qcacmn: Handle connect response in osif for connection manager
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.

Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
2020-09-15 02:46:07 -07:00
Srinivas Dasari
3e3a071188 qcacmn: Define VENDOR_NLA_POLICY_MAC_ADDR for mac addresses
Strict NLA validation is introduced from kernel version 4.20 where
NLA_UNSPEC usage is restricted. A new attibute type
NLA_POLICY_ETH_ADDR is introduced for MAC address.
Define a macro to use this if the kernel version is greater
than 4.19.
Also define NLA_EXACT_LEN as NLA_UNSPEC for kernels less
than 4.20.

Change-Id: I9d9bee7a12d84ca81b5777ccb417a33f08949203
CRs-Fixed: 2701357
2020-06-04 23:23:01 -07:00
Bapiraju Alla
bdcc78d3ea qcacmn: Remove dummy NLA parsing in driver for kernel >= 5.2
Existing dummy NLA parsers are triggering illegal memory access
with kernel versions 5.2 or later.

To resolve this, revert the change
Iea1fdcac3000ede2f8b9398cb85443e545cdd3f0 (Add dummy NLA parsing
in driver for kernel >= 5.2).

Change-Id: I8804d5aefefec248a1b82d1ca92ffaab56aa539f
CRs-Fixed: 2638303
2020-03-11 06:50:49 -07:00
Sourav Mohapatra
f14a0edd8e qcacmn: Add dummy NLA parsing in driver for kernel >= 5.2
According to new changes in kernel 5.2 version onwards, kernel takes
care of validating the NLA policies as provided by the driver. In this
case there is no need to re-validate the same in the driver.

Add a stub to return true for NLA parse in case the kernel version is
greater than equal to 5.2

Change-Id: Iea1fdcac3000ede2f8b9398cb85443e545cdd3f0
CRs-Fixed: 2632534
2020-03-02 14:31:31 -08:00
Alan Chen
a29108516f qcacmn: Define VENDOR_NLA_POLICY_NESTED macro to support policy check
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for each NL command to be verified against while
registering wiphy to the kernel.

To enable support for this, define a new macro VENDOR_NLA_POLICY_NESTED
taking care of the version compatibility.

Change-Id: I6aec53e94c57434f8e68b936ad5422248c3fa167
CRs-Fixed: 2632081
2020-03-02 14:31:09 -08:00
Rajeev Kumar
b112466b8d qcacmn: Define vendor_command_policy macro to support policy check
According to new changes in kernel 5.2 version onwards, driver has to
provide the policy for each NL command to be verified against while
registering wiphy to the kernel.

To enable support for this, define a new macro taking care of the version
compatibility.

Change-Id: I0bf7153d1889e5b31c07d6bf4c7a95f5e72dd93c
CRs-Fixed: 2632019
2020-03-02 14:30:48 -08:00
Shwetha G K
6d85a9e8da qcacmn: Track netlink allocations
Track netlink allocations when mem debug is enabled.

Change-Id: Icba58f93cf0364678d730f32bd56645efab934e1
CRs-Fixed: 2588037
2020-01-09 04:51:33 -08:00
Min Liu
4afe02904e qcacmn: Remove COMMON_VENDOR_COMMANDS
Remove the unused macro COMMON_VENDOR_COMMANDS.

Change-Id: I883504ce7bada776273cea7cd5e6f93f76ff2f7e
CRs-Fixed: 2493963
2019-07-26 03:02:26 -07:00
Jeff Johnson
23e26381c0 qcacmn: Rename OSIF logging macros
The current OSIF logging macros use a "cfg80211" prefix. This is
confusing because that prefix should only be used by the Linux
cfg80211 module. To avoid confusion rename the macros to use an
"osif" prefix.

Change-Id: Id3273498f623d04beec879aa9d77c1d33986357a
CRs-Fixed: 2469485
2019-06-17 13:00:54 -07:00
Nirav Shah
dd382b0d49 qcacmn: Add logging macros without function/line info
Add per module logging macros without function/line info
to avoid adding function/line info where it is not required.

Change-Id: I7621603b925e0762ef474c92e7b5cce641ceeefe
CRs-Fixed: 2468439
2019-06-12 16:15:08 -07:00
gaurank kathpalia
0affa64a1c qcacmn: Add debug RL log in cfg layer
Add debug RL log in cfg layer to rate limit the
excess logs.

Change-Id: If4d18bfa45bb4011172896488de168950a14db67
CRs-Fixed: 2392876
2019-02-06 17:12:52 -08:00
Nirav Shah
a175314c51 qcacmn: Map all module logs to per-level log APIs
Map all module level log APIs to per-level log APIs
to compile out specific log level if required.

Change-Id: I4072b6740cb43200fd95c40943b66e1d5f8f1847
CRs-Fixed: 2266719
2018-07-13 10:36:22 -07:00