コミットグラフ

206 コミット

作成者 SHA1 メッセージ 日付
Yu Tian
667450308d qcacmn: Fix delay req queue not update to date issue
Delay write of SRNG regs may happen on different CPUs.
Sometimes wmb may not sufficient to protect the update
in sequence. Change is aimed to buy more time for the
update of different CPUs.

Change-Id: I4149decf5a29ea213aa38abd2bef062f25d7858d
CRs-Fixed: 3591457
2023-08-31 18:36:59 -07:00
Ruben Columbus
ea44c5ab75 qcacmn: assign dump functions to per chip specific
1. add more function pointers for the remainder functions which are
generic
2. assign functions to per chip level
3. prevent using generic rx_pkt_tlv struct and using at a per soc
specific instead

Change-Id: I1cefb10c7a70f04dbf8b110fcfee6f1c9f4ab1a0
CRs-Fixed: 3533521
2023-08-10 18:22:40 -07:00
Amit Mehta
5748e165de qcacmn: Change log level for hal_info and hif_info
Currently hal_info and hif_info logs levels are set to
QDF_TRACE_LEVEL_INFO, which results in prints being logged
to dmesg buffer.

To prevent prints logging into dmesg buffer, changes logging
level to QDF_TRACE_LEVEL_INFO_HIGH.

Change-Id: I039c5e7b6b47f1ffda8e32ff44322d1963648c41
CRs-Fixed: 3577831
2023-08-08 15:27:30 -07:00
Srinivas Girigowda
70d7e0a2bc Revert "qcacmn: Debug patch for delay reg queue corrupt"
This reverts Change-Id:Ib14634fe31bfdae86aac6c89e5d65618ae5c753e.

CRs-Fixed: 3568037
Change-Id: I8426812fd071bf41a15e1ebb776beeb6da865a00
2023-07-23 17:09:19 -07:00
Yu Tian
f2211bb521 qcacmn: Debug patch for delay reg queue corrupt
Add ring_id check for potential srng pointer corruption.

Change-Id:Ib14634fe31bfdae86aac6c89e5d65618ae5c753e
CRs-Fixed: 3549490
2023-07-20 01:11:55 -07:00
Venkateswara Naralasetty
39ed82e609 qcacmn: qcacmn: Add Monitor 1.0 support for WCN6450
Currently in monitor mode, links are released to WBM through the
SW2WBM_RELEASE ring and WBM will feed the links back to RXDMA
through the WBM2RXDMA_LINK_RING.

WCN6450 uses SOFTUMAC architecture where WBM is not present.
Hence the WBM2RXDMA_LINK_RING is repurposed to SW2RXDMA_LINK_RING
where host will directly release the links to RXDMA using this ring.

Change-Id: I110f607e38c4c2ab10eb1bd7b1f5a7bce2f03692
CRs-Fixed: 3493368
2023-06-16 15:03:02 -07:00
Yeshwanth Sriram Guntuka
778c29b6ce qcacmn: Remove IPA related HAL srng ring id macro
Direct link refill ring HTT setup fails due to srng
ring id mismatch. IPA uses a max of two RXDMA_BUF
rings but the hal srng ring id has a max of 3 RXDMA
ring ids which is causing the ring id mismatch for
direct link refill ring.

The fix is to remove the addition IPA related hal srng
ring id and move the macros appropriately to make
it consistent for both IPA enabled and disabled
cases.

Change-Id: Ieb4bbf646f5f0360e4013ae3e235cc7368087731
CRs-Fixed: 3523851
2023-06-12 16:26:58 -07:00
Yu Tian
4e16309dd1 qcacmn: split srng history into small trunks
ring history array size is large. Change is aimed
to split the allocation into small trunks to avoid
memory allocation failure.

Change-Id: If977baab23718d0186ad2ce6d33319b52096f2f9
CRs-Fixed: 3479226
2023-05-13 23:33:50 -07:00
Srinivas Girigowda
980d883f07 qcacmn: Introduce HAL API to get phy ppdu id size
Introduce HAL API to get phy ppdu id size.

