qcacmn: add CFR changes for QCN9100

Add CFR related changes for target type
QCN9100

Change-Id: I44f7a521fb38f883b6e1a6a71e39805a1da69687
This commit is contained in:
Pavankumar Nandeshwar
2020-10-29 11:06:45 +05:30
committed by snandini
parent 97c6bdfd2a
commit 37a9d7cf5c
3 changed files with 32 additions and 0 deletions

View File

@@ -93,6 +93,23 @@
#define STREAMFS_NUM_SUBBUF_PINE 255
/* Max 4 users in MU case for Spruce */
#define SPRUCE_CFR_MU_USERS 4
#define SPRUCE_MAX_HEADER_LENGTH_WORDS 16
#define SPRUCE_MAX_DATA_LENGTH_BYTES 16384
/* Max size :
* sizeof(csi_cfr_header) + 200 bytes(cfr header) + 16384 bytes(cfr payload)
*/
#define STREAMFS_MAX_SUBBUF_SPRUCE \
(sizeof(struct csi_cfr_header) + \
(SPRUCE_MAX_HEADER_LENGTH_WORDS * 4) + \
SPRUCE_MAX_DATA_LENGTH_BYTES)
#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

View File

@@ -533,6 +533,11 @@ static QDF_STATUS check_dma_length(struct look_up_table *lut,
lut->payload_length <= PINE_MAX_DATA_LENGTH_BYTES) {
return QDF_STATUS_SUCCESS;
}
} else if (target_type == TARGET_TYPE_QCN9100) {
if (lut->header_length <= SPRUCE_MAX_HEADER_LENGTH_WORDS &&
lut->payload_length <= SPRUCE_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) {
@@ -1160,6 +1165,8 @@ static void enh_prepare_cfr_header_txstatus(wmi_cfr_peer_tx_event_param
header->chip_type = CFR_CAPTURE_RADIO_PINE;
else if (target_type == TARGET_TYPE_QCA5018)
header->chip_type = CFR_CAPTURE_RADIO_MAPLE;
else if (target_type == TARGET_TYPE_QCN9100)
header->chip_type = CFR_CAPTURE_RADIO_SPRUCE;
else
header->chip_type = CFR_CAPTURE_RADIO_CYP;
@@ -1358,6 +1365,8 @@ target_if_peer_capture_event(ol_scn_t sc, uint8_t *data, uint32_t datalen)
header->chip_type = CFR_CAPTURE_RADIO_PINE;
else if (target_type == TARGET_TYPE_QCA5018)
header->chip_type = CFR_CAPTURE_RADIO_MAPLE;
else if (target_type == TARGET_TYPE_QCN9100)
header->chip_type = CFR_CAPTURE_RADIO_SPRUCE;
else
header->chip_type = CFR_CAPTURE_RADIO_CYP;
@@ -1746,6 +1755,11 @@ QDF_STATUS cfr_enh_init_pdev(struct wlan_objmgr_psoc *psoc,
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_MAPLE;
pcfr->chip_type = CFR_CAPTURE_RADIO_MAPLE;
pcfr->max_mu_users = MAPLE_CFR_MU_USERS;
} else if (target_type == TARGET_TYPE_QCN9100) {
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_SPRUCE;
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_SPRUCE;
pcfr->chip_type = CFR_CAPTURE_RADIO_SPRUCE;
pcfr->max_mu_users = SPRUCE_CFR_MU_USERS;
} else {
pcfr->subbuf_size = STREAMFS_MAX_SUBBUF_CYP;
pcfr->num_subbufs = STREAMFS_NUM_SUBBUF_CYP;

View File

@@ -99,6 +99,7 @@ enum cfrradiotype {
CFR_CAPTURE_RADIO_ADRASTEA,
CFR_CAPTURE_RADIO_MAPLE,
CFR_CAPTURE_RADIO_MOSELLE,
CFR_CAPTURE_RADIO_SPRUCE,
CFR_CAPTURE_RADIO_MAX = 0xFF,
};