Commit Graph

48 Commits

Author SHA1 Message Date
Jinwei Chen
8180dff19c qcacmn: Update TX bank profile for STA + TDLS case
Search flag addrX and addrY will be enabled for STA + TDLS case,
but currently TX bank profile is not updated which then STA still
use default TX bank profile - index based lookup search, TX might
fail.

Update bank profile with addrX and addrY search enabled.

Change-Id: I6af12d3707b59c5d4b4bba1fc5ec05a22bfcd984
CRs-Fixed: 3148759
2022-03-16 07:50:27 -07:00
Pavankumar Nandeshwar
223693e614 qcacmn: Handle nawds case of intra-bss forwarding
Handle nawds case of intra-bss forwarding of
multicast packets on Beryllium.

Change-Id: I05ec4d937b4b97aa2c9fb325fb2b6a197968ea2a
CRs-Fixed: 3103402
2022-03-01 00:14:42 -08:00
Pavankumar Nandeshwar
e57b5cfe7b qcacmn: Remove tags from the tlvs and support NO_RX_PKT_HDR_TLV
Remove the tags from the tlvs and support NO_RX_PKT_HDR_TLV
for Beryllium

Change-Id: Ie759582b67a1ae78cddc0402916f9a39e0023009
CRs-Fixed: 3137156
2022-02-28 16:12:32 -08:00
Sumedh Baikady
e4d9b0c2d7 qcacmn: REO queue ref enhancement for Waikiki
In WIN BE chipsets, replace the REO tid
queue programming in FW via WMI with writing to a
Host managed table shared by HW and SW. REO HW will
pick the tid queue address from the table indexed by
peer id and tid number.

Change-Id: I8107ca5116425538329b11ae3519f02b32573bac
2022-02-02 12:06:29 -08:00
Adwait Nayak
10c1ced2ac qcacmn: Fix for monitor issues in WKK
Fix for monitor issues in WKK.

Change-Id: Ie0dbd39b6a9b0014d85b2bdd58113326ac937ba0
CRs-Fixed: 3109099
2022-01-23 22:41:05 -08:00
Rathees kumar Chinannan
b0f35c7a6c qcacmn: Set Mcast control parameter for isolation mode
Set Mcast control parameter for isolation mode.

Change-Id: Id582e89d897af609c8584daca774d36f7d889d8c
2022-01-20 10:01:14 -08:00
Amir Patel
484c917fbf qcacmn: Fix WKK monitor compilation issues
Fix WKK monitor compilation issues

Change-Id: I04bd89341e61bdcef59ecb03baa6cf53ca970cbe
CRs-Fixed: 3100286
2022-01-10 23:54:10 -08:00
Naga
ca09c6cd98 qcacmn: Change BE monitor soc and pdev assignment with macro
Change BE monitor soc and pdev assignment with macro

Change-Id: I0bf47391dea37461cc8356cf3b41c20af0516662
CRs-Fixed: 3096222
2022-01-10 23:53:45 -08:00
Naga
902e67deb9 qcacmn: Fixes for wkk monitor bringup
Fixes for initial wkk monitor bringup in emulation.

Change-Id: Ic7b05b8822ef68daee7dd614fcac7a7de7b9b3fa
CRs-Fixed: 3087563
2022-01-10 22:14:01 -08:00
Naga
7798784bc5 qcacmn: Fixes for compilation issues
- Fixes for compilation issues after enabling
  monitor 2.0 support.
- change copyright year for all files in the chain.

Change-Id: I885e257bd8ca83850656d8a1f408c1bc34920d7a
CRs-Fixed: 3086483
2022-01-10 06:24:34 -08:00
Jinwei Chen
1c27daa164 qcacmn: Remove HW CC CMEM cleanup for Kiwi
For Kiwi, if force device wake mechanism is enabled for register
writing, host will try to wake up UMAC before writing real register,
this also happened for CMEM write. but during soc deinit/detach
period, device might already lose power supply and then UMAC can't
be awake from host view result in panic.

Remove HW CC CMEM cleanup which is not necessary for Kiwi as
CMEM will be re-configured during next boot up.

Change-Id: I515308c065eefbba896cb232773b8d7ffc32d385
CRs-Fixed: 3097991
2021-12-27 13:00:41 -08:00
Sai Rupesh Chevuru
90b1e60e57 qcacmn: Upgrading to htt_tx_wbm_completion_v3
Due to overlap with WBM block in QCN9224,
upgrading to htt_tx_wbm_completion_v3.