Change-Id: I125eb344787060336919fb361af032fddeb34526
CRs-Fixed: 3454206
2023-05-10 11:50:15 -07:00
Srinivas Girigowda
0419d28f6e qcacmn: Move TX 2.0 code under WLAN_PKT_CAPTURE_TX_2_0 macro
Move TX 2.0 specific code under WLAN_PKT_CAPTURE_TX_2_0 macro.

Change-Id: I20bb1e49a902ec085fbc3df6828fef94a7c577d6
CRs-Fixed: 3415780
2023-05-10 11:48:59 -07:00
Prakash Manjunathappa
50c9ab56a1 qcacmn: Do not subscribe for MC/BC frames for kiwi/peach
MC/BC frames are routed to FW ring based on routing config for MC/BC
data as SRC: FW2RXDMA and DST: RXDMA2DFW.
Data offload features in FW will take care of routing the MC/BC frames
to FW in both active and low power modes.

Make this change only for kiwi/peach using hal ops.

Change-Id: Id8665261a512c9db3e808f95082ff82b47f01ade
CRs-Fixed: 3464036
2023-04-19 18:12:11 -07:00
syed touqeer pasha
5b0980f461 qcacmn: Check Tx halt during umac reset
1. Check Tx halt during umac reset and avoid halt if set already.
2. Perform SRNG disable only in case of umac reset

Change-Id: Id364a6460a64e83002b5c96e08031ad2a0bc8fd7
CRs-Fixed: 3459427
2023-04-14 01:54:13 -07:00
Ruben Columbus
23fbd0d174 qcacmn: remove hal 9224v1
remove 9224v1 hal support and add 9224v1 crash if used

Change-Id: Icf22fa7b65d3d5b8eac44fd876316a4d35829756
CRs-Fixed: 3428599
2023-03-23 13:22:19 -07:00
Jinwei Chen
95dcc45ec2 qcacmn: Add srng pointer register writing history support
Add srng pointer register writing history, it is helpful
for debugging srng HP/TP update issue from host side.
(1) if host faced UMAC source ring, record the HP value and timestamp
when host write the register.
(2) if host faced UMAC destination ring, record the TP value and
timestamp when host write the register.

Change-Id: Ib98e48e1d32defb0d8b30b854b5b0c23691cca59
CRs-Fixed: 3427908
2023-03-17 12:42:28 -07:00
Nobel Sharanyan Jeganathan
799d46a277 qcacmn: invoke hal api to populate word mask
Added hal api to populate word mask

Change-Id: Ic13fdb1fa4104618d67f3f7aae25681951d78581
CRs-Fixed: 3422903
2023-03-16 01:33:31 -07:00
Venkateswara Naralasetty
bd07dadb15 qcacmn: hal changes for wcn6450
Changes required for hal attach for wcn6450.

Change-Id: I7953f14f168b570d598ff88fcdf1f5363e2d4d52
CRs-Fixed: 3383310
2023-03-15 22:38:34 -07:00
Basamma Yakkanahalli
031d51614e qcacmn: Add DBR support for standalone sounding CBF CV data
Added change,
1. Define new DBR module DBR_MODULE_CBF to handle TxBF
   standalone sounding CV data and corresponding ring
   initialization.
2. API to extract new meta data TLV added for CV data.
3. API to handle standalone sounding complete.

Change-Id: Id28c5561bb8b3bf08de7ddd9aa2365e2ae99f1c2
CRs-Fixed: 3415627
2023-03-10 00:44:21 -08:00
nobelj
8c72eb9696 qcacmn: Add hal api to set word mask
Add hal api to set tx monitor word mask

Change-Id: I4eb365b3a7d4f83edcb20146951daf0d5af3d68d
CRs-Fixed: 3421500
2023-03-09 00:41:24 -08:00
Jinwei Chen
c2c0f7f7f9 qcacmn: Support REO2SW ring pointer update threshold configuration
Support REO2SW ring pointer update threshold configuration,
it is helpful for PCIe utilization improvement.
timer based threshold - M: issue pointer updates when M micro
seconds has elapsed.
number based threshold - N: issue pointer updates when N entries
updates occur.

