Grafik Komit

1361 Melakukan

Penulis SHA1 Pesan Tanggal
Author Amrit Sahai
dc5cc15bba qcacmn: Check ICMPV4 and ICMV6 are redirect or not
Add API to check ICMPV4 and ICMPV6 are redirect or not
This is to avoid a security breach.

Change-Id: I61e7c54c6d9279c1e7d2f316381fbc1c83ce5b4a
CRs-Fixed: 3233925
2022-08-08 00:16:44 -07:00
Shiva Krishna Pittala
8641a158f3 qcacmn: Hook the UMAC reset in the target attach path
Call UMAC reset initialization API from soc_attach_target().
FW exposes a service bit for this feature, use that to conditionally
enable this feature. Also, add default log levels for this feature.

CRs-Fixed: 3253464
Change-Id: Ia7c9cf07a7ab7b000ebe452ab074a82173b70129
2022-08-03 07:35:26 -07:00
nobelj
7d3197b9a5 qcacmn: tx monitor populate stats information
add tx monitor stats information.

Change-Id: Iffc55c2a4fa5351140daeffac3a50dd6867f6ea1
CRs-Fixed: 3230286
2022-08-02 03:23:01 -07:00
Jinwei Chen
64d7493b30 qcacmn: add RX statistics per lmac for MLO connection
Add RX statistics per lmac for MLO connection.

Change-Id: I72b942732cc362c1613fae637bc5e1154f9e2ec2
CRs-Fixed: 3251609
2022-07-29 22:57:35 -07:00
Bing Sun
d0385d035d qcacmn: Fix CFI failure caused by dfs_remove_from_nol
The parameter of callback of kernel struct hrtimer is itself, not
qdf_hrtimer_data_t. CFI failure happens if the function pointers
does not have the same type as the function that's called.
Add a new API __qdf_hrtimer_cb and assign it to hrtimer->function.

Change-Id: I9cf753272dd37635e82defac6cf7258c7a70425d
CRs-Fixed: 3245385
2022-07-27 07:22:54 -07:00
Yu Wang
56ebf2707b qcacmn: add support for VA based minidump
Before GKI enforcement and driver modulization, vendor drivers’
data section was part of vmlinux and they were registered with
minidump and collected when crash happens.
With GKI, vendor modules’ data section is part of va-malloc
region, which is virtually contiguous but physically not. It
is difficult to fit into the existing PA based minidump framework.
New VA-minidump driver allocates some CMA region which is registered
as one entry in minidump infrastructure. During panic, the driver
creates an ELF which is based on VA, copies it into that CMA region,
and finally it gets dumped as md_KVA_DUMP.bin.
This change makes use of this VA-minidump framework and implement
the APIs accordingly.

Change-Id: Ib1282990c91408bcd4e68365afe694830b90d0ac
CRs-Fixed: 3232060
2022-07-26 01:48:03 -07:00
Himanshu Batra
a2f709fa4f qcacmn: Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT
Change macro IPA_WDI3_RX_TWO_PIPES to IPA_WDI3_VLAN_SUPPORT to represent
the feature supported under this macro

Change-Id: Ie1e387d641052cd5690c63f0c1216f4852544605
CRs-Fixed: 3250264
2022-07-25 05:13:47 -07:00
Harsh Kumar Bijlani
81d963fc50 qcacmn: Remove SCS database from dp_peer structure
Set function pointer for SCS peer lookup and rule handler.

Add a new module id for SCS.

SCS database maintained in dp_peer structure is redundant as
same info is maintained in control peer. Therefore remove
SCS database from dp_peer structure and also remove APIs
which access/update this database.

Change-Id: I951f12de487a4be3ae169d1e309352e4e5031fc9
CRs-Fixed: 3226693
2022-07-16 09:10:04 -07:00
Amir Patel
09ae481644 qcacmn: Use page_frag_cache to avoid fragmentation
Use page_frag_cache to avoid memory fragmentation
in WKK RxMON

CRs-Fixed: 3234833
Change-Id: I2e42a41999694a91b0f3f9386a1ad0c691bf5caf
2022-07-15 05:01:37 -07:00
Tiger Yu
532a58ac1c qcacmn: Increase SPINLOCK_IRQ max hold time for Hypervisor system
In hypervisor system, lock may hold too long due to context switches
and system calls at host which is leading to stolen time. Sometimes
this delay will be larger than 100 ms.

To address this issue, it needs to increase irq save spin lock detection
threshold to 100+ ms for hypervisor system.

Change-Id: I6ea11b96e786c7f45bc84b29e0315e690552569f
CRs-Fixed: 3125904
2022-07-14 18:23:41 -07:00
Devender Kumar
bf35825b9f qcacmn: AST entry definition for IPA
To support the EasyMesh feature WDS need to be enable and
same status need to be given to IPA driver for that add
new AST definition and declaration.

CRs-Fixed: 3226348
Change-Id: Id2c38b55310f6f0ef9e3d42d606feca16c7d9d78
2022-07-10 23:40:36 -07:00
VIJAY RAJ
b3113d5540 qcacmn: TX status conversion for Datapath frame during diag logging
Wrong value of tx status sent to supplicant for Datapath frame
via diag logging.

Convert the tx status value to enum diag_tx_status specific value.

Change-Id: I3bcf47ed5265d82fb64f1499f79e89be52d23a3e
CRs-Fixed: 3236391
2022-07-10 05:07:40 -07:00
Harsh Kumar Bijlani
eb56570ae1 Revert "qcacmn: Use qdf flex mem to allocate rx ppdu info"
This reverts commit I2318f6c5f33e5337f6398263d6717da698be7c92.

Change-Id: Ia60fe6ddb66623761c11398d89d6039c66994b66
CRs-Fixed: 3235962
2022-07-08 19:47:28 +05:30
Himanshu Batra
53eac0def3 qcacmn: QDF changes to support vlan traffic in IPA offload
QDF changes to support vlan traffic in IPA offload

Change-Id: I41e1511284f16ac2afa91115bd953b0055a31d47
CRs-Fixed: 3229809
2022-07-07 23:29:44 -07:00
Jia Ding
47aa8f94e0 qcacmn: Properly get iommu domain attributes
Beginning with kernel version 5.13, enum iommu_attr structure and
iommu_domain_get_attr() API are obsolete. Thus properly wrap
__qdf_iommu_domain_get_attr() API with new QCOM iommu util API.

Change-Id: I1f4d67f64985c599a72bad9853caf2cf18b9bcd1
CRs-Fixed: 3228740
2022-07-07 12:40:14 -07:00
David Oladunjoye
a163a49f31 qcacmn: qdf: Replace fallthrough comment with attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: Ib87c694224af8e1331d813b64e02dc4ec0c176d8
CRs-Fixed: 3218237
2022-07-07 00:52:15 -07:00
Amir Patel
59b643e25f qcacmn: Use qdf flex mem to allocate rx ppdu info
To avoid fragmentation, use qdf flex mem framework
to allocate rx ppdu info

CRs-Fixed: 3230970
Change-Id: I2318f6c5f33e5337f6398263d6717da698be7c92
2022-07-04 01:14:15 -07:00
VIJAY RAJ
bece5a698a qcacmn: Send DHCP and EAP event logs through netlink
DHCP and EAP logs are sent through the
vendor event to the supplicant.

Modify the DHCP and EAP log flow through
the diag event to the supplicant in order to maintain single
logging infrastructure.

Change-Id: I43025f393615451f83e3846c767c4572d108462e
CRs-Fixed: 3219460
2022-07-01 13:22:54 -07:00
Neha Bisht
87596da3e4 qcacmn: Avoid qdf framework for nbuf free in Tx. simple path
Avoid qdf framework for nbuf_free in Tx. simple path.

