From 593b7087d99bf70a02b2ed50a1d8d74debfd455d Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 11 Jan 2018 09:01:08 -0800 Subject: [PATCH] fw-api: CL 4003828 - update fw common interface files Change-Id: Ie69b3fcf13b2ba727b895cd7f6d6f41c6b6e5305 HTT: add learning_frame flag to htt_tx_msdu_desc_ext2_t CRs-Fixed: 1107600 --- fw/htt.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/fw/htt.h b/fw/htt.h index 548d630af8ce..23f026624d2d 100644 --- a/fw/htt.h +++ b/fw/htt.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2011-2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -164,9 +164,10 @@ * 3.48 Add pdev ID field to HTT_T2H_MSG_TYPE_PPDU_STATS_IND and * HTT_T2H_MSG_TYPE_PKTLOG * 3.49 Add HTT_T2H_MSG_TYPE_MONITOR_MAC_HEADER_IND def + * 3.50 Add learning_frame flag to htt_tx_msdu_desc_ext2_t */ #define HTT_CURRENT_VERSION_MAJOR 3 -#define HTT_CURRENT_VERSION_MINOR 49 +#define HTT_CURRENT_VERSION_MINOR 50 #define HTT_NUM_TX_FRAG_DESC 1024 @@ -1648,7 +1649,13 @@ PREPACK struct htt_tx_msdu_desc_ext2_t { * This structure can be expanded further up to 60 bytes * by adding further DWORDs as needed. */ - A_UINT32 rsvd0; + A_UINT32 + /* learning_frame + * When this flag is set, this frame will be dropped by FW + * rather than being enqueued to the Transmit Queue Manager (TQM) HW. + */ + learning_frame : 1, + rsvd0 : 31; } POSTPACK; @@ -1714,6 +1721,10 @@ PREPACK struct htt_tx_msdu_desc_ext2_t { #define HTT_TX_MSDU_EXT_DESC_CHANFREQ_M 0xffff0000 #define HTT_TX_MSDU_EXT_DESC_CHANFREQ_S 16 +/* DWORD 5 */ +#define HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_M 0x00000001 +#define HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_S 0 + /* DWORD 0 */ #define HTT_TX_MSDU_EXT2_DESC_FLAG_VALID_PWR_GET(_var) \ (((_var) & HTT_TX_MSDU_EXT_DESC_FLAG_VALID_PWR_M) >> \ @@ -1974,6 +1985,15 @@ PREPACK struct htt_tx_msdu_desc_ext2_t { ((_var) |= ((_val) << HTT_TX_MSDU_EXT2_DESC_CHANFREQ_S)); \ } while (0) +/* DWORD 5 */ +#define HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_GET(_var) \ + (((_var) & HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_M) >> \ + HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_S) +#define HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_SET(_var, _val) \ + do { \ + HTT_CHECK_SET_VAL(HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME, _val); \ + ((_var) |= ((_val) << HTT_TX_MSDU_EXT2_DESC_FLAG_LEARNING_FRAME_S)); \ + } while (0) typedef enum { HTT_TCL_METADATA_TYPE_PEER_BASED = 0,