Change-Id: I49ed388520fd52e97e303d6ea9c04ced6cb5cf5f
CRs-Fixed: 3420101
2023-03-08 17:24:33 -08:00
Jeff Johnson
201bd01d1e qcacmn: Fix hal/wifi3.0 documentation
The kernel-doc script identified a number of kernel-doc issues in the
hal/wifi3.0 folder, so fix them.

Note that there are a number of instances where public functions have
their implementation documented in addition to having their interface
documented, so remove the duplicate documentation since only the
interfaces should be documented.

Change-Id: Ic238c0f53658e8754882c83204ffae5ad713ec6b
CRs-Fixed: 3410624
2023-02-23 03:45:23 -08:00
Jeff Johnson
d426f58323 qcacmn: Fix hal/wifi3.0/kiwi documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/kiwi folder, so fix them. For one public function make
sure the interface is documented, and not the implementation.

Change-Id: Ie38a909407d5c2a727c0800ef1a39b89b4ee5e61
CRs-Fixed: 3390484
2023-01-31 19:43:25 -08:00
Ruben Columbus
11742e7129 qcacmn: alloc reo qref table in dp_soc_attach
change allocation location for reo qref table.
per probe allocation results in mem alloc failure when
frame is fragmented

Change-Id: I5922bddebcd0577ba38734ae7d4194d726d825aa
CRs-Fixed: 3326520
2023-01-26 16:11:27 -08:00
Radha Krishna Simha Jiguru
2776d767a2 qcacmn: DSC-Add search_idx tbl alloc framework
In STA mode ast idx override approach is used. In DSc to use ast idx
Need to configure a search idx register with ast idx and cache set number.

Added needed logic to instantiate search index register and
use it for STA mode in DSC path.

Change-Id: I6b3fb7c01a39b16ff1d473381c6155436fe2b27a
CRs-Fixed: 3375219
2023-01-24 06:56:14 -08:00
Hariharan Ramanathan
f75a30225c qcacmn: Add changes to move ioremap outside interrupt context
Add changes to move ioremap of PMM SCRATCH register outside
interrupt context, as ioremap in interrupt context in not valid.

Change-Id: I0fa645c55e10a5241011a1f4ffdccdca48c50d29
CRs-Fixed: 3371194
2023-01-10 05:32:28 -08:00
Pavankumar Nandeshwar
4e0ae9b556 qcacmn: Set search idx and cache mapping for ppeds
Set search idx and cache mapping for ppeds in
sta mode

Change-Id: I1f892d329878e093d19324a178566b87715e1736
CRs-Fixed: 3367824
2022-12-29 05:19:41 -08:00
Sai Rupesh Chevuru
166a30648f qcacmn: sanity checks in hal_attach
In case of memory allocation failures,
return appropriate failure to the caller in hal attach.

Change-Id: Ifc319bbc274d8a13836968d460eb8067857363b8
CRs-Fixed: 3357203
2022-12-29 05:19:31 -08:00
Nandha Kishore Easwaran
ae55a446c6 qcacmn: Scratch register read api for qca5332
Add a new api to read tsf2 and tqm scratch register for qca5332.
The function to read these registers are different from that of qcn9224
since qca5332 is a AHB radio and reading register involves ioremap of
address range.

Change-Id: Ib05df2ddf528594ae67109f8bcb409424a4350a2
CRs-Fixed: 3331476
2022-12-02 18:05:47 -08:00
Pavankumar Nandeshwar
a2ddd8956b qcacmn: Retain ds ring indices across wifi restart
Retain ds ring indices across wifi restart to avoid
edma hang. Fetch the indices from ds module and set
the corresponding ds ring indices.

