qcacmn: Add CDP_IF wrapper layer for data path
Added a new layer CDP_IF inside dp which is an intermediate between the data path functions and the upper layers. All function calls from outside the DP layer to the DP layer goes via the CDP_IF layer Change-Id: I76e671c85d2d02aa0a65a90b356840d3aeede52d CRs-Fixed: 1075597
这个提交包含在:
@@ -32,30 +32,68 @@
|
||||
#ifndef _CDP_TXRX_ME_H_
|
||||
#define _CDP_TXRX_ME_H_
|
||||
|
||||
#include <cdp_txrx_ops.h>
|
||||
/* TODO: adf need to be replaced with qdf */
|
||||
|
||||
#if ATH_SUPPORT_ME_FW_BASED
|
||||
|
||||
extern u_int16_t
|
||||
ol_tx_desc_alloc_and_mark_for_mcast_clone(struct ol_txrx_pdev_t *pdev, u_int16_t
|
||||
buf_count)
|
||||
static inline u_int16_t
|
||||
cdp_tx_desc_alloc_and_mark_for_mcast_clone(ol_txrx_soc_handle soc,
|
||||
void *pdev, u_int16_t buf_count)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_desc_alloc_and_mark_for_mcast_clone)
|
||||
return soc->ops->me_ops->
|
||||
tx_desc_alloc_and_mark_for_mcast_clone
|
||||
(pdev, buf_count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern u_int16_t
|
||||
ol_tx_desc_free_and_unmark_for_mcast_clone(struct ol_txrx_pdev_t *pdev,
|
||||
u_int16_t buf_count);
|
||||
static inline u_int16_t
|
||||
cdp_tx_desc_free_and_unmark_for_mcast_clone(ol_txrx_soc_handle soc,
|
||||
void *pdev, u_int16_t buf_count)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_desc_free_and_unmark_for_mcast_clone)
|
||||
return soc->ops->me_ops->
|
||||
tx_desc_free_and_unmark_for_mcast_clone
|
||||
(pdev, buf_count);
|
||||
return 0;
|
||||
}
|
||||
|
||||
extern u_int16_t
|
||||
ol_tx_get_mcast_buf_allocated_marked(struct ol_txrx_pdev_t *pdev);
|
||||
static inline u_int16_t
|
||||
cdp_tx_get_mcast_buf_allocated_marked(ol_txrx_soc_handle soc,
|
||||
void *pdev)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_get_mcast_buf_allocated_marked)
|
||||
return soc->ops->me_ops->tx_get_mcast_buf_allocated_marked
|
||||
(pdev);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
extern void
|
||||
ol_tx_me_alloc_descriptor(struct ol_txrx_pdev_t *pdev);
|
||||
|
||||
extern void
|
||||
ol_tx_me_free_descriptor(struct ol_txrx_pdev_t *pdev);
|
||||
static inline void
|
||||
cdp_tx_me_alloc_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_me_alloc_descriptor)
|
||||
return soc->ops->me_ops->tx_me_alloc_descriptor(pdev);
|
||||
return;
|
||||
}
|
||||
|
||||
extern uint16_t
|
||||
ol_tx_me_convert_ucast(ol_txrx_vdev_handle vdev, qdf_nbuf_t wbuf,
|
||||
u_int8_t newmac[][6], uint8_t newmaccnt);
|
||||
static inline void
|
||||
cdp_tx_me_free_descriptor(ol_txrx_soc_handle soc, void *pdev)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_me_free_descriptor)
|
||||
return soc->ops->me_ops->tx_me_free_descriptor(pdev);
|
||||
return;
|
||||
}
|
||||
|
||||
static inline uint16_t
|
||||
cdp_tx_me_convert_ucast(ol_txrx_soc_handle soc, void *vdev,
|
||||
qdf_nbuf_t wbuf, u_int8_t newmac[][6], uint8_t newmaccnt)
|
||||
{
|
||||
if (soc->ops->me_ops->tx_me_convert_ucast)
|
||||
return soc->ops->me_ops->tx_me_convert_ucast
|
||||
(vdev, wbuf, newmac, newmaccnt);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
/* Should be a function pointer in ol_txrx_osif_ops{} */
|
||||
#if ATH_MCAST_HOST_INSPECT
|
||||
@@ -70,11 +108,12 @@ ol_tx_me_convert_ucast(ol_txrx_vdev_handle vdev, qdf_nbuf_t wbuf,
|
||||
* @param msdu - the multicast msdu returned by FW for host inspect
|
||||
*/
|
||||
|
||||
int ol_mcast_notify(ol_pdev_handle pdev,
|
||||
u_int8_t vdev_id, qdf_nbuf_t msdu);
|
||||
static inline int cdp_mcast_notify(ol_txrx_soc_handle soc, void *pdev,
|
||||
u_int8_t vdev_id, qdf_nbuf_t msdu)
|
||||
{
|
||||
if (soc->ops->me_ops->mcast_notify)
|
||||
return soc->ops->me_ops->mcast_notify(pdev, vdev_id, msdu);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户