Wykres commitów

3937 Commity

Autor SHA1 Wiadomość Data
Linux Build Service Account
288f8c09ea Merge "qcacmn: Add DP rings to SSR dump" 2023-09-22 01:14:07 -07:00
Linux Build Service Account
926af59b3c Merge "qcacmn: Add support to update MCAST stats for STA mode" 2023-09-22 01:13:56 -07:00
Linux Build Service Account
5c88ee151f Merge "qcacmn: Add new line for better display in dp stats" 2023-09-22 01:13:55 -07:00
Linux Build Service Account
eb325cb456 Merge "qcacmn: Get num desc from pool element count field" 2023-09-22 01:13:54 -07:00
Linux Build Service Account
3668c4e7a7 Merge "qcacmn: Avoid alloc and init of tx desc pool for NSS offload case" 2023-09-22 01:13:51 -07:00
Linux Build Service Account
cad17a75c9 Merge "qcacmn: Set rx_hw_stats NULL and add NULL check for rx_hw_stats" 2023-09-22 01:13:50 -07:00
Linux Build Service Account
035cb4934b Merge "qcacmn: Add code to solve the memory leak issue" 2023-09-22 01:13:49 -07:00
Gaurav Saini
b64de0cf4a qcacmn: Handle RX exception from IPA on WDS-EXT netdev
When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.

Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.

Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
2023-09-21 17:57:45 -07:00
Jeevan Kukkalli
bafd3ffd85 qcacmn: Use page frag cache to allocate page fragments
Use per pdev page frag cache to allocate page fragments
to efficiently use memory.

Change-Id: I8a16175ac72d56bcd9783ff0590710aa779454cb
CRs-Fixed: 3611781
2023-09-21 17:57:24 -07:00
Amit Mehta
34d88f5bfc qcacmn: print vdev id in failure case
Currently only peer mac address is logged if
failed to find peer, there is no log for vdev id.
If caller has passed wrong vdev_id from current
error print one can not identify the issue.

So to fix the issue add vdev id to error log
to check if vdev_id was passed correctly.

CRs-Fixed: 3616476
Change-Id: I3c500784e744f37dd8a1a2a7b84c7b94baf13149
2023-09-21 14:36:15 -07:00
Amit Mehta
0b0fde8706 qcacmn: Add DP rings to SSR dump
Add DP rings to SSR dump

Change-Id: If1d1fe0a66a0f836bd5344b14ba4187e58921568
CRs-Fixed: 3604903
2023-09-20 07:21:36 -07:00
Neha Bisht
acd794ba1c qcacmn: Avoid alloc and init of tx desc pool for NSS offload case
Avoid alloc and init of tx desc pool for NSS offload case

Change-Id: I16a06ce9d15e56e04692c9032caf04df8f477306
CRs-Fixed: 3619837
2023-09-20 17:28:33 +05:30
Neha Bisht
7eb942e290 qcacmn: Get num desc from pool element count field
Get num desc from pool element count field

Change-Id: I14104a89d3d6ca3af6c511ee2c7ce4708b2c36e6
CRs-Fixed: 3618036
2023-09-20 04:55:10 -07:00
Amit Mehta
9cdb66d169 qcacmn: Set rx_hw_stats NULL and add NULL check for rx_hw_stats
dp_request_rx_hw_stats allocates memory to rx_hw_stats
and dp_rx_hw_stats_cb frees the memory. There can be case
that dp_request_rx_hw_stats is timed out and host
receives event from HW, if pending_tid_stats_cnt is 1
in that case rx_hw_stats will be freed from dp_rx_hw_stats_cb.
In case of race between request timeout and REO event
dp_request_rx_hw_stats will try to access the rx_hw_stats in
request timeout case which can result in use after free issue.

To fix the issue set rx_hw_stats = NULL in event callback
and add NULL check for rx_hw_stats before accessing.

CRs-Fixed: 3618526
Change-Id: I5dec8a1f94d309b5482f766e94fe5fd831a689d3
2023-09-20 02:23:01 -07:00
KARTHIK KUMAR T
b17821939a qcacmn: Add new line for better display in dp stats
Add new line for better display in dp stats

Change-Id: Ia561a1a654acbbcce93bb605ef95c60fdf6f5454
CRs-Fixed: 3613410
2023-09-19 23:10:22 -07:00
Amit Mehta
3c0448206e qcacmn: Add support to update MCAST stats for STA mode
Currently host does not maintain TX completion stats for
MCAST frames separately for STA mode.

Add support to update MCAST stats for STA mode.

CRs-Fixed: 3608640
Change-Id: Ia28a4cd332783a6767704cd0c479235ff27ddd8b
2023-09-20 11:17:10 +05:30
Shashikala Prabhu
5ac8175db3 qcacmn: Use the correct data type to print the time value
The timestamp values in umac reset context saved using uint64_t data type.
Hence, use '%llu' to display these values.