Change-Id: Ia299a7006166aef096c7d2c1f65f6bef65415a37
CRs-Fixed: 3332152
2022-11-25 00:08:26 -08:00
Yeshwanth Sriram Guntuka
e228622034 qcacmn: Add support to configure MSI registers for Direct Link CE
The MSI address and data information for Direct Link
copy engines will be available once the WiFi driver
on LPASS is initialized. Add support to configure the
IPCC address and data values into Direct Link copy
engines at runtime.

Change-Id: I5e7dff90c2f1ff764462c235deb5795ed019a16b
CRs-Fixed: 3316679
2022-11-12 03:10:53 -08:00
Yeshwanth Sriram Guntuka
99615e170d qcacmn: Add support for Direct Link refill ring
Add support and ops for initialization and
deinitialization of Direct Link refill ring.

Change-Id: I2c7018c4f8411fb7a590cfbb8b991f9152b22397
CRs-Fixed: 3316656
2022-11-12 01:23:24 -08:00
Ripan Deuri
11ccd80f56 qcacmn: Add HAL APIs to read tsf2 and tqm scratch register
Add support to read TSF2 and TQM scratch regitser in the HAL layer
for WKK v1 and v2 board.

Change-Id: I0ef5e8cf4e06c0b5c98169252a81f70989285d2d
CRs-Fixed: 3321782
2022-10-31 13:38:15 -07:00
Rakesh Pillai
f533809136 qcacmn: Drop mpdus received on non-monitor PMAC
Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.

The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.

In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.

Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
2022-10-27 21:11:35 -07:00
Manish Verma
bc05063ebb qcacmn: Add support for DS UL processing
Add support for PPE-DS REO2PPE ring processing

Change-Id: I74f4195ce4a58d1afaef132257b969ce38a65e1c
CRs-Fixed: 3278270
2022-10-11 14:23:18 -07:00
Jeff Johnson
117ae69181 qcacmn: hal: Fix misspellings
Fix misspellings in hal/...

Change-Id: Icf033a647e6a15d46420d7102dc161b94fa7dd2c
CRs-Fixed: 3304685
2022-10-10 23:02:47 -07:00
Sai Rupesh Chevuru
6aef607629 qcacmn: htt support for compact tlv feature
Adding htt support for compact tlv feature

Change-Id: If45b5b32c4cef482cb6c54b5f2919b56384a8a93
CRs-Fixed: 3293927
2022-10-09 20:42:33 -07:00
Tallapragada Kalyan
27da15777b qcacmn: initialize BE specific HAL API callbacks
certain BE specific HAL APIs were only initialized for
KIWI chipset but not for WKK. Now moved all these APIs
under beryllium generic initialization.

These APIs are mainly used in de-frag pkt handling.

CRs-Fixed: 3294784
Change-Id: I6611f1b7ef80b432d24a490ba65880dd55539137
2022-09-26 02:04:24 -07:00
Ruben Columbus
15e2647ec7 Revert "qcacmn: add reo bit to enable reo qref in fw"
This reverts commit Ib8d4a2f6e7f598d45ba2b2c628ed6f3929fc3337

Change-Id: I00c1fe824d3776961180cc82ec398c0f9da9b403
CRs-Fixed: 3292473
2022-09-23 12:45:52 -07:00
Hariharan Ramanathan
0f046983ec qcacmn: HAL changes for QCA5332
1. Changes to get correct write address in hal_get_window_address_5332.
2. Fix for monitor init crash - Added dummy entries to match the
ring_id.

Change-Id: If59b1c231d4595a95e7c1f02de1dbe0ce27a8805
CRs-Fixed: 3268933
2022-09-13 16:46:48 -07:00
Amit Mehta
163dd20054 qcacmn: Add API to read tsf time
Add API to read tsf time from scratch registers.

Change-Id: If736c31f9ae522a9f853e7b83b6b8a61cad990da
CRs-Fixed: 3287544
2022-09-13 10:51:38 -07:00
Ananya Gupta
61b836202a qcacmn: Record data if pci write during suspended state
When FW was enabling WOW, a ring HP update interrupt is seen
which led to fw crash.
This change records any PCI writes that went through during
runtime suspend from host.

