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
This commit is contained in:
Chaithanya Garrepalli
2021-11-23 15:34:30 +05:30
gecommit door Madan Koyyalamudi
bovenliggende bbe062b4b7
commit c42af1f62f
23 gewijzigde bestanden met toevoegingen van 658 en 57 verwijderingen

Bestand weergeven

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -28,7 +29,8 @@ void
target_if_peer_set_default_routing(struct cdp_ctrl_objmgr_psoc *psoc,
uint8_t pdev_id, uint8_t *peer_macaddr,
uint8_t vdev_id,
bool hash_based, uint8_t ring_num)
bool hash_based, uint8_t ring_num,
uint8_t lmac_peer_id_msb)
{
uint32_t value;
struct peer_set_params param;
@@ -56,6 +58,10 @@ target_if_peer_set_default_routing(struct cdp_ctrl_objmgr_psoc *psoc,
*/
value = ((hash_based) ? 1 : 0) | (ring_num << 1);
if (lmac_peer_id_msb)
QDF_SET_BITS(value, PEER_ROUTING_LMAC_ID_INDEX,
PEER_ROUTING_LMAC_ID_BITS, lmac_peer_id_msb);
param.param_id = WMI_HOST_PEER_SET_DEFAULT_ROUTING;
param.vdev_id = vdev_id;
param.param_value = value;