Change-Id: Ic0a82279586a16f07625fc78d3e07d1a134af3a4
CRs-Fixed: 3224285
2022-06-29 04:31:25 -07:00
Chaithanya Garrepalli
bd0375c2de qcacmn: Remove unnecessary checks in Tx path
1. Remove prints in per packet path
2. Add prefecth for skb shinfo
3. Avoid qdf_get_cpu() in DP tx

Change-Id: I86d196cc7865a2d5b3a5a6098f6f7d84397a60d0
CRs-Fixed: 3227568
2022-06-28 14:00:52 -07:00
Amit Mehta
6e1dde7e43 qcacmn: Add QDF packet type enum
Add new QDF enum for packet type and make
changes to pass status and type to packetlog callback APIs as QDF type

Change-Id: I423839e42b316ce43feaae34e297d3d8f0dee7ba
CRs-Fixed: 3224881
2022-06-23 07:04:02 -07:00
Ananya Gupta
f3f153cba2 qcacmn: Update qdf wrappers for Runtime PM module
With restructured internal hif runtime pm. Modules using the
runtime pm module need to get registered with runtime pm modules
with their static IDs. QDF wrappers for allowing and preventing
runtime pm suspend are depreciated.
This change introduces ID for various modules and new qdf
wrappers, qdf_runtime_pm_get and qdf_runtime_pm_put are
introduced.

Change-Id: I111efe4aa980a26dbd7da30f031b8daba1c870f2
CRs-Fixed: 3169417
2022-06-18 23:11:31 -07:00
Harsh Kumar Bijlani
372f5a1376 qcacmn: Correct the value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT
Incorrect value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT
leads to non-zero value of field "Punctured Channel Info" in
USIG TLV in radiotap header even if puncturing is not enabled.

Correct the value of macro QDF_MON_STATUS_USIG_MU_VALIDATE2_SHIFT to 14.

Also use correct set of macros for setting of usig_mask.

Change-Id: I4a5594f784137238ee4aa072c7595e83673c1960
CRs-Fixed: 3218536
2022-06-15 13:54:53 -07:00
David Oladunjoye
35cf6aca16 qcacmn: Define fallthrough attribute
-Wimplicit-fallthrough is being enabled by default. Some compilers
such as clang require the attribute instead of just a fallthrough comment.

Change-Id: I7e8efaa680c26d9e4a12268e97c1a82a7c7a7a44
CRs-Fixed: 3216249
2022-06-13 17:50:00 -07:00
Gururaj Pandurangi
00f755c0ce qcacmn: Add eMLSR support for ML STA
Add eMLSR support for ML STA. It consists of 2 changes-
1) Since POLICY_MGR_HW_MODE_EMLSR_MODE_BITPOS macro has value of 32, a new
SET BIT function has been implemented to accommodate the 64-bit operation.
2) Add eMLSR related params to peer assoc mlo param struct to update FW
via peer assoc request.

Change-Id: I6e54c632677eacabc57338b0f159d97023b100f2
CRs-Fixed: 3185010
2022-06-08 17:10:10 -07:00
Devender Kumar
96d0dd12b0 qcacmn: Add new macro for net_dev iface_id
IPA driver requires netdev iface_id at client disconnect event
so that the IPA driver can unregister the local interface.
Fix is to pass the netdev iface id from wlan driver to IPA
at client disconnect event.

Change-Id: Idf79553ee2a9574bf8213e69c46229a3843fca84
CRs-Fixed: 3165336
2022-06-03 04:41:25 -07:00
Subrat Dash
46d50239e8 qcacmn: Microsecond time stamping for hw tx latency stats
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.

Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
2022-05-16 17:18:48 -07:00
Ripan Deuri
75f4f36ba3 qcacmn: qdf: Add QDF module ID for DP SAWF
Add QDF module ID for DP SAWF.

Change-Id: I461e8f7f12d36b649c807d78d26f50d63d8b6a4d
CRs-Fixed: 3195161
2022-05-16 05:49:24 -07:00
Amir Patel
ca9379b181 qcacmn: Add fraglist to skb if num_frags exceeds MAX_FRAG
Add fraglist to skb if num_frags exceeds MAX_FRAG