Change-Id: I3c44760ebaf49a131b483813522fe3e451957215
CRs-Fixed: 3280166
2022-09-12 10:15:32 -07:00
Shiva Krishna Pittala
527b0343a3 qcacmn: Fix hal_get_srng_ring_id() for Beryllium LMAC rings
For Beryllium LMAC rings, hal_get_srng_ring_id() provides the ring IDs
separately per each LMAC only if that LMAC ring is a destination ring
(This is done to use a common source ring for the DMAC rings).
But the ring IDs for LMAC source rings like DIR_BUF_RX_SRC_DMA_RING are not
being provided separately per LMAC. As a result, these ring IDs in
split-PHY mode are colliding for the 2 LMACs.
Fix this by doing the following.
 - Mark the DMAC common rings within the LMAC rings.
 - Provide ring ID separately per each LMAC if the ring is an LMAC ring
   but not a DMAC common ring.

Change-Id: Ifdae085b5784a03763abfc4edb42d94593e3ea21
CRs-Fixed: 3282702
2022-09-12 05:02:13 -07:00
Ruben Columbus
ced4c17614 qcacmn: add reo bit to enable reo qref in fw
set register WCSS_UMAC_REO_R0_MISC_CTL 6th bit to 1
to enable reo wref from fw side.

Change-Id: Ib8d4a2f6e7f598d45ba2b2c628ed6f3929fc3337
CRs-Fixed: 3273558
2022-09-03 04:44:51 -07:00
Pavankumar Nandeshwar
2f3e28c33c qcacmn: Configure registers for reo2ppe
Configure REO destination remap register and REO DST_INFO
register fot REO2PPE ring

Change-Id: I81cce807cde3babcfb265675ec758d33fc10214f
CRs-Fixed: 3274303
2022-08-26 07:31:54 -07:00
Pavankumar Nandeshwar
a615488cf4 qcacmn: Hal changes for Umac post reset at host
Hal layer changes to handle Umac post reset
and post reset complete events from firmware.

Change-Id: Ib25427930aab25650731c87b38e2ef7e47ae98d9
CRs-Fixed: 3267222
2022-08-21 00:37:53 -07:00
Pavankumar Nandeshwar
a839cac207 qcacmn: Datapath changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I1d3d295468e97ebce5e7310055abc508e16e99b0
CRs-Fixed: 3174560
2022-08-11 15:23:13 -07:00
Sai Rupesh Chevuru
ceccc982e3 qcacmn: Get the peer meta data from msdu end tlv
In QCN9224 fetch the peer meta data from the msdu end tlv
instead of MPDU start

Change-Id: Icd9420cd83e06abe5e54e9e05cc8cbf8d8312ae1
CRs-Fixed: 3245626
2022-08-10 01:18:45 -07:00
Ruben Columbus
7a962c59e6 qcacmn: add new files for HAL v2
add hal v2 new files

Change-Id: I7728be33db7d28e44d04f19c99e8b9f47145f2e3
CRs-Fixed: 3249002
2022-08-01 19:41:18 -07:00
nobelj
09bc440ca9 qcacmn: Add support for tx monitor full buffer and minor fix
Add support and handle tx monitor full buffer payload and
other minior fix include change of name for uniformity.

Change-Id: If401ecd5e1c6263584fa7013df672459c883ca8b
CRs-Fixed: 3215244
2022-07-26 18:03:44 -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
Hariharan Ramanathan
16630d2422 qcacmn: Hal related changes for QCA5332
1. Changes to move hal_tx_config_rbm_mapping_be function from common to
device specific as it has ppe related snippets.
2. Changes to remove all PPE related codes in QCA5332 hal code.
3. Changes to correct macros according to fw_hrs.
4. Changes to move functions with device specific Macros to header files
so that it gets compiled with respective device's FW headers and gets
correct Macros

Change-Id: I479b406f318aa42d2b1032349aaf42d95b8c18e5
CRs-Fixed: 3235966
2022-07-25 02:03:09 -07:00