qcacmn: cmn_ops changes in datapath for umac-dp decoupling

Change cmn_ops APIs to replace pdev, vdev and peer
dp handles with pdev_id, vdev_id and peer mac address
along with dp soc handle

Change-Id: I5716a87cad56b1dfe8dd56f193bbb6ff923a6af1
このコミットが含まれているのは:
Pavankumar Nandeshwar
2019-12-18 23:20:31 +05:30
committed by nshrivas
コミット a234716d1d
14個のファイルの変更1171行の追加792行の削除

ファイルの表示

@@ -2158,7 +2158,8 @@ fail:
/**
* dp_tx_send_mesh() - Transmit mesh frame on a given VAP
* @vap_dev: DP vdev handle
* @soc: DP soc handle
* @vdev_id: DP vdev handle
* @nbuf: skb
*
* Entry point for Core Tx layer (DP_TX) invoked from
@@ -2168,12 +2169,13 @@ fail:
* nbuf when it fails to send
*/
#ifdef MESH_MODE_SUPPORT
qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
qdf_nbuf_t dp_tx_send_mesh(struct cdp_soc_t *soc, uint8_t vdev_id,
qdf_nbuf_t nbuf)
{
struct meta_hdr_s *mhdr;
qdf_nbuf_t nbuf_mesh = NULL;
qdf_nbuf_t nbuf_clone = NULL;
struct dp_vdev *vdev = (struct dp_vdev *) vap_dev;
struct dp_vdev *vdev;
uint8_t no_enc_frame = 0;
nbuf_mesh = qdf_nbuf_unshare(nbuf);
@@ -2182,6 +2184,15 @@ qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
"qdf_nbuf_unshare failed");
return nbuf;
}
vdev = dp_get_vdev_from_soc_vdev_id_wifi3((struct dp_soc *)soc,
vdev_id);
if (!vdev) {
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
"vdev is NULL for vdev_id %d", vdev_id);
return nbuf;
}
nbuf = nbuf_mesh;
mhdr = (struct meta_hdr_s *)qdf_nbuf_data(nbuf);
@@ -2205,7 +2216,7 @@ qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
}
if (nbuf_clone) {
if (!dp_tx_send(vap_dev, nbuf_clone)) {
if (!dp_tx_send(soc, vdev_id, nbuf_clone)) {
DP_STATS_INC(vdev, tx_i.mesh.exception_fw, 1);
} else {
qdf_nbuf_free(nbuf_clone);
@@ -2217,7 +2228,7 @@ qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
else
qdf_nbuf_set_tx_ftype(nbuf, CB_FTYPE_INVALID);
nbuf = dp_tx_send(vap_dev, nbuf);
nbuf = dp_tx_send(soc, vdev_id, nbuf);
if ((!nbuf) && no_enc_frame) {
DP_STATS_INC(vdev, tx_i.mesh.exception_fw, 1);
}
@@ -2227,16 +2238,18 @@ qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
#else
qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
qdf_nbuf_t dp_tx_send_mesh(struct cdp_soc_t *soc, uint8_t vdev_id,
qdf_nbuf_t nbuf)
{
return dp_tx_send(vap_dev, nbuf);
return dp_tx_send(soc, vdev_id, nbuf);
}
#endif
/**
* dp_tx_send() - Transmit a frame on a given VAP
* @vap_dev: DP vdev handle
* @soc: DP soc handle
* @vdev_id: id of DP vdev handle
* @nbuf: skb
*
* Entry point for Core Tx layer (DP_TX) invoked from
@@ -2246,14 +2259,19 @@ qdf_nbuf_t dp_tx_send_mesh(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
* Return: NULL on success,
* nbuf when it fails to send
*/
qdf_nbuf_t dp_tx_send(struct cdp_vdev *vap_dev, qdf_nbuf_t nbuf)
qdf_nbuf_t dp_tx_send(struct cdp_soc_t *soc, uint8_t vdev_id, qdf_nbuf_t nbuf)
{
qdf_ether_header_t *eh = NULL;
struct dp_tx_msdu_info_s msdu_info;
struct dp_tx_seg_info_s seg_info;
struct dp_vdev *vdev = (struct dp_vdev *) vap_dev;
uint16_t peer_id = HTT_INVALID_PEER;
qdf_nbuf_t nbuf_mesh = NULL;
struct dp_vdev *vdev =
dp_get_vdev_from_soc_vdev_id_wifi3((struct dp_soc *)soc,
vdev_id);
if (qdf_unlikely(!vdev))
return nbuf;
qdf_mem_zero(&msdu_info, sizeof(msdu_info));
qdf_mem_zero(&seg_info, sizeof(seg_info));
@@ -3691,7 +3709,7 @@ qdf_nbuf_t dp_tx_non_std(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
if (tx_spec & OL_TX_SPEC_NO_FREE)
vdev->is_tdls_frame = true;
return dp_tx_send(dp_vdev_to_cdp_vdev(vdev), msdu_list);
return dp_tx_send(soc_hdl, vdev_id, msdu_list);
}
#endif
@@ -4099,7 +4117,7 @@ QDF_STATUS dp_tso_detach_wifi3(void *txrx_soc)
}
#endif
QDF_STATUS dp_tso_soc_detach(void *txrx_soc)
QDF_STATUS dp_tso_soc_detach(struct cdp_soc_t *txrx_soc)
{
struct dp_soc *soc = (struct dp_soc *)txrx_soc;
uint8_t i;
@@ -4133,7 +4151,7 @@ QDF_STATUS dp_tso_soc_detach(void *txrx_soc)
* Return: QDF_STATUS_E_FAILURE on failure or
* QDF_STATUS_SUCCESS on success
*/
QDF_STATUS dp_tso_soc_attach(void *txrx_soc)
QDF_STATUS dp_tso_soc_attach(struct cdp_soc_t *txrx_soc)
{
struct dp_soc *soc = (struct dp_soc *)txrx_soc;
uint8_t i;