Change-Id: If6f7fd64686c9c1b35b253930e7918f570bd547c
2021-12-22 10:43:58 -08:00
Chaithanya Garrepalli
2f1a13fd88 qcacmn: Change bank profile init to soc init
As bank registers need to be reconfigured after
soc deinit. Initialize bank profiles in SOC init
instead of SOC attach

Change-Id: I3baaf62e1cb73d2882d03012e9e078523dcfe736
2021-12-22 00:54:17 -08:00
Chaithanya Garrepalli
ed4b7bf28b qcacmn: Write Rx desc SPT on partner SOC
Changes to write Rx descriptor secondary page
tables on partner SOCs.

Change-Id: If89eff3425078aebb975463a01d0a45c9f5a21db
2021-12-21 01:10:24 -08:00
Manoj Ekbote
6d737bd946 qcacmn: Fix build issue
Fix build issue for HMT

Change-Id: If99b2ced9e726217502742fc285a343e7ae30d2b
2021-12-16 14:03:49 -08:00
Sai Rupesh Chevuru
b43e679a58 qcacmn: Multicast support for MLO
Multicast support for MLO
1. Following functions are newly added.
	dp_rx_igmp_handler()
	dp_tx_mlo_mcast_handler_be()
	dp_rx_mlo_mcast_handler_be()
	dp_mlo_get_mcast_primary_vdev()

Change-Id: If215f843369e6e2621ef302b924e524c86f0d30b
2021-12-16 05:35:30 -08:00
Manoj Ekbote
80e882aa2a qcacmn: Intra-BSS changes for MLO
Use chip ID and destination peer to determine the target soc
and partner vdev for Intra-BSS in MLO case.

Change-Id: I709c52e74426c5e81b50c8063cad7669c0e7002d
2021-12-14 18:13:29 -08:00
aloksing
9a4ae1a05a qcacmn: print tx/rx stats for 11BE
Add and initialize function pointer to print BE/LI stats

CRs-Fixed: 3071271
Change-Id: Ib9748d475ac583b7404fcc5f1207b8019c7671a6
2021-12-09 11:17:34 -08:00
Chaithanya Garrepalli
97a1c8bff1 qcacmn: Changes to caluclate soc max peer id
Changes to caluclate max peer id in case
of MLO

Change-Id: Ib52cfb4f92eafb88689774e8e6c406751d30372a
2021-12-02 06:06:47 -08:00
Sai Rupesh Chevuru
45be95484a qcacmn: Updating the bank config in RAW mode
In the case of RAW mode, VAP parameters encap type, dscp_to_tid map id
and cipher are not updating in bank register.
Added a API to update vdev param.

Change-Id: I702bee563e7451f403fa32292bf20680cd66e213
CRs-Fixed: 3078687
2021-11-29 16:41:02 -08:00
Chaithanya Garrepalli
65ace7a19d qcacmn: fix use after free of hal_soc pointer
In case of WIN hal_soc will be freed in wifi down
path, this pointer is not valid at pdev_detach or
soc_detach.

Change to populate dmac source ring flag to dp_soc
as access is needed at pdev_detach or soc_detach

Change-Id: I628746bdd05ba3791d3d0e6b6dfdf160ed368e9a
2021-11-25 21:05:08 -08:00
Chaithanya Garrepalli
c42af1f62f qcacmn: Rx path changes for multichip MLO
Rx patch changes for multichip MLO

1. Create ini for rx ring mask for each chip
2. Configure hash based routing for each chip based
   on lmac_peer_id_msb
3. Peer setup changes to configure lmac_peer_id_msb
   to enable hash based routing
4. Rx Replenish changes to provide buffers back to owner
   SOC of reo ring

Change-Id: Ibbe6e81f9e62d88d9bb289a082dd14b4362252c4
2021-11-23 19:28:20 -08:00
Chaithanya Garrepalli
bbe062b4b7 qcacmn: DP peer changes for multi-chip MLO
DP peer changes required for multi-chip MLO.
This change includes

1) Adding MLO peer to global peer hash at ML context
2) Add ML peer to all partner chips id to objtable

Change-Id: I230a6c1b14484c587b190a9a318fe9ffb1caea11
2021-11-23 19:28:15 -08:00
Chaithanya Garrepalli
31281aab2b qcacmn: Changes for MLO pdev attach
Changes for MLO pdev attach to get MLO_link_id
information.

Change-Id: Id9e6932138e314dfeb93417fce690329ec7d6ab8
2021-11-23 03:55:41 -08:00
Chaithanya Garrepalli
70398a0ccd qcacmn: Changes needed for MLO soc attach
Changes needed for MLO soc attach to pass chip_id,
dp_ml_context from upper layer.

