qcacmn: Mesh throughput enhancements

Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
This commit is contained in:
Venkateswara Swamy Bandaru
2018-01-05 11:55:44 +05:30
committed by snandini
parent 306de84f27
commit e91dd92e8b
5 changed files with 122 additions and 37 deletions

View File

@@ -115,6 +115,8 @@ struct dp_tx_queue {
* @u.tso_info: TSO information for TSO frame types
* (chain of the TSO segments, number of segments)
* @u.sg_info: Scatter Gather information for non-TSO SG frames
* @meta_data: Mesh meta header information
* @exception_fw: Duplicate frame to be sent to firmware
*
* This structure holds the complete MSDU information needed to program the
* Hardware TCL and MSDU extension descriptors for different frame types
@@ -129,7 +131,8 @@ struct dp_tx_msdu_info_s {
struct qdf_tso_info_t tso_info;
struct dp_tx_sg_info_s sg_info;
} u;
uint32_t meta_data[5];
uint32_t meta_data[6];
uint8_t exception_fw;
};
QDF_STATUS dp_tx_vdev_attach(struct dp_vdev *vdev);
@@ -143,6 +146,7 @@ QDF_STATUS dp_tx_pdev_detach(struct dp_pdev *pdev);
QDF_STATUS dp_tx_pdev_attach(struct dp_pdev *pdev);
qdf_nbuf_t dp_tx_send(void *data_vdev, qdf_nbuf_t nbuf);
qdf_nbuf_t dp_tx_send_mesh(void *data_vdev, qdf_nbuf_t nbuf);
#ifdef CONVERGED_TDLS_ENABLE
qdf_nbuf_t dp_tx_non_std(struct cdp_vdev *vdev_handle,