Change-Id: Ifd1069d0d8fdb9c6e7d91bc087d064ef11e3aec4
CRs-Fixed: 3613628
2023-09-19 22:34:16 -07:00
Neha Bisht
012eaa6624 qcacmn: Handle release_src FW packets for ultrafast or ppeds paths
Handle completion of packets with release source as FW even if
ultrafast path flag FASTPPATH_SIMPLE or ppeds flag is set.

Change-Id: I3d6a4bf23000d2ccf0a1a8546a9db3dc63a793e6
CRs-Fixed: 3616109
2023-09-19 12:16:55 -07:00
aloksing
37f00a180c qcacmn: Add Word mask MPDU END TLV for monitor
Receiving MPDU end TLV length as 0
because TLV compaction is enabled and
wmask for mpdu end tlv is set to 0.

Adding word mask for MPDU END TLV.

Change-Id: If065cbf19f979734123a433e467a8a9bb8a1013a
CRs-Fixed: 3613053
2023-09-19 02:28:35 -07:00
Pavankumar Nandeshwar
50089ddecd qcacmn: Handle SG packets in null queue path for KIWI
Handle scatter gather packets in null queue path
for KIWI platform

Change-Id: I3ae3fb20bdddf8b8bf283982772205072dd20bc1
CRs-Fixed: 3609032
2023-09-18 20:29:00 -07:00
Neha Bisht
2e13c17be4 qcacmn: Add API to fetch ast entry by mac and ast type
Add API to fetch ast entry by mac and ast type

Change-Id: Ib8cfa5c269fd10c149804d02fcfae35e88c2a53f
CRs-Fixed: 3614965
2023-09-18 15:32:33 -07:00
Neha Bisht
29b42e6ee2 qcacmn: Add hlos_tid_override feature in fast_path for be
Add hlos_tid_override feature in fast_path for be

Change-Id: Ib9d0015993b9c84e047e12cb47dd92eebb84508e
CRs-Fixed: 3613823
2023-09-17 02:36:39 -07:00
Jinwei Chen
65fdbbce9a qcacmn: skip monitor reap timer if irq is enabled
For CFR test, monitor reap timer will start, meanwhile
irq for monitor status ring is also enabled, these two will
conflict and access mon_pdev->rx_status_q in the same time,
skb double free issue is reported.

If irq for monitor status ring has been enabled, skip to start
monitor reap timer which is unnecessary.

Change-Id: Ic015d370cb80604d7e4c261054ad529b64edca25
CRs-Fixed: 3614097
2023-09-17 02:36:28 -07:00
Pavankumar Nandeshwar
df8baa952a qcacmn: Use correct parameters for call to dp_tx_desc_find
Use correct parameters for call to dp_tx_desc_find in
case of rh platform

Change-Id: Ic57c68fd134511d907fb966f7a089de1614ee464
CRs-Fixed: 3615517
2023-09-16 07:46:00 -07:00
Sushant Butta
37c16635b1 qcacmn: Set fast_tx flag when ol_stats are disabled
Set fast_tx when ol_stats are disabled in
ultra_fastpath to avoid Tx completion overhead.
And also includes following fixes:
cdp support to get jitter stats
cdp support to set/get vow stats
cdp support to get Sojourn Stats

Change-Id: I8bdb176edbdf210b4dedfaa117f058f57bd17241
CRs-Fixed: 3604215
2023-09-16 07:45:49 -07:00
Karunakar Dasineni
6bb232bd38 qcacmn: Fix negative shift operand
Fix to avoid negative shift.

Change-Id: Idff0836e7e5ded0aeca400b057790df26c1c67fd
CRs-Fixed: 3609048
2023-09-16 07:45:38 -07:00
jinbao liu
29b3272233 qcacmn: Remove RX_REFILL_BUFF_POOL_SIZE related MACROs
This change removes two MACROs: DP_RX_REFILL_BUFF_POOL_SIZE
and DP_RX_REFILL_THRD_THRESHOLD because they have been made
configurable. Thus, they can be customized as per platforms.

Change-Id: Iba63b6fc9c9a0be764d35882f60c61867f969afe
CRs-Fixed: 3602356
2023-09-15 21:10:03 -07:00
Namita Nair
429dc9c9e6 qcacmn: Ensure rx_desc->unmapped is set to 1 before releasing lock
Originally Change-Id: I9fa71bdb6d4e4aa93fc795cc5dd472a181325991
was brought in to fix a race condition between Rx buffers
map/unmapped in dp_ipa_handle_rx_buf_smmu_mapping() and at the
same time map/unmapped from dp rx replenish context.
The fix ensured that rx_desc is unmapped and rx_desc->unmapped=1
flag will be set atomically within a lock.

But Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
introduced a flaw by releasing the lock before setting the flag to 1.

