mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
qcacmn: Change default DSCP-TID mapping table to use all TIDs
Change default DSCP-TID mapping table so that all possible TID values can be used in transmit datapath. Also propagate a fix from legacy Tx classification code required to compute the offset of L3 header pointer correctly Change-Id: Ia6426817410e67018491c0f4a8122bfae7a1cfe2 CRs-Fixed: 2197640
This commit is contained in:
parent
1bc1149747
commit
ef2cbc6c93
3 changed files with 17 additions and 15 deletions
|
|
@ -99,25 +99,25 @@ qdf_declare_param(rx_hash, bool);
|
|||
/**
|
||||
* default_dscp_tid_map - Default DSCP-TID mapping
|
||||
*
|
||||
* DSCP TID AC
|
||||
* 000000 0 WME_AC_BE
|
||||
* 001000 1 WME_AC_BK
|
||||
* 010000 1 WME_AC_BK
|
||||
* 011000 0 WME_AC_BE
|
||||
* 100000 5 WME_AC_VI
|
||||
* 101000 5 WME_AC_VI
|
||||
* 110000 6 WME_AC_VO
|
||||
* 111000 6 WME_AC_VO
|
||||
* DSCP TID
|
||||
* 000000 0
|
||||
* 001000 1
|
||||
* 010000 2
|
||||
* 011000 3
|
||||
* 100000 4
|
||||
* 101000 5
|
||||
* 110000 6
|
||||
* 111000 7
|
||||
*/
|
||||
static uint8_t default_dscp_tid_map[DSCP_TID_MAP_MAX] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
5, 5, 5, 5, 5, 5, 5, 5,
|
||||
2, 2, 2, 2, 2, 2, 2, 2,
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
4, 4, 4, 4, 4, 4, 4, 4,
|
||||
5, 5, 5, 5, 5, 5, 5, 5,
|
||||
6, 6, 6, 6, 6, 6, 6, 6,
|
||||
6, 6, 6, 6, 6, 6, 6, 6,
|
||||
7, 7, 7, 7, 7, 7, 7, 7,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
#include "hal_tx.h"
|
||||
#include "qdf_mem.h"
|
||||
#include "qdf_nbuf.h"
|
||||
#include "qdf_net_types.h"
|
||||
#include <wlan_cfg.h>
|
||||
#ifdef MESH_MODE_SUPPORT
|
||||
#include "if_meta_hdr.h"
|
||||
|
|
@ -1049,10 +1050,11 @@ static void dp_tx_classify_tid(struct dp_vdev *vdev, qdf_nbuf_t nbuf,
|
|||
is_mcast = DP_FRAME_IS_MULTICAST(hdr_ptr);
|
||||
ether_type = eh->ether_type;
|
||||
|
||||
llcHdr = (qdf_llc_t *)(nbuf->data + sizeof(struct ether_header));
|
||||
/*
|
||||
* Check if packet is dot3 or eth2 type.
|
||||
*/
|
||||
if (IS_LLC_PRESENT(ether_type)) {
|
||||
if (DP_FRAME_IS_LLC(ether_type) && DP_FRAME_IS_SNAP(llcHdr)) {
|
||||
ether_type = (uint16_t)*(nbuf->data + 2*ETHER_ADDR_LEN +
|
||||
sizeof(*llcHdr));
|
||||
|
||||
|
|
|
|||
|
|
@ -130,10 +130,10 @@ union dp_rx_desc_list_elem_t;
|
|||
(_a)[3] == 0xff && \
|
||||
(_a)[4] == 0xff && \
|
||||
(_a)[5] == 0xff)
|
||||
#define IS_LLC_PRESENT(typeorlen) ((typeorlen) >= 0x600)
|
||||
#define DP_FRAME_IS_SNAP(_llc) ((_llc)->llc_dsap == 0xaa && \
|
||||
(_llc)->llc_ssap == 0xaa && \
|
||||
(_llc)->llc_un.type_snap.control == 0x3)
|
||||
#define DP_FRAME_IS_LLC(typeorlen) ((typeorlen) >= 0x600)
|
||||
#define DP_FRAME_FC0_TYPE_MASK 0x0c
|
||||
#define DP_FRAME_FC0_TYPE_DATA 0x08
|
||||
#define DP_FRAME_IS_DATA(_frame) \
|
||||
|
|
|
|||
Loading…
Reference in a new issue