CRs-Fixed: 3186124
Change-Id: I3112d63276fe00aea4fce2e287650078b1573d8a
2022-05-06 16:42:41 -07:00
Alan Chen
28a567fe06 qcacmn: Use single variable for minidump table index position
To avoid calling qdf_get_name_idx() function multiple times, only
use the variable tracking the index position of the log type in the
minidump table.

Change-Id: I978ee0fdeed0d9483da7262293103f468496e1c0
CRs-Fixed: 3185934
2022-05-02 20:50:08 -07:00
KARTHIK KUMAR T
1bc325d4f3 qcacmn: calculate RSSI DBM in WKIKI
Add rssi dbm support bit for rssi_comb calculation
using parameters received from the fw.

Change-Id: Ice57ed69db74852a8b03752632bae747c043e93d
CRs-Fixed: 3183406
2022-04-28 11:51:10 -07:00
Devender Kumar
cb97253df6 qcacmn: FIX IPA definition for kernel 4.14
For Kernel 4.14 the compilation is failing due to IPA definition
are not present in WLAN code and hence added the support for 4.14 kernel

Change-Id: Ibadf43d5009659f2c71f4296fb6e71cbe7eaf189
CRs-Fixed: 4028379
2022-04-26 05:38:18 -07:00
KARTHIK KUMAR T
c7acbbd7ba qcacmn: calculate RSSI in DBM
calculate rssi_comb and rssi per chain values using
parameters received from the fw.

Change-Id: Ide56549c7d7ee9bde609dc6764013d509f7ccac0
CRs-Fixed: 3157484
2022-04-25 04:12:10 -07:00
Shashikala Prabhu
dcaeac7d89 qcacmn: Add QDF module ID for TID-to-link mapping
Add QDF module ID for TID-to-link mapping to add T2LM specific debug
prints.

Change-Id: I334614c3ab19fc9852eb6defa23e26289e093a81
CRs-Fixed: 3167176
2022-04-25 03:01:16 -07:00
Karthik Kantamneni
6380170e35 qcacmn: Introduce new QDF API's to handle skb and net dev requirements
Introduce new QDF API's to handle skb and net dev handling in
os abstract code.

Change-Id: If5a460df2c6c1b4068909fed6e5b3036623c2093
CRs-Fixed: 3164916
2022-04-22 13:19:19 -07:00
Karthik Kantamneni
e1c62fc4ad qcacmn: Implement qdf support for netdev stats
Implement qdf support for netdev stats, so that
qdf macros will be used to handle netdev stats.

Change-Id: I7018fd81de8410080be03b3156ddcc941d1d180f
CRs-Fixed: 3165357
2022-04-22 05:01:24 -07:00
aloksing
9cc1b3a305 qcacmn: Get RU details in MIMO case
Get NSS, MCS and RU size from PPDU_START_USER_INFO TLVs.

Change-Id: I5898a46a52e8a1eb25e3cf54e7dfe50c503e1b68
CRs-Fixed: 3167954
2022-04-21 04:33:31 -07:00
Dundi Raviteja
e04b80efc6 qcacmn: Add pre cac component support params
Add component id, module id and debug id for
pre cac component.

Change-Id: I2abee4b8a48c816d50d04451bbf97a2188d37b54
CRs-Fixed: 3176256
2022-04-21 01:20:24 -07:00
Jeevan Kukkalli
af7c896bdc qcacmn: Add lite mon rx filter setup/reset functions
Add function to setup/reset lite monitor filters
whenever lite monitor mode is enabled/disabled
respectively through cmd line.
Also add function to configure rx header tlv dma length.

Change-Id: Ia5d8bc36e1d033b3e15737bb6b9854f6a7cdd5df
CRs-Fixed: 3143570
2022-04-20 03:12:41 -07:00
Alan Chen
65dd63b576 qcacmn: Add checks in qdf_minidump_log
Add a check in qdf_minidump_log() and qdf_mindump_remove() so that
log types that are not allowed for minidump are not added to the minidump
table  and also are not requested to be removed when they are not in the
minidump.

