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
このコミットが含まれているのは:
@@ -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]);
|
||||
}
|
||||
|
||||
|
新しいイシューから参照
ユーザーをブロックする