Loading drivers/platform/msm/ipa/ipa_v3/ipa_utils.c +23 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ #define IPA_EOT_COAL_GRAN_MIN (1) #define IPA_EOT_COAL_GRAN_MAX (16) #define IPA_FILT_ROUT_HASH_REG_VAL_v4_2 (0x00000000) #define IPA_DMA_TASK_FOR_GSI_TIMEOUT_MSEC (15) #define IPA_AGGR_BYTE_LIMIT (\ Loading Loading @@ -3127,6 +3128,21 @@ int ipa3_cfg_filter(u32 disable) return -EPERM; } /** * ipa_disable_hashing_rt_flt_v4_2() - Disable filer and route hashing. * * Return codes: 0 for success, negative value for failure */ static int ipa_disable_hashing_rt_flt_v4_2(void) { IPADBG("Disable hashing for filter and route table in IPA 4.2 HW\n"); ipahal_write_reg(IPA_FILT_ROUT_HASH_EN, IPA_FILT_ROUT_HASH_REG_VAL_v4_2); return 0; } /** * ipa_comp_cfg() - Configure QMB/Master port selection * Loading Loading @@ -3347,6 +3363,13 @@ int ipa3_init_hw(void) ipa_comp_cfg(); /* * In IPA 4.2 filter and routing hashing not supported * disabling hash enable register. */ if (ipa3_ctx->ipa_fltrt_not_hashable) ipa_disable_hashing_rt_flt_v4_2(); return 0; } Loading drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c +4 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ static const char *ipareg_name_to_str[IPA_REG_MAX] = { __stringify(IPA_DEBUG_CNT_CTRL_n), __stringify(IPA_UC_MAILBOX_m_n), __stringify(IPA_FILT_ROUT_HASH_FLUSH), __stringify(IPA_FILT_ROUT_HASH_EN), __stringify(IPA_SINGLE_NDP_MODE), __stringify(IPA_QCNCM), __stringify(IPA_SYS_PKT_PROC_CNTXT_BASE), Loading Loading @@ -2747,6 +2748,9 @@ static struct ipahal_reg_obj ipahal_reg_objs[IPA_HW_MAX][IPA_REG_MAX] = { [IPA_HW_v4_2][IPA_HPS_FTCH_ARB_QUEUE_WEIGHT] = { ipareg_construct_dummy, ipareg_parse_dummy, -1, 0, 0, 0, 0}, [IPA_HW_v4_2][IPA_FILT_ROUT_HASH_EN] = { ipareg_construct_dummy, ipareg_parse_dummy, 0x00000148, 0, 0, 0, 0}, /* IPA4.5 */ [IPA_HW_v4_5][IPA_SRC_RSRC_GRP_01_RSRC_TYPE_n] = { Loading drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h +1 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ enum ipahal_reg_name { IPA_DEBUG_CNT_CTRL_n, IPA_UC_MAILBOX_m_n, IPA_FILT_ROUT_HASH_FLUSH, IPA_FILT_ROUT_HASH_EN, IPA_SINGLE_NDP_MODE, IPA_QCNCM, IPA_SYS_PKT_PROC_CNTXT_BASE, Loading Loading
drivers/platform/msm/ipa/ipa_v3/ipa_utils.c +23 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ #define IPA_EOT_COAL_GRAN_MIN (1) #define IPA_EOT_COAL_GRAN_MAX (16) #define IPA_FILT_ROUT_HASH_REG_VAL_v4_2 (0x00000000) #define IPA_DMA_TASK_FOR_GSI_TIMEOUT_MSEC (15) #define IPA_AGGR_BYTE_LIMIT (\ Loading Loading @@ -3127,6 +3128,21 @@ int ipa3_cfg_filter(u32 disable) return -EPERM; } /** * ipa_disable_hashing_rt_flt_v4_2() - Disable filer and route hashing. * * Return codes: 0 for success, negative value for failure */ static int ipa_disable_hashing_rt_flt_v4_2(void) { IPADBG("Disable hashing for filter and route table in IPA 4.2 HW\n"); ipahal_write_reg(IPA_FILT_ROUT_HASH_EN, IPA_FILT_ROUT_HASH_REG_VAL_v4_2); return 0; } /** * ipa_comp_cfg() - Configure QMB/Master port selection * Loading Loading @@ -3347,6 +3363,13 @@ int ipa3_init_hw(void) ipa_comp_cfg(); /* * In IPA 4.2 filter and routing hashing not supported * disabling hash enable register. */ if (ipa3_ctx->ipa_fltrt_not_hashable) ipa_disable_hashing_rt_flt_v4_2(); return 0; } Loading
drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c +4 −0 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ static const char *ipareg_name_to_str[IPA_REG_MAX] = { __stringify(IPA_DEBUG_CNT_CTRL_n), __stringify(IPA_UC_MAILBOX_m_n), __stringify(IPA_FILT_ROUT_HASH_FLUSH), __stringify(IPA_FILT_ROUT_HASH_EN), __stringify(IPA_SINGLE_NDP_MODE), __stringify(IPA_QCNCM), __stringify(IPA_SYS_PKT_PROC_CNTXT_BASE), Loading Loading @@ -2747,6 +2748,9 @@ static struct ipahal_reg_obj ipahal_reg_objs[IPA_HW_MAX][IPA_REG_MAX] = { [IPA_HW_v4_2][IPA_HPS_FTCH_ARB_QUEUE_WEIGHT] = { ipareg_construct_dummy, ipareg_parse_dummy, -1, 0, 0, 0, 0}, [IPA_HW_v4_2][IPA_FILT_ROUT_HASH_EN] = { ipareg_construct_dummy, ipareg_parse_dummy, 0x00000148, 0, 0, 0, 0}, /* IPA4.5 */ [IPA_HW_v4_5][IPA_SRC_RSRC_GRP_01_RSRC_TYPE_n] = { Loading
drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h +1 −0 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ enum ipahal_reg_name { IPA_DEBUG_CNT_CTRL_n, IPA_UC_MAILBOX_m_n, IPA_FILT_ROUT_HASH_FLUSH, IPA_FILT_ROUT_HASH_EN, IPA_SINGLE_NDP_MODE, IPA_QCNCM, IPA_SYS_PKT_PROC_CNTXT_BASE, Loading