Change-Id: Id4cfdc0de1fc9baf40ae89ad5d3b3f9543df2805
CRs-Fixed: 3171812
2022-04-20 01:37:46 -07:00
Shiva Krishna Pittala
df606bea4e qcacmn: Add init path changes for UMAC HW reset feature
Add the changes to initialize UMAC HW reset context at SOC level.

Change-Id: I89afca81945ead67fb1a6454240281d89bec3ab9
CRs-Fixed: 3162080
2022-04-19 08:38:42 -07:00
Amir Patel
6b69543b79 qcacmn: Add API to remove frag from skb
Add API to remove frag from skb

CRs-Fixed: 3172668
Change-Id: I0b392366760036c6fda545f558f72a64138d2b11
2022-04-19 05:17:19 -07:00
aloksing
2c977089aa qcacmn: Get puncture type from puncture pattern
Populate punctured pattern from WIFIPHYRX_COMMON_USER_INFO_E
And get puncture type from puncture pattern.

Change-Id: I3a5ba4c7c478d15cf3c3cfdcfd0573775ae342ca
CRs-Fixed: 3166010
2022-04-13 05:18:17 -07:00
Amit Mehta
a32898f45b qcacmn: Add check to skip connectivity logging
Currently we are sending DHCP and EAPOL connectivity
logs for Tx and Rx packets. but in case of DHCP
we are receiving DHCP DISC and DHCP REQ and
we are sending Tx status as TX_Fail.

So to fix issue ignore sending connectivity log in case
of Rx if packet type is DHCP DISC or DHCP REQ.

Change-Id: I688c375243cff0773bd8290e990d5106ff5b47ae
CRs-Fixed: 3164050
2022-04-04 21:00:31 -07:00
Harsh Kumar Bijlani
a95a769c93 qcacmn: Add handling for jumbo pkts in qdf_nbuf_unshare_debug()
Add handling for jumbo pkts in debug version on qdf_nbuf_unshare to
resolve false positive alarms.

Change-Id: If18f81490f145de21d01c19e868252274c7dfefa
CRs-Fixed: 3145824
2022-03-17 03:45:03 -07:00
abhinav kumar
1e20923d2b qcacmn: Send kernel time to userspace
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.

Change-Id: Iec957f0516c06369e0d2991d96936cb1f7fff5f4
CRs-Fixed: 3150781
2022-03-16 19:33:59 -07:00
Nandha Kishore Easwaran
8aa7cab50c qcacmn: Add provision to increase num_elements
Add support to change the number of elements in multi pages
alloc function. This is needed to increase the number of tx_descs.

Change-Id: I29ee2764c24c6f83b0c2cff1062ec7239dcc0b4b
CRs-Fixed: 3130833
2022-03-15 03:42:03 -07:00
Tallapragada Kalyan
7ec6dc2b01 qcacmn: Access shinfo fields only if qdf debug is enabled
Access shinfo fields only if qdf debug is enabled

CRs-Fixed: 3140011
Change-Id: Ifafeb678d7e9d469fd05da4845376a290e42c452
2022-03-06 01:26:00 -08:00
Vulupala Shashank Reddy
f4a25a4af0 qcacmn: Add support for tx flags for packet capture mode
Fill tx flags in radiotap header based on tx status for
tx packets capture in packet capture component.

Change-Id: I52da01a2c0677d32bfb05a1f3095a0e6df084fca
CRs-Fixed: 3132140
2022-03-02 01:28:21 -08:00
nobelj
f0064e8e52 qcacmn: Waikiki tx monitor packet construction
Added function to construct packet and send to stack
after parsing.

Change-Id: I4621eb24840253db261aea63079e27f744f92698
CRs-Fixed: 3115608
2022-03-01 05:39:37 -08:00