qcacmn: Add support for HW cookie conversion

Support HW cookie conversion for BE platform.

Change-Id: I39058fbf256266557f5e734ba376db4db0731b24
CRs-Fixed: 2929533
Šī revīzija ir iekļauta:
Jinwei Chen
2021-02-22 03:22:07 -08:00
revīziju iesūtīja Madan Koyyalamudi
vecāks 1bb3155d2c
revīzija 4083155141
30 mainīti faili ar 1618 papildinājumiem un 124 dzēšanām

Parādīt failu

@@ -1123,6 +1123,24 @@
CFG_INI_BOOL("gForceRX64BA", \
false, "Enable/Disable force 64 blockack in RX side")
/*
* <ini>
* ghw_cc_enable - enable HW cookie conversion by register
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to control HW based 20 bits cookie to 64 bits
* Desc virtual address conversion
*
* Usage: Internal
*
* </ini>
*/
#define CFG_DP_HW_CC_ENABLE \
CFG_INI_BOOL("ghw_cc_enable", \
true, "Enable/Disable HW cookie conversion")
#ifdef IPA_OFFLOAD
/*
* <ini>
@@ -1272,6 +1290,7 @@
CFG(CFG_DP_RX_RADIO_1_DEFAULT_REO) \
CFG(CFG_DP_RX_RADIO_2_DEFAULT_REO) \
CFG(CFG_DP_WOW_CHECK_RX_PENDING) \
CFG(CFG_DP_HW_CC_ENABLE) \
CFG(CFG_FORCE_RX_64_BA) \
CFG(CFG_DP_DELAY_MON_REPLENISH) \
CFG_DP_IPA_TX_RING_CFG

Parādīt failu

@@ -913,6 +913,23 @@ wlan_soc_ipa_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
}
#endif
#ifdef DP_HW_COOKIE_CONVERT_EXCEPTION
static void
wlan_soc_hw_cc_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
{
wlan_cfg_ctx->hw_cc_enabled =
cfg_get(psoc, CFG_DP_HW_CC_ENABLE);
}
#else
static void
wlan_soc_hw_cc_cfg_attach(struct cdp_ctrl_objmgr_psoc *psoc,
struct wlan_cfg_dp_soc_ctxt *wlan_cfg_ctx)
{
wlan_cfg_ctx->hw_cc_enabled = true;
}
#endif
/**
* wlan_cfg_soc_attach() - Allocate and prepare SoC configuration
* @psoc - Object manager psoc
@@ -1090,6 +1107,7 @@ wlan_cfg_soc_attach(struct cdp_ctrl_objmgr_psoc *psoc)
wlan_cfg_ctx->delay_mon_replenish = cfg_get(psoc,
CFG_DP_DELAY_MON_REPLENISH);
wlan_soc_ipa_cfg_attach(psoc, wlan_cfg_ctx);
wlan_soc_hw_cc_cfg_attach(psoc, wlan_cfg_ctx);
return wlan_cfg_ctx;
}

Parādīt failu

@@ -323,6 +323,7 @@ struct wlan_cfg_dp_soc_ctxt {
uint32_t ipa_tx_ring_size;
uint32_t ipa_tx_comp_ring_size;
#endif
bool hw_cc_enabled;
};
/**