qcacmn: add dp_tx_send_exception

dp_tx_send_exception is an exception path that transmits frames
through FW by setting DP_TX_DESC_FLAG_TO_FW

Change-Id: Id6abfcd2bf060c4fe3aaca91634f3be501530a7e
CRs-Fixed: 2176814
This commit is contained in:
Prathyusha Guduri 2018-01-19 14:17:14 +05:30 • committed by snandini
commit be41d97175
4 changed files with 180 additions and 17 deletions

View file

@ -319,6 +319,23 @@ enum cdp_sec_type {
cdp_num_sec_types
};
/**
* struct cdp_tx_exception_metadata - Exception path parameters
* @peer_id: Peer id of the peer
* @tid: Transmit Identifier
* @tx_encap_type: Transmit encap type (i.e. Raw, Native Wi-Fi, Ethernet)
* @sec_type: sec_type to be passed to HAL
*
* This structure holds the parameters needed in the exception path of tx
*
*/
struct cdp_tx_exception_metadata {
uint16_t peer_id;
uint8_t tid;
uint16_t tx_encap_type;
enum cdp_sec_type sec_type;
};
typedef struct cdp_soc_t *ol_txrx_soc_handle;
/**
@ -375,6 +392,18 @@ typedef void
*/
typedef qdf_nbuf_t (*ol_txrx_tx_fp)(void *data_vdev,
qdf_nbuf_t msdu_list);
/**
* ol_txrx_tx_exc_fp - top-level transmit function on exception path
* @data_vdev - handle to the virtual device object
* @msdu_list - list of network buffers
* @tx_exc_metadata - structure that holds parameters to exception path
*/
typedef qdf_nbuf_t (*ol_txrx_tx_exc_fp)(void *data_vdev,
qdf_nbuf_t msdu_list,
struct cdp_tx_exception_metadata
*tx_exc_metadata);
/**
* ol_txrx_tx_flow_control_fp - tx flow control notification
* function from txrx to OS shim
@ -518,6 +547,7 @@ struct ol_txrx_ops {
/* tx function pointers - specified by txrx, stored by OS shim */
struct {
ol_txrx_tx_fp tx;
ol_txrx_tx_exc_fp tx_exception;
ol_txrx_tx_free_ext_fp tx_free_ext;
} tx;