This is currently causing race condition and causing double
unmap calls when IPA smmu pool unmap and dp_rx_replenish unmap
is running in parallel. This change will fix this issue, by setting
the flag before the lock is released.

Change-Id: I3533bb5f6cc0437395149cd3c718826ef0b482a3
CRs-Fixed: 3594252
2023-09-15 21:09:32 -07:00
Namita Nair
8de279eab8 qcacmn: Handle ipa_mapped flag correctly to prevent race
Currently soc->ipa_mapped flag is set to true only after all
the buffers are SMMU mapped to IPA. This leads to a race
window where Rx buffers routed to WLAN HOST in the replenish
path are not mapped to IPA, as the ipa_mapped flag is still
set to 0. The fix is to set the ipa_mapped flag to 1, right when
the IPA pipes are enabled, before waiting for the complete
buffer pool to be IPA SMMU mapped.
With this fix, RX buffers can be unmapped and mapped to IPA
domain in dp_pdev_rx_buffers_attach() and
dp_pdev_nbuf_alloc_and_map_replenish() in WLAN host RX path when
ipa pipes are enabled.

This change also renames ipa_mapped flag to ipa_map_allowed.

Change-Id: Ibbe50cb211f858a3372e31644df2f5e98f99a292
CRs-Fixed: 3569745
2023-09-15 21:09:22 -07:00
Namita Nair
1f2104b733 Revert "qcacmn: Initialize ipa_mapped to 1 in soc attach"
This reverts Change-Id: Idcb86db99f522959b639865f77178cd47a234277.

Change-Id: I3084631103fa3e1937605af5ed5e14b8348cef57
CRs-Fixed: 3569762
2023-09-15 21:09:12 -07:00
Surya Prakash Raajen
06a7a53dde qcacmn: Add support trap protocol tagged packets for trigger
Add support to trap protocol tagged packets for the unique
metadata to send it as trigger to standby application

Change-Id: I76644477d1df2a0851472283623c1dc3dbe19b8b
CRs-Fixed: 3608436
2023-09-15 21:09:01 -07:00
Yu Wang
3f6e59aef9 qcacmn: add support for transmit latency stats
Add support for per-link transmit latency statistics

Change-Id: Iadb87deb6e19cd4d9f86565fe687c7d9a1f05679
CRs-Fixed: 3597028
2023-09-15 17:34:02 -07:00
Harsh Kumar Bijlani
acb5e1d631 qcacmn: Add proper handling for failure cases
Add proper handling for failure cases

Change-Id: I5c54a8c0e38a034cc5abfc1bb3ec006841d5f273
CRs-Fixed: 3612145
2023-09-15 07:43:56 -07:00
KARTHIK KUMAR T
18c14aed56 qcacmn: Add code to solve the memory leak issue
Add code to solve the memory leak issue

Change-Id: Iecaf7423757cbb82ed4eb8e7f493669a2b76899a
CRs-Fixed: 3617258
2023-09-15 14:29:14 +05:30
Amrit Sahai
ce15cf8067 qcacmn: Optimize Event Based Mechanism to reduce delay
Wait for firmware response only if the response
is pending after posting the txrx stats query to firmware.

Change-Id: Ib300f97bc2cc08a2947be9021ff3e399191d1c8e
CRs-Fixed: 3599915
2023-09-14 08:42:03 -07:00
Jeevan Kukkalli
29bda86420 qcacmn: Avoid double monitor rings deinit
Avoid redundant call to monitor rings deinit during
pdev deinit.

Change-Id: Ib298203b1fee5897371d9d5e13d0fb4abe118077
CRs-Fixed: 3613036
2023-09-14 04:45:07 -07:00
Pavankumar Nandeshwar
a9d8a404fc qcacmn: Handle special tx descriptor pool cases
Fix the missing special tx descriptor pool cases

Change-Id: Ie6a7539e77b805483c32cb7bcfbc3143f9ef8034
CRs-Fixed: 3610126
2023-09-13 14:20:33 -07:00
Ruben Columbus
4902c68f4d qcacmn: 4k skb buffer change
add new ini to configure skb size and change it in each place its used
correspondingly

Change-Id: Id00c6351bf6bc1b9df5e19064b2057dadd315e9b
CRs-Fixed: 3584462
2023-09-13 14:19:51 -07:00
Amit Mehta
c73beace9b qcacmn: Fix direct return while calling dp_set_peer_freq
Currently from dp_set_peer_param while calling dp_set_peer_freq
there is direct return which can result in peer refleak. as there
is reference taken in dp_set_peer_param.

To fix the issue instead of direct return break and release reference.

Change-Id: Ic3cfe993de64566afc13157810b80d3b3b28d244
CRs-Fixed: 3608000
2023-09-12 23:35:10 -07:00
Mukul Dhiman
eed178035d qcacmn: add check before % operation
add check before % operation

Change-Id: I4189daf130470f5182a2dec3885a68c7ecf717ec
CRs-Fixed: 3603379
2023-09-12 14:43:25 -07:00
Jinwei Chen
ebc572b89c qcacmn: Support RX MPDU sequence logging from DP
tcp_seq_num and tcp_ack_num in qdf_nbuf_cb is not used
for Beryllium, repurpose them to store RX MPDU sequence
number. get RX mpdu sequence number from DP and store
it in qdf_nbuf_cb for logging later.

Change-Id: I3c21b383d827f12a1e1ec6202a5fc17804dddc1b
CRs-Fixed: 3610468
2023-09-12 14:43:14 -07:00
Yu Wang
77608ba875 qcacmn: decouple TSF auto report from uplink delay feature
TSF auto report is a stand alone feature, which can
be used to sync TQM clock and TSF clock, more than
one features depend on it.
Introduce a new build flag WLAN_FEATURE_TSF_AUTO_REPORT
to decouple it from uplink delay feature.

Change-Id: I5c62bee08d44234dc4936b3c63f3060edec30df8
CRs-Fixed: 3560244
2023-09-12 14:42:24 -07:00
Adwait Nayak
af00744c5d qcacmn: Update tlv hdr size to 8 Bytes for QCA5332 and QCN6432
Issue:
TX Monitor feature is broken recently in mainline (12.4)
for both QCA5332 and QCN6432.

RCA:
As part of tx monitor processing, it is needed to iterate
through the status buffer queue to populate TX PPDU info.
Every TLV present in the status buffer is parsed one by
one. Moving from one to next TLV is done based on:
tlv + tlv length + tlv header size

And the TLV tag gets computed from the initial 4 Bytes of
the TLV; TLV tag is generally used for further TLV parsing
methodology at HOST.

In case of QCA5332 and QCN6432, the tlv header size should
be 8 Bytes, whereas it is 4 Bytes now. Hence, right after the
first TLV is parsed, we see the TLV tag being computed as 0
for the second TLV and since there is a miscalculation of
4 Bytes in every TLV parsing, all other TLV parsings are
improper. This is the reason why the TX DATA TLV is getting
invoked before TX MPDU START; which results into system crash.

Fix:
Update the TLV header size to 8 bytes

Change-Id: Ib2857ae55e309a78ed6ee9bdbe695ae6daa71a08
CRs-Fixed: 3588743
2023-09-11 15:51:07 -07:00
Bing Sun
e6bd68e884 qcacmn: Fix API with "no previous prototype" build error
If the function neither static nor declared before, it reports
build error "no previous prototype for"。
Define the function as static if it is not declared before.

Change-Id: I12294af372ff9586c99b726bcf755a4fa3e7ba28
CRs-Fixed: 3606048
2023-09-11 03:39:08 -07:00
Chaithanya Garrepalli
31c9403303 qcacmn: Add TX global desc pool per arch type
As cookie format is different between LI and BE have
different global descriptor pool for Lithium and
Beryllium

Change-Id: Idd222f4009c017a1bc4bc4b14043b36d927a9e27
CRs-Fixed: 3608792
2023-09-09 12:57:16 -07:00
Pavankumar Nandeshwar
d003031f93 qcacmn: Avoid multiple pre reset done triggers in Umac reset
Make sure that the pre reset done notification is sent
only once during Umac reset.

Change-Id: I1d9e1d8caef49443d25e879086043e815ea087a1
CRs-Fixed: 3594653
2023-09-09 03:36:44 -07:00
Hariharan Ramanathan
802d89f09e qcacmn: Changes to avoid negative parameter in function
Changes to add debug prints and avoid passing negative parameters to a
function.

Change-Id: I8d1a10e0947582c8a307e40f6871e5dad802012a
CRs-Fixed: 3603846
2023-09-08 11:30:35 -07:00
Mukul Dhiman
e9acbea027 qcacmn: fix dp_update_mlo_ctxt_stats calling location
fix dp_update_mlo_ctxt_stats calling location

CRs-Fixed: 3593264
Change-Id: I3421609b77b975a2579fc03dcbaf011520af772b
2023-09-05 15:15:01 -07:00
Amit Mehta
3a860c18df qcacmn: Add support to update peer freq
Add support to update peer freq info and
add changes to map link ID to band

Change-Id: I1115573c70d73ff83df415bb5732b8ff4109a787
CRs-Fixed: 3589666
2023-09-04 18:35:01 -07:00
Mukul Dhiman
f2ec1f62b2 qcacmn: preventing potential Side effect of ++ oper in assertion
preventing potential Side effect of ++ oper in assertion

Change-Id: I3db2004f11e7668c23278754505bb6c40bd26a24
CRs-Fixed: 3603424
2023-09-04 18:34:40 -07:00