qcacmn: Handle ppe peer setup for QCA5332 platform

As ppe_ds is not supported on QCA5332 platform, in
case of MLO peer always setup ppe peer using primary
peer

Change-Id: Icd05b69c07c05fe2fc793f49fcf28b5d58bc8bb6
CRs-Fixed: 3480359
このコミットが含まれているのは:
Chaithanya Garrepalli
2023-04-26 21:58:54 +05:30
committed by Madan Koyyalamudi
コミット 6605c27dcc

ファイルの表示

@@ -1183,11 +1183,13 @@ static void dp_soc_txrx_peer_setup_be(struct dp_soc *soc, uint8_t vdev_id,
{
struct dp_vdev_be *be_vdev;
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
struct dp_soc_be *be_soc;
struct cdp_ds_vp_params vp_params = {0};
struct cdp_soc_t *cdp_soc = &soc->cdp_soc;
struct cdp_soc_t *cdp_soc;
enum wlan_op_mode vdev_opmode;
struct dp_peer *peer;
struct dp_peer *tgt_peer = NULL;
struct dp_soc *tgt_soc = NULL;
peer = dp_peer_find_hash_find(soc, peer_mac, 0, vdev_id, DP_MOD_ID_CDP);
if (!peer)
@@ -1200,7 +1202,12 @@ static void dp_soc_txrx_peer_setup_be(struct dp_soc *soc, uint8_t vdev_id,
return;
}
be_vdev = dp_get_be_vdev_from_dp_vdev(peer->vdev);
tgt_peer = dp_get_tgt_peer_from_peer(peer);
tgt_soc = tgt_peer->vdev->pdev->soc;
be_soc = dp_get_be_soc_from_dp_soc(tgt_soc);
cdp_soc = &tgt_soc->cdp_soc;
be_vdev = dp_get_be_vdev_from_dp_vdev(tgt_peer->vdev);
if (!be_vdev) {
qdf_err("BE vap is null");
qdf_status = QDF_STATUS_E_NULL_VALUE;
@@ -1219,9 +1226,10 @@ static void dp_soc_txrx_peer_setup_be(struct dp_soc *soc, uint8_t vdev_id,
/*
* Check if PPE DS routing is enabled on the associated vap.
*/
qdf_status = cdp_soc->ol_ops->get_ppeds_profile_info_for_vap(soc->ctrl_psoc,
peer->vdev->vdev_id,
&vp_params);
qdf_status =
cdp_soc->ol_ops->get_ppeds_profile_info_for_vap(tgt_soc->ctrl_psoc,
tgt_peer->vdev->vdev_id,
&vp_params);
if (qdf_status == QDF_STATUS_E_NULL_VALUE) {
dp_err("%pK: Could not find ppeds profile info vdev\n", be_vdev);
qdf_status = QDF_STATUS_E_NULL_VALUE;
@@ -1229,7 +1237,7 @@ static void dp_soc_txrx_peer_setup_be(struct dp_soc *soc, uint8_t vdev_id,
}
if (vp_params.ppe_vp_type == PPE_VP_USER_TYPE_DS) {
qdf_status = dp_peer_setup_ppeds_be(soc, peer, be_vdev,
qdf_status = dp_peer_setup_ppeds_be(tgt_soc, tgt_peer, be_vdev,
(void *)&be_soc->ppe_vp_profile[vp_params.ppe_vp_profile_idx]);
}