Commit gráf

31 Commit-ok

Szerző SHA1 Üzenet Dátum
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
Dustin Brown
de3edcbb9e qcacmn: Add wrapper for nla_parse_nested()
The Linux kernel version 4.12 introduced an API change to
nla_parse_nested(). Add conditional compilation to call
nla_parse_nested with the correct parameters based on the
version of the linux kernel being compiled against.

Change-Id: I878a29b352c998a751a979f66a9c3c4c7ecfd442
CRs-Fixed: 2167861
2018-01-10 13:40:23 -08:00
Dustin Brown
54771c7c6d qcacmn: Throw error if nla_parse is used directly
In order to support multiple nla_parse function signatures across
different kernel versions, a new wlan_cfg80211_nla_parse wrapper was
introduced. However, it is easy for propagations or new code to
reintroduce nla_parse. Redefine nla_parse to throw an error, to prevent
the function from being reintroduced into the code base.

Change-Id: I3015d1b3f25a1469632401899555a6260ba2dfc1
CRs-Fixed: 2116051
2017-10-05 16:59:43 -07:00
Dustin Brown
1b57dba257 qcacmn: Add wrapper for nla_parse()
The Linux kernel version 4.12 introduced an API change to nla_parse().
Add conditional compilation to call nla_parse with the correct
parameters based on the version of the linux kernel being compiled
against.

Change-Id: Ie904d217a42a2396f8245251a9c90a15dac2c0c9
CRs-Fixed: 2093354
2017-09-15 15:26:31 -07:00
Sandeep Puligilla
7acd31fa33 qcacmn: Add cfg80211 scan start and stop command
Add cfg80211 scan start and scan stop commands.

Change-Id: I20b6c7743496ae82cc3a93befb5b68812047ec1a
CRs-Fixed: 1095299
2017-03-02 16:11:46 +05:30
Abhishek Singh
9eb058adca qcacmn: Add changes to indicate beacon frame to cfg80211 layer
Add changes to indicate beacon frame to cfg80211 layer from scan
module.

Change-Id: Ia36e957bd2324130c8c3175569ce38267cd3cf53
CRs-Fixed: 1095299
2017-02-28 12:05:46 -08:00
Vivek
3e5a3ba077 qcacmn: Define os private structure in pdev object
-Define OS private memory structure and provide pointer
 to store the private data of each umac module's os specific data
-Initialize pdev's os private structure member 'wiphy'.
-Move vendor command definition to common project.

Change-Id: I2033bfbf0fe38e82c3a14942ac9f9bfda45e2c6c
CRs-Fixed: 2002991
2017-02-23 03:06:53 -08:00
Om Prakash Tripathi
3b3cd39741 qcacmn: North bound interface frame work
Add North bound interface frame work for convergence.

Change-Id: I550f37077b2878ed2ad3ebcc4aa3f2e4158d041e
CRs-Fixed: 1098688
2016-12-22 21:51:43 -08:00