mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
qcacmn: TQM bypass workaround
Enable the TQM bypass workaround.
CRs-Fixed: 1089685
Change-Id: I83859fdedd15ddd8784f9d6629d9a459a1d9c412
This commit is contained in:
parent
05d9e677a8
commit
10a93237e6
1 changed files with 23 additions and 2 deletions
|
|
@ -35,7 +35,11 @@
|
|||
|
||||
/* TODO Add support in TSO */
|
||||
#define DP_DESC_NUM_FRAG(x) 0
|
||||
|
||||
#ifdef QCA_WIFI_NAPIER_EMULATION
|
||||
#define TQM_BYPASS_WAR 1
|
||||
#else
|
||||
#define TQM_BYPASS_WAR 0
|
||||
#endif
|
||||
/*
|
||||
* default_dscp_tid_map - Default DSCP-TID mapping
|
||||
*
|
||||
|
|
@ -271,6 +275,7 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
{
|
||||
QDF_STATUS status;
|
||||
uint8_t align_pad;
|
||||
uint8_t is_exception = 0;
|
||||
uint8_t htt_hdr_size;
|
||||
struct ether_header *eh;
|
||||
struct dp_tx_desc_s *tx_desc;
|
||||
|
|
@ -303,7 +308,6 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
tx_desc->frm_type = dp_tx_frm_std;
|
||||
tx_desc->tx_encap_type = vdev->tx_encap_type;
|
||||
tx_desc->vdev = vdev;
|
||||
tx_desc->flags = 0;
|
||||
tx_desc->msdu_ext_desc = NULL;
|
||||
|
||||
/*
|
||||
|
|
@ -328,6 +332,7 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
tx_desc->pkt_offset += htt_hdr_size;
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
|
||||
pdev->num_tx_exception++;
|
||||
is_exception = 1;
|
||||
}
|
||||
|
||||
if (qdf_unlikely(vdev->nawds_enabled)) {
|
||||
|
|
@ -335,9 +340,19 @@ struct dp_tx_desc_s *dp_tx_prepare_desc_single(struct dp_vdev *vdev,
|
|||
if (DP_FRAME_IS_MULTICAST((eh)->ether_dhost)) {
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
|
||||
pdev->num_tx_exception++;
|
||||
is_exception = 1;
|
||||
}
|
||||
}
|
||||
|
||||
#if !TQM_BYPASS_WAR
|
||||
if (is_exception)
|
||||
#endif
|
||||
{
|
||||
/* Temporary WAR due to TQM VP issues */
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
|
||||
pdev->num_tx_exception++;
|
||||
}
|
||||
|
||||
if (qdf_nbuf_map_nbytes_single(soc->osdev, nbuf,
|
||||
QDF_DMA_TO_DEVICE, qdf_nbuf_len(nbuf)
|
||||
!= QDF_STATUS_SUCCESS)) {
|
||||
|
|
@ -414,6 +429,12 @@ struct dp_tx_desc_s *dp_tx_prepare_desc(struct dp_vdev *vdev,
|
|||
goto failure;
|
||||
}
|
||||
|
||||
#if TQM_BYPASS_WAR
|
||||
/* Temporary WAR due to TQM VP issues */
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_TO_FW;
|
||||
pdev->num_tx_exception++;
|
||||
#endif
|
||||
|
||||
tx_desc->msdu_ext_desc = msdu_ext_desc;
|
||||
tx_desc->flags |= DP_TX_DESC_FLAG_FRAG;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue