qcacmn: Waikiki CFR changes
Waikiki CFR changes CRs-Fixed: 3057989 Change-Id: Ib2028ecede35cc2e531a394f5229a71b84757b9f
此提交包含在:
@@ -93,6 +93,26 @@
|
||||
|
||||
#define STREAMFS_NUM_SUBBUF_PINE 255
|
||||
|
||||
/* Max 37 users in MU case for Waikiki */
|
||||
#define WAIKIKI_CFR_MU_USERS 37
|
||||
|
||||
#define WAIKIKI_MAX_HEADER_LENGTH_WORDS 87
|
||||
|
||||
#define WAIKIKI_MAX_DATA_LENGTH_BYTES 64128
|
||||
|
||||
/* Max size :
|
||||
* sizeof(csi_cfr_header) + 348 bytes(cfr header) + 64128 bytes(cfr payload)
|
||||
* where cfr_header size = rtt upload header len + freeze_tlv len +
|
||||
* uplink user setup info + alignment bytes
|
||||
* = 16bytes + 32bytes + (8bytes * 37users) + 4bytes
|
||||
*/
|
||||
#define STREAMFS_MAX_SUBBUF_WAIKIKI \
|
||||
(sizeof(struct csi_cfr_header) + \
|
||||
(WAIKIKI_MAX_HEADER_LENGTH_WORDS * 4) + \
|
||||
WAIKIKI_MAX_DATA_LENGTH_BYTES)
|
||||
|
||||
#define STREAMFS_NUM_SUBBUF_WAIKIKI 127
|
||||
|
||||
/* Max 4 users in MU case for Spruce */
|
||||
#define SPRUCE_CFR_MU_USERS 4
|
||||
|
||||
@@ -111,14 +131,30 @@
|
||||
#define STREAMFS_NUM_SUBBUF_SPRUCE 255
|
||||
|
||||
/* enum macrx_freeze_tlv_version: Reported by uCode in enh_dma_header
|
||||
* MACRX_FREEZE_TLV_VERSION_1: Single MU UL user info reported by MAC
|
||||
* MACRX_FREEZE_TLV_VERSION_2: Upto 4 MU UL user info reported by MAC
|
||||
* MACRX_FREEZE_TLV_VERSION_3: Upto 37 MU UL user info reported by MAC
|
||||
* MACRX_FREEZE_TLV_VERSION_1: Single MU UL user info reported by MAC.
|
||||
* This is used in Cypress/HastingsPrime chips. Corresponding structures are
|
||||
* macrx_freeze_capture_channel and 1 uplink_user_setup_info.
|
||||
*
|
||||
* MACRX_FREEZE_TLV_VERSION_2: Upto 4 MU UL user info reported by MAC.
|
||||
* This is used in Maple/Spruce/Moselle chips. Corresponding structures are
|
||||
* macrx_freeze_capture_channel and 2 uplink_user_setup_info.
|
||||
*
|
||||
* MACRX_FREEZE_TLV_VERSION_3: Upto 37 MU UL user info reported by MAC.
|
||||
* This is used in Pine chip. The corresponding structures are
|
||||
* macrx_freeze_capture_channel_v3 and 37 uplink_user_setup_info.
|
||||
*
|
||||
* MACRX_FREEZE_TLV_VERSION_4: Upto 37 MU UL user info reported by MAC.
|
||||
* This is used in Hamilton 1/2.
|
||||
*
|
||||
* MACRX_FREEZE_TLV_VERSION_5: Upto 37 MU UL user info reported by MAC.
|
||||
* This is used in Waikiki chipsets.
|
||||
*/
|
||||
enum macrx_freeze_tlv_version {
|
||||
MACRX_FREEZE_TLV_VERSION_1 = 1,
|
||||
MACRX_FREEZE_TLV_VERSION_2 = 2,
|
||||
MACRX_FREEZE_TLV_VERSION_3 = 3,
|
||||
MACRX_FREEZE_TLV_VERSION_4 = 4,
|
||||
MACRX_FREEZE_TLV_VERSION_5 = 5,
|
||||
MACRX_FREEZE_TLV_VERSION_MAX
|
||||
};
|
||||
|
||||
@@ -152,6 +188,16 @@ enum macrx_freeze_tlv_version {
|
||||
*/
|
||||
#define STREAMFS_NUM_SUBBUF_MAPLE 255
|
||||
|
||||
enum UCODE_UPLOAD_HEADER_VERSION {
|
||||
UPLOAD_HEADER_VERSION_1 = 1,
|
||||
UPLOAD_HEADER_VERSION_2 = 2,
|
||||
UPLOAD_HEADER_VERSION_3 = 3,
|
||||
UPLOAD_HEADER_VERSION_4 = 4,
|
||||
UPLOAD_HEADER_VERSION_8 = 8,
|
||||
UPLOAD_HEADER_VERSION_9 = 9,
|
||||
UPLOAD_HEADER_VERSION_MAX
|
||||
};
|
||||
|
||||
/*
|
||||
* @tag: ucode fills this with 0xBA
|
||||
*
|
||||
@@ -210,6 +256,10 @@ enum macrx_freeze_tlv_version {
|
||||
*
|
||||
* 1 - HKV2/Hastings
|
||||
* 2 - Cypress
|
||||
* 3 - Hasting Prime
|
||||
* 4 - Pine
|
||||
* 8 - Hamilton
|
||||
* 9 - Waikiki
|
||||
*
|
||||
* @target_id:
|
||||
*
|
||||
@@ -483,6 +533,56 @@ struct uplink_user_setup_info {
|
||||
reserved_0c : 1; //[31]
|
||||
};
|
||||
|
||||
struct macrx_freeze_capture_channel_v5 {
|
||||
uint16_t freeze : 1, //[0]
|
||||
capture_reason : 3, //[3:1]
|
||||
packet_type : 2, //[5:4]
|
||||
packet_sub_type : 4, //[9:6]
|
||||
reserved : 5, //[14:10]
|
||||
sw_peer_id_valid : 1; //[15]
|
||||
uint16_t sw_peer_id : 16; //[15:0]
|
||||
uint16_t phy_ppdu_id : 16; //[15:0]
|
||||
uint16_t packet_ta_lower_16 : 16; //[15:0]
|
||||
uint16_t packet_ta_mid_16 : 16; //[15:0]
|
||||
uint16_t packet_ta_upper_16 : 16; //[15:0]
|
||||
uint16_t packet_ra_lower_16 : 16; //[15:0]
|
||||
uint16_t packet_ra_mid_16 : 16; //[15:0]
|
||||
uint16_t packet_ra_upper_16 : 16; //[15:0]
|
||||
uint16_t tsf_timestamp_15_0 : 16; //[15:0]
|
||||
uint16_t tsf_timestamp_31_16 : 16; //[15:0]
|
||||
uint16_t tsf_timestamp_47_32 : 16; //[15:0]
|
||||
uint16_t tsf_timestamp_63_48 : 16; //[15:0]
|
||||
uint16_t user_index_or_user_mask_5_0 : 6, //[5:0]
|
||||
directed : 1, //[6]
|
||||
reserved_13 : 9; //[15:7]
|
||||
uint16_t user_mask_21_6 : 16; //[15:0]
|
||||
uint16_t user_mask_36_22 : 15, //[14:0]
|
||||
reserved_15a : 1; //[15]
|
||||
};
|
||||
|
||||
struct uplink_user_setup_info_v2 {
|
||||
uint32_t bw_info_valid : 1, //[0]
|
||||
uplink_receive_type : 2, //[2:1]
|
||||
reserved_0a : 1, //[3]
|
||||
uplink_11ax_mcs : 4, //[7:4]
|
||||
nss : 3, //[10:8]
|
||||
stream_offset : 3, //[13:11]
|
||||
sta_dcm : 1, //[14]
|
||||
sta_coding : 1, //[15]
|
||||
ru_type_80_0 : 4, //[19:16]
|
||||
ru_type_80_1 : 4, //[23:20]
|
||||
ru_type_80_2 : 4, //[27:24]
|
||||
ru_type_80_3 : 4; //[31:28]
|
||||
uint32_t ru_start_index_80_0 : 6, //[5:0]
|
||||
reserved_1a : 2, //[7:6]
|
||||
ru_start_index_80_1 : 6, //[13:8]
|
||||
reserved_1b : 2, //[15:14]
|
||||
ru_start_index_80_2 : 6, //[21:16]
|
||||
reserved_1c : 2, //[23:22]
|
||||
ru_start_index_80_3 : 6, //[29:24]
|
||||
reserved_1d : 2; //[31-30]
|
||||
};
|
||||
|
||||
/**
|
||||
* cfr_enh_init_pdev() - Inits cfr pdev and registers necessary handlers.
|
||||
* @psoc: pointer to psoc object
|
||||
|
@@ -254,7 +254,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
|
||||
hdr->cmn.cfr_metadata_version = CFR_META_VERSION_6;
|
||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_ALDER;
|
||||
} else {
|
||||
if (target_type == TARGET_TYPE_QCN9000)
|
||||
if (target_type == TARGET_TYPE_QCN9000 ||
|
||||
target_type == TARGET_TYPE_QCN9224)
|
||||
hdr->cmn.cfr_metadata_version = CFR_META_VERSION_7;
|
||||
else if ((target_type == TARGET_TYPE_QCA6018) ||
|
||||
((target_type == TARGET_TYPE_QCA5018) && (!is_rcc)))
|
||||
@@ -268,6 +269,8 @@ void target_if_cfr_fill_header(struct csi_cfr_header *hdr,
|
||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_MAPLE;
|
||||
else if (target_type == TARGET_TYPE_QCN6122)
|
||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_SPRUCE;
|
||||
else if (target_type == TARGET_TYPE_QCN9224)
|
||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_WAIKIKI;
|
||||
else
|
||||
hdr->cmn.chip_type = CFR_CAPTURE_RADIO_CYP;
|
||||
}
|
||||
|
@@ -289,6 +289,57 @@ static void dump_freeze_tlv_v3(void *freeze_tlv, uint32_t cookie)
|
||||
freeze->directed);
|
||||
}
|
||||
|
||||
/**
|
||||
* dump_freeze_tlv_v5() - Dump freeze TLV sent in enhanced DMA header
|
||||
* @freeze_tlv: Freeze TLV sent from MAC to PHY
|
||||
* @cookie: Index into lookup table
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static void dump_freeze_tlv_v5(void *freeze_tlv, uint32_t cookie)
|
||||
{
|
||||
struct macrx_freeze_capture_channel_v5 *freeze =
|
||||
(struct macrx_freeze_capture_channel_v5 *)freeze_tlv;
|
||||
|
||||
cfr_debug("<DBRCOMP><FREEZE><%u>\n"
|
||||
"freeze: %d capture_reason: %d packet_type: 0x%x\n"
|
||||
"packet_subtype: 0x%x sw_peer_id_valid: %d sw_peer_id: %d\n"
|
||||
"phy_ppdu_id: 0x%04x packet_ta_lower_16: 0x%04x\n"
|
||||
"packet_ta_mid_16: 0x%04x packet_ta_upper_16: 0x%04x\n"
|
||||
"packet_ra_lower_16: 0x%04x packet_ra_mid_16: 0x%04x\n"
|
||||
"packet_ra_upper_16: 0x%04x\n"
|
||||
"tsf_timestamp_15_0: 0x%04x\n"
|
||||
"tsf_timestamp_31_16: 0x%04x\n"
|
||||
"tsf_timestamp_47_32: 0x%04x\n"
|
||||
"tsf_timestamp_63_48: 0x%04x\n"
|
||||
"user_index_or_user_mask_5_0: 0x%04x\n"
|
||||
"directed: %d\n"
|
||||
"user_mask_21_6: 0x%04x\n"
|
||||
"user_mask_36_22: 0x%04x\n",
|
||||
cookie,
|
||||
freeze->freeze,
|
||||
freeze->capture_reason,
|
||||
freeze->packet_type,
|
||||
freeze->packet_sub_type,
|
||||
freeze->sw_peer_id_valid,
|
||||
freeze->sw_peer_id,
|
||||
freeze->phy_ppdu_id,
|
||||
freeze->packet_ta_lower_16,
|
||||
freeze->packet_ta_mid_16,
|
||||
freeze->packet_ta_upper_16,
|
||||
freeze->packet_ra_lower_16,
|
||||
freeze->packet_ra_mid_16,
|
||||
freeze->packet_ra_upper_16,
|
||||
freeze->tsf_timestamp_15_0,
|
||||
freeze->tsf_timestamp_31_16,
|
||||
freeze->tsf_timestamp_47_32,
|
||||
freeze->tsf_timestamp_63_48,
|
||||
freeze->user_index_or_user_mask_5_0,
|
||||
freeze->directed,
|
||||
freeze->user_mask_21_6,
|
||||
freeze->user_mask_36_22);
|
||||
}
|
||||
|
||||
/**
|
||||
* dump_mu_rx_info() - Dump MU info in enhanced DMA header
|
||||
* @mu_rx_user_info: MU info sent by ucode
|
||||
@@ -332,6 +383,61 @@ static void dump_mu_rx_info(void *mu_rx_user_info,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* dump_mu_rx_info_v2() - Dump MU info in enhanced DMA header
|
||||
* @mu_rx_user_info: MU info sent by ucode
|
||||
* @mu_rx_num_users: Number of MU users in UL-MU-PPDU
|
||||
* @cookie: Index into lookup table
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
static void dump_mu_rx_info_v2(void *mu_rx_user_info,
|
||||
uint8_t mu_rx_num_users,
|
||||
uint32_t cookie)
|
||||
{
|
||||
uint8_t i;
|
||||
struct uplink_user_setup_info_v2 *ul_mu_user_info =
|
||||
(struct uplink_user_setup_info_v2 *)mu_rx_user_info;
|
||||
|
||||
for (i = 0 ; i < mu_rx_num_users; i++) {
|
||||
cfr_debug("<DBRCOMP><MU><%u>\n"
|
||||
"<user_id:%d>\n"
|
||||
"bw_info_valid = %d\n"
|
||||
"uplink_receive_type = %d\n"
|
||||
"uplink_11ax_mcs = %d\n"
|
||||
"nss = %d\n"
|
||||
"stream_offset = %d\n"
|
||||
"sta_dcm = %d\n"
|
||||
"sta_coding = %d\n"
|
||||
"ru_type_80_0 = %d\n"
|
||||
"ru_type_80_1 = %d\n"
|
||||
"ru_type_80_2 = %d\n"
|
||||
"ru_type_80_3 = %d\n"
|
||||
"ru_start_index_80_0 = %d\n"
|
||||
"ru_start_index_80_1 = %d\n"
|
||||
"ru_start_index_80_2 = %d\n"
|
||||
"ru_start_index_80_3 = %d\n",
|
||||
cookie,
|
||||
i,
|
||||
ul_mu_user_info->bw_info_valid,
|
||||
ul_mu_user_info->uplink_receive_type,
|
||||
ul_mu_user_info->uplink_11ax_mcs,
|
||||
ul_mu_user_info->nss,
|
||||
ul_mu_user_info->stream_offset,
|
||||
ul_mu_user_info->sta_dcm,
|
||||
ul_mu_user_info->sta_coding,
|
||||
ul_mu_user_info->ru_type_80_0,
|
||||
ul_mu_user_info->ru_type_80_1,
|
||||
ul_mu_user_info->ru_type_80_2,
|
||||
ul_mu_user_info->ru_type_80_3,
|
||||
ul_mu_user_info->ru_start_index_80_0,
|
||||
ul_mu_user_info->ru_start_index_80_1,
|
||||
ul_mu_user_info->ru_start_index_80_2,
|
||||
ul_mu_user_info->ru_start_index_80_3);
|
||||
ul_mu_user_info += sizeof(struct uplink_user_setup_info_v2);
|
||||
}
|
||||
}
|
||||
|
||||
static void dump_metadata(struct csi_cfr_header *header, uint32_t cookie)
|
||||
{
|
||||
uint8_t user_id, chain_id;
|
||||
@@ -444,49 +550,98 @@ static void dump_enh_dma_hdr(struct whal_cfir_enhanced_hdr *dma_hdr,
|
||||
uint32_t cookie)
|
||||
{
|
||||
if (!error) {
|
||||
cfr_debug("<DBRCOMP><%u>\n"
|
||||
"Tag: 0x%02x Length: %d udone: %d\n"
|
||||
"ctype: %d preamble: %d Nss: %d\n"
|
||||
"num_chains: %d bw: %d peervalid: %d\n"
|
||||
"peer_id: %d ppdu_id: 0x%04x total_bytes: %d\n"
|
||||
"header_version: %d target_id: %d cfr_fmt: %d\n"
|
||||
"mu_rx_data_incl: %d freeze_data_incl: %d\n"
|
||||
"mu_rx_num_users: %d decimation_factor: %d\n"
|
||||
"freeze_tlv_version: %d\n",
|
||||
cookie,
|
||||
dma_hdr->tag,
|
||||
dma_hdr->length,
|
||||
dma_hdr->upload_done,
|
||||
dma_hdr->capture_type,
|
||||
dma_hdr->preamble_type,
|
||||
dma_hdr->nss,
|
||||
dma_hdr->num_chains,
|
||||
dma_hdr->upload_pkt_bw,
|
||||
dma_hdr->sw_peer_id_valid,
|
||||
dma_hdr->sw_peer_id,
|
||||
dma_hdr->phy_ppdu_id,
|
||||
dma_hdr->total_bytes,
|
||||
dma_hdr->header_version,
|
||||
dma_hdr->target_id,
|
||||
dma_hdr->cfr_fmt,
|
||||
dma_hdr->mu_rx_data_incl,
|
||||
dma_hdr->freeze_data_incl,
|
||||
dma_hdr->mu_rx_num_users,
|
||||
dma_hdr->decimation_factor,
|
||||
dma_hdr->freeze_tlv_version);
|
||||
if (dma_hdr->header_version == UPLOAD_HEADER_VERSION_9) {
|
||||
cfr_debug("<DBRCOMP><%u>\n"
|
||||
"Tag: 0x%02x Length: %d udone: %d\n"
|
||||
"ctype: %d preamble: %d Nss: %d\n"
|
||||
"num_chains: %d bw: %d peervalid: %d\n"
|
||||
"peer_id: %d ppdu_id: 0x%04x\n"
|
||||
"total_bytes: %d header_version: %d\n"
|
||||
"target_id: %d cfr_fmt: %d\n"
|
||||
"mu_rx_data_incl: %d freeze_data_incl: %d\n"
|
||||
"mu_rx_num_users: %d decimation_factor: %d\n"
|
||||
"freeze_tlv_version: %d\n"
|
||||
"he_ltf_type: %u ext_preamble_type = %u\n",
|
||||
cookie,
|
||||
dma_hdr->tag,
|
||||
dma_hdr->length,
|
||||
dma_hdr->upload_done,
|
||||
dma_hdr->capture_type,
|
||||
dma_hdr->preamble_type,
|
||||
dma_hdr->nss,
|
||||
dma_hdr->num_chains,
|
||||
dma_hdr->upload_pkt_bw,
|
||||
dma_hdr->sw_peer_id_valid,
|
||||
dma_hdr->sw_peer_id,
|
||||
dma_hdr->phy_ppdu_id,
|
||||
dma_hdr->total_bytes,
|
||||
dma_hdr->header_version,
|
||||
dma_hdr->target_id,
|
||||
dma_hdr->cfr_fmt,
|
||||
dma_hdr->mu_rx_data_incl,
|
||||
dma_hdr->freeze_data_incl,
|
||||
dma_hdr->mu_rx_num_users,
|
||||
dma_hdr->decimation_factor,
|
||||
dma_hdr->freeze_tlv_version,
|
||||
dma_hdr->rsvd3,
|
||||
dma_hdr->rsvd4);
|
||||
|
||||
} else {
|
||||
cfr_debug("<DBRCOMP><%u>\n"
|
||||
"Tag: 0x%02x Length: %d udone: %d\n"
|
||||
"ctype: %d preamble: %d Nss: %d\n"
|
||||
"num_chains: %d bw: %d peervalid: %d\n"
|
||||
"peer_id: %d ppdu_id: 0x%04x\n"
|
||||
"total_bytes: %d header_version: %d\n"
|
||||
"target_id: %d cfr_fmt: %d\n"
|
||||
"mu_rx_data_incl: %d freeze_data_incl: %d\n"
|
||||
"mu_rx_num_users: %d decimation_factor: %d\n"
|
||||
"freeze_tlv_version: %d\n",
|
||||
cookie,
|
||||
dma_hdr->tag,
|
||||
dma_hdr->length,
|
||||
dma_hdr->upload_done,
|
||||
dma_hdr->capture_type,
|
||||
dma_hdr->preamble_type,
|
||||
dma_hdr->nss,
|
||||
dma_hdr->num_chains,
|
||||
dma_hdr->upload_pkt_bw,
|
||||
dma_hdr->sw_peer_id_valid,
|
||||
dma_hdr->sw_peer_id,
|
||||
dma_hdr->phy_ppdu_id,
|
||||
dma_hdr->total_bytes,
|
||||
dma_hdr->header_version,
|
||||
dma_hdr->target_id,
|
||||
dma_hdr->cfr_fmt,
|
||||
dma_hdr->mu_rx_data_incl,
|
||||
dma_hdr->freeze_data_incl,
|
||||
dma_hdr->mu_rx_num_users,
|
||||
dma_hdr->decimation_factor,
|
||||
dma_hdr->freeze_tlv_version);
|
||||
}
|
||||
|
||||
if (dma_hdr->freeze_data_incl) {
|
||||
if (dma_hdr->freeze_tlv_version ==
|
||||
MACRX_FREEZE_TLV_VERSION_3)
|
||||
dump_freeze_tlv_v3(freeze_tlv, cookie);
|
||||
else if (dma_hdr->freeze_tlv_version ==
|
||||
MACRX_FREEZE_TLV_VERSION_5)
|
||||
dump_freeze_tlv_v5(freeze_tlv, cookie);
|
||||
else
|
||||
dump_freeze_tlv(freeze_tlv, cookie);
|
||||
}
|
||||
|
||||
if (dma_hdr->mu_rx_data_incl)
|
||||
if ((dma_hdr->mu_rx_data_incl) &&
|
||||
(dma_hdr->freeze_tlv_version ==
|
||||
MACRX_FREEZE_TLV_VERSION_5)) {
|
||||
dump_mu_rx_info_v2(mu_rx_user_info,
|
||||
dma_hdr->mu_rx_num_users,
|
||||
cookie);
|
||||
} else if (dma_hdr->mu_rx_data_incl) {
|
||||
dump_mu_rx_info(mu_rx_user_info,
|
||||
dma_hdr->mu_rx_num_users,
|
||||
cookie);
|
||||
}
|
||||
} else {
|
||||
cfr_err("<DBRCOMP><%u>\n"
|
||||
"Tag: 0x%02x Length: %d udone: %d\n"
|
||||
@@ -570,6 +725,11 @@ static QDF_STATUS check_dma_length(struct look_up_table *lut,
|
||||
lut->payload_length <= MAPLE_MAX_DATA_LENGTH_BYTES) {
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
} else if (target_type == TARGET_TYPE_QCN9224) {
|
||||
if (lut->header_length <= WAIKIKI_MAX_HEADER_LENGTH_WORDS &&
|
||||
lut->payload_length <= WAIKIKI_MAX_DATA_LENGTH_BYTES) {
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
} else {
|
||||
if (lut->header_length <= CYP_MAX_HEADER_LENGTH_WORDS &&
|
||||
lut->payload_length <= CYP_MAX_DATA_LENGTH_BYTES) {
|
||||
@@ -1077,6 +1237,10 @@ static bool enh_cfr_dbr_event_handler(struct wlan_objmgr_pdev *pdev,
|
||||
if (dma_hdr.freeze_tlv_version == MACRX_FREEZE_TLV_VERSION_3) {
|
||||
freeze_tlv_len =
|
||||
sizeof(struct macrx_freeze_capture_channel_v3);
|
||||
} else if (dma_hdr.freeze_tlv_version ==
|
||||
MACRX_FREEZE_TLV_VERSION_5) {
|
||||
freeze_tlv_len =
|
||||
sizeof(struct macrx_freeze_capture_channel_v5);
|
||||
} else {
|
||||
freeze_tlv_len =
|
||||
sizeof(struct macrx_freeze_capture_channel);
|
||||
@@ -2040,6 +2204,11 @@ QDF_STATUS cfr_enh_init_pdev(struct wlan_objmgr_psoc *psoc,
|
||||
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_SPRUCE;
|
||||
pcfr->chip_type = CFR_CAPTURE_RADIO_SPRUCE;
|
||||
pcfr->max_mu_users = SPRUCE_CFR_MU_USERS;
|
||||
} else if (target_type == TARGET_TYPE_QCN9224) {
|
||||
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_WAIKIKI;
|
||||
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_WAIKIKI;
|
||||
pcfr->chip_type = CFR_CAPTURE_RADIO_WAIKIKI;
|
||||
pcfr->max_mu_users = WAIKIKI_CFR_MU_USERS;
|
||||
} else {
|
||||
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_CYP;
|
||||
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_CYP;
|
||||
|
新增問題並參考
封鎖使用者