This change also takes care of assigning appropriate
RBM id for IDLE link descriptors based on chip_id.

Change-Id: I8f5f08c524d91942e6e458f048700b7bdd900107
2021-11-23 03:55:36 -08:00
Chaithanya Garrepalli
5be4508174 qcacmn: Changes in HW cookie conversion for MLO
Changes to have HW cookie conversion context per
desc pool.

This context will be used to program CMEM of the
other SOC in case multi-chip MLO.

Change-Id: I5ec68813e8fcb6d124698a52f5553acf9a7b1795
2021-11-23 03:55:24 -08:00
Sai Rupesh Chevuru
ea5aa01827 qcacmn: Fix for crash observed in E2E FTM mode during Tx
Fix for crash observed in E2E FTM mode during Tx.
Change-Id: Ib7d1723b0887f1abfbf4bdb564bbdf1c5d4acc7e
2021-11-02 00:15:33 -07:00
Rakesh Pillai
57e2c01e5e qcacmn: Peer id parsing changes for beryllium
Take care of the MLO peer bit indication to be
concatenated with peer_id to access the peer map
object.

Change-Id: Ia603a728101e83829a8906d1b847f42389e78ca6
CRs-Fixed: 3039326
2021-10-15 13:13:27 -07:00
Chaithanya Garrepalli
3c3e5709ac qcacmn: Increse num TX rings for QCN9224
This change includes below
1) Changes needed to increase Tx rings to 4
2) Use WBM2SW4 ring for rx error in QCN9224
3) memset srng at alloc to avoid populating RBM_id
in per packet path and enable implicit RBM

Change-Id: Icbd5ac2378273b8f3c6adc41c611e29551fff22f
2021-10-13 13:12:19 -07:00
Rakesh Pillai
e7c9776900 qcacmn: Fix the mask for tx completion near full irq
Currently the IRQ mask for tx completion near full
interrupt is not in sync with the tx completion rings
which are enabled for WCN7850.

Fix the mask for tx completion near full interrupt.

Change-Id: I1432191b260094060873406d48e04fde5b7bc35e
CRs-Fixed: 3052650
2021-10-12 04:52:16 -07:00
Chaithanya Garrepalli
b733f89803 qcacmn: change RxDMA rings to DMAC mode for QCN9224
For Waikiki use same SW2RxDMA ring for both radios

Change-Id: I33ab1749afada08e97d0b16fe68773c2d5532a15
2021-10-11 08:06:37 -07:00
Chaithanya Garrepalli
60db195327 qcacmn: Change to route vdev_id exceptions to FW
Configure HW to route vdev_id mismatch exceptions
packets to FW.

Change-Id: I8baf4a2f299ddda253a9cd3c247054a0e546af23
2021-10-11 04:51:39 -07:00
Pavankumar Nandeshwar
851b1f68c0 qcacmn: enable MEC support for Beryllium
The multicast echo check feature is moved to hardware in
Beryllium. Enable this hardware feature and also disable
the MEC handing code for Beryllium in the host.

Change-Id: I86d319963191f3ed77aba16dcccbc659906edd9f
2021-10-01 15:18:25 -07:00
Chaithanya Garrepalli
9165949820 qcacmn: Enable Tx implict RBM mapping for Waikiki
Changes to enable Tx implicit RBM mapping support
for Waikiki

Change-Id: I4c30c34a250f6fb028c64741745fb5a3e6733ee3
2021-09-21 01:56:39 -07:00
Pavankumar Nandeshwar
2228afc5b4 qcacmn: Enable HW cookie conversion feature
Enable Hardware cookie conversion feature

Change-Id: I75299384ad7b795160b9cf04768326c74401b1ba
2021-08-16 23:14:14 -07:00
Chaithanya Garrepalli
627c3c7ec3 qcacmn: Changes needed for E1.5 release
Below are the changes in HW headers for E1.5
1) WBM2SW release source enum changed back to lithium values
2) DSCP to tid table num is added in Bank register
3) MCAST ctrl value is moved from Bank to seperate register

Change-Id: I342c451d792b1618dcb62ca9d4c77dcf4d4beeac
2021-08-13 12:04:28 -07:00
Chaithanya Garrepalli
0702aaf463 qcacmn: initialize PPE rings
Changes to initialize PPE rings based on ini
configuration

Change-Id: Id6a26b557c45fd78ae17675b0292424e979958ad
2021-08-13 12:04:22 -07:00
Rakesh Pillai
2ee6da1686 qcacmn: Disable CP Stats for BE emulation
Disable CP Stats for Beryllium emulation environment. These stats are
invoked heavily by userspace and need to be retrieved from the FW.The
userpace is holding the rtnl_lock while invoking these stats. This
prevents any additional commands to be sent while a stats command is
pending. Since in emulation environment, the turnaround time is quite
high, no iwpriv/ifconfig/iw command can be sent while the CP stats are
pending, making the driver in accessible from command line.

Hence, disable CP stats by simply returning 0 to the caller in emulation
environment.

CRs-Fixed: 2984362
Change-Id: I80aee6ce2bed1c37b964dd5e7194a66287301355
2021-08-05 08:28:58 -07:00
Mohit Khanna
47a165fe8e qcacmn: Config edits for multiple TX rings in HMT
The following configurations are changed
- Change numer of WBM2SWRELEASE rings from 7 to 8
- Use configurable RBM value when enqueuing packets for TX. This is needed
since WBM release ring numbers do not have an easy mapping to RBM values
for HMT1.0.

Change-Id: Idcf9e48e00b7039331fc1837bb1e900b12f19eb3
CRs-Fixed: 2984362
2021-08-05 08:28:52 -07:00
Jinwei Chen
9008f98623 qcacmn: disable WBM2SW1 HW cookie conversion
Disable WBM2SW1 HW cookie conversion as this ring is for FW usage,
FW does not expect HW cookie conversion for ring descriptor.

Change-Id: Ic4e813a21c6bb0f89d56581941e3c7ab8e3cad54
CRs-Fixed: 2994029
2021-07-29 11:49:55 -07:00
Jinwei Chen
7caa52178d qcacmn: skip HW cookie conversion initialization for FTM mode
skip HW cookie conversion initialization for FTM mode

Change-Id: I890dcf270bb42fff87b15c491d7485ef0c9660e9
CRs-Fixed: 2983003
2021-07-08 23:34:02 -07:00
Jinwei Chen
f6d5584698 qcacmn: Refine HW cookie conversion
(1)naming change in HW CC related function
(2)refinement for cookie ID generation regardless of
SPT page address 4k aligned or not
(3)move CMEM size check under cookie conversion macro

Change-Id: Ib32d802f5512e5facfa4130826406943fb3d27f1
CRs-Fixed: 2977304
2021-07-02 00:33:58 -07:00
Rakesh Pillai
813b3bb474 qcacmn: Add near-full irq handler for TX completion ring
Add the handler to process the near-full condition
on the tx completion ring.

Change-Id: I547cd27d2a8a347fca1cebc6b27072f2d1d8a99d
CRs-Fixed: 2965081
2021-06-30 13:48:13 -07:00
Rakesh Pillai
20dddcb585 qcacmn: Add handler for near-full irqs for consumer rings
Add the handlers to process the near-full irqs for
the rx, tx_completion, wbm_error and reo_status rings.

Change-Id: Ia5a2abb6d66a96e8dcb5c651d24769382db0d666
CRs-Fixed: 2965081
2021-06-30 13:48:02 -07:00
Jinwei Chen
4083155141 qcacmn: Add support for HW cookie conversion
Support HW cookie conversion for BE platform.

Change-Id: I39058fbf256266557f5e734ba376db4db0731b24
CRs-Fixed: 2929533
2021-06-23 23:32:49 -07:00
nobelj
25acb759bf qcacmn: Fixes to enable LI & BE in a build
Changes to build Lithium and Beryllium together.
This is needed for WIN

Change-Id: I74c86803ea99fb17d1f73e8b9c4e7cf59751a707
2021-06-07 01:51:15 -07:00
Rakesh Pillai
27d6b43bfb qcacmn: HAL RX-TLV changes for beryllium
Add HAL rx tlv changes for WCN7850

Change-Id: Ie76c608ed57c6a4f8adac97e1efc7888d2036f52
CRs-Fixed: 2891049
2021-06-07 01:51:15 -07:00
Mohit Khanna
e135b3e106 qcacmn: DP changes to create li/be TX files
Move DP TX target specific functionality to dp/wifi3.0/be
and dp/wifi3.0/li folders. DP Functionality common to both lithium and
beryllium targets stays in dp/wifi3.0.

Change-Id: I3497284153e2ea30a9cb1faf05bd41422329b804
CRs-Fixed: 2891038
2021-06-07 01:51:15 -07:00