From dc6d11595d3c0f95840e7d28ab3512ff68b5b9bb Mon Sep 17 00:00:00 2001 From: Ghanim Fodi Date: Thu, 5 Jul 2018 14:45:42 +0300 Subject: [PATCH] msm: ipa: Update IPA_SRAM_DIRECT_ACCESS_n for IPA4.5 IPA shared RAM S/W area access can be done via this register. At IPA4.5 the register name and offset changed. This change updates the code accordingly. CRs-Fixed: 2291194 Change-Id: Ibd683181f551df63097a58fd1e0473a3564236b6 Signed-off-by: Ghanim Fodi --- drivers/platform/msm/ipa/ipa_v3/ipa.c | 6 +++--- drivers/platform/msm/ipa/ipa_v3/ipa_flt.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipa_nat.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipa_rt.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipa_uc.c | 5 +++-- drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c | 2 +- drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c | 7 +++++-- drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h | 6 +++--- 10 files changed, 20 insertions(+), 16 deletions(-) diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa.c b/drivers/platform/msm/ipa/ipa_v3/ipa.c index 340d00d56893..683906ae2993 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa.c @@ -2649,18 +2649,18 @@ int _ipa_init_sram_v3(void) unsigned long phys_addr; IPADBG( - "ipa_wrapper_base(0x%08X) ipa_reg_base_ofst(0x%08X) IPA_SRAM_DIRECT_ACCESS_n(0x%08X) smem_restricted_bytes(0x%08X) smem_sz(0x%08X)\n", + "ipa_wrapper_base(0x%08X) ipa_reg_base_ofst(0x%08X) IPA_SW_AREA_RAM_DIRECT_ACCESS_n(0x%08X) smem_restricted_bytes(0x%08X) smem_sz(0x%08X)\n", ipa3_ctx->ipa_wrapper_base, ipa3_ctx->ctrl->ipa_reg_base_ofst, ipahal_get_reg_n_ofst( - IPA_SRAM_DIRECT_ACCESS_n, + IPA_SW_AREA_RAM_DIRECT_ACCESS_n, ipa3_ctx->smem_restricted_bytes / 4), ipa3_ctx->smem_restricted_bytes, ipa3_ctx->smem_sz); phys_addr = ipa3_ctx->ipa_wrapper_base + ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, ipa3_ctx->smem_restricted_bytes / 4); ipa_sram_mmio = ioremap(phys_addr, ipa3_ctx->smem_sz); diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_flt.c b/drivers/platform/msm/ipa/ipa_v3/ipa_flt.c index 9b98dde203fa..f762a3c984f1 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_flt.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_flt.c @@ -1623,7 +1623,7 @@ int ipa3_flt_read_tbl_from_hw(u32 pipe_idx, enum ipa_ip_type ip_type, /* map IPA SRAM */ ipa_sram_mmio = ioremap(ipa3_ctx->ipa_wrapper_base + ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, ipa3_ctx->smem_restricted_bytes / 4), ipa3_ctx->smem_sz); if (!ipa_sram_mmio) { diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_nat.c b/drivers/platform/msm/ipa/ipa_v3/ipa_nat.c index 89b0543796e0..f6772a960d7e 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_nat.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_nat.c @@ -146,7 +146,7 @@ static int ipa3_nat_ipv6ct_mmap(struct file *filp, struct vm_area_struct *vma) phys_addr = ipa3_ctx->ipa_wrapper_base + ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, dev->smem_offset); if (remap_pfn_range( diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_rt.c b/drivers/platform/msm/ipa/ipa_v3/ipa_rt.c index 60017dff6b13..bca72e594910 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_rt.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_rt.c @@ -1938,7 +1938,7 @@ int ipa3_rt_read_tbl_from_hw(u32 tbl_idx, enum ipa_ip_type ip_type, /* map IPA SRAM */ ipa_sram_mmio = ioremap(ipa3_ctx->ipa_wrapper_base + ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, ipa3_ctx->smem_restricted_bytes / 4), ipa3_ctx->smem_sz); if (!ipa_sram_mmio) { diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_uc.c b/drivers/platform/msm/ipa/ipa_v3/ipa_uc.c index f4be9a8c3ec5..e04996b80b18 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc.c @@ -249,7 +249,8 @@ static void ipa3_log_evt_hdlr(void) if (ipa3_ctx->uc_ctx.uc_event_top_ofst + sizeof(struct IpaHwEventLogInfoData_t) >= ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, 0) + + ipahal_get_reg_n_ofst( + IPA_SW_AREA_RAM_DIRECT_ACCESS_n, 0) + ipa3_ctx->smem_sz) { IPAERR("uc_top 0x%x outside SRAM\n", ipa3_ctx->uc_ctx.uc_event_top_ofst); @@ -657,7 +658,7 @@ int ipa3_uc_interface_init(void) phys_addr = ipa3_ctx->ipa_wrapper_base + ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, 0); + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, 0); ipa3_ctx->uc_ctx.uc_sram_mmio = ioremap(phys_addr, IPA_RAM_UC_SMEM_SIZE); if (!ipa3_ctx->uc_ctx.uc_sram_mmio) { diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c index a65dbdc6c0f2..3304badbc174 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_mhi.c @@ -556,7 +556,7 @@ static void ipa3_uc_mhi_event_log_info_hdlr( if (ipa3_uc_mhi_ctx->mhi_uc_stats_ofst + sizeof(struct IpaHwStatsMhiInfoData_t) >= ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, 0) + + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, 0) + ipa3_ctx->smem_sz) { IPAERR("uc_mhi_stats 0x%x outside SRAM\n", ipa3_uc_mhi_ctx->mhi_uc_stats_ofst); diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c index 9f17d892da2f..c3372412d83d 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_ntn.c @@ -56,7 +56,7 @@ struct IpaHwEventLogInfoData_t *uc_event_top_mmio) if (ipa3_ctx->uc_ntn_ctx.ntn_uc_stats_ofst + sizeof(struct Ipa3HwStatsNTNInfoData_t) >= ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, 0) + + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, 0) + ipa3_ctx->smem_sz) { IPAERR("uc_ntn_stats 0x%x outside SRAM\n", ipa3_ctx->uc_ntn_ctx.ntn_uc_stats_ofst); diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c index 7b517f7b86c1..e36e5fc8da0f 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_uc_wdi.c @@ -373,7 +373,7 @@ struct IpaHwEventLogInfoData_t *uc_event_top_mmio) if (ipa3_ctx->uc_wdi_ctx.wdi_uc_stats_ofst + sizeof(struct IpaHwStatsWDIInfoData_t) >= ipa3_ctx->ctrl->ipa_reg_base_ofst + - ipahal_get_reg_n_ofst(IPA_SRAM_DIRECT_ACCESS_n, 0) + + ipahal_get_reg_n_ofst(IPA_SW_AREA_RAM_DIRECT_ACCESS_n, 0) + ipa3_ctx->smem_sz) { IPAERR("uc_wdi_stats 0x%x outside SRAM\n", ipa3_ctx->uc_wdi_ctx.wdi_uc_stats_ofst); diff --git a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c index 0afa5c77f828..6772aecf3994 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.c @@ -84,7 +84,7 @@ static const char *ipareg_name_to_str[IPA_REG_MAX] = { __stringify(IPA_ENDP_INIT_PROD_CFG_n), __stringify(IPA_ENDP_INIT_RSRC_GRP_n), __stringify(IPA_SHARED_MEM_SIZE), - __stringify(IPA_SRAM_DIRECT_ACCESS_n), + __stringify(IPA_SW_AREA_RAM_DIRECT_ACCESS_n), __stringify(IPA_DEBUG_CNT_CTRL_n), __stringify(IPA_UC_MAILBOX_m_n), __stringify(IPA_FILT_ROUT_HASH_FLUSH), @@ -2320,7 +2320,7 @@ static struct ipahal_reg_obj ipahal_reg_objs[IPA_HW_MAX][IPA_REG_MAX] = { [IPA_HW_v3_0][IPA_SHARED_MEM_SIZE] = { ipareg_construct_dummy, ipareg_parse_shared_mem_size, 0x00000054, 0, 0, 0, 0}, - [IPA_HW_v3_0][IPA_SRAM_DIRECT_ACCESS_n] = { + [IPA_HW_v3_0][IPA_SW_AREA_RAM_DIRECT_ACCESS_n] = { ipareg_construct_dummy, ipareg_parse_dummy, 0x00007000, 0x4, 0, 0, 0}, [IPA_HW_v3_0][IPA_DEBUG_CNT_CTRL_n] = { @@ -2924,6 +2924,9 @@ static struct ipahal_reg_obj ipahal_reg_objs[IPA_HW_MAX][IPA_REG_MAX] = { ipareg_construct_endp_init_aggr_n_v4_5, ipareg_parse_endp_init_aggr_n_v4_5, 0x00000824, 0x70, 0, 31, 1}, + [IPA_HW_v4_5][IPA_SW_AREA_RAM_DIRECT_ACCESS_n] = { + ipareg_construct_dummy, ipareg_parse_dummy, + 0x000010000, 0x4, 0, 0, 0}, }; /* diff --git a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h index 1a6ad086bd58..8b382898fd60 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h +++ b/drivers/platform/msm/ipa/ipa_v3/ipahal/ipahal_reg.h @@ -85,7 +85,7 @@ enum ipahal_reg_name { IPA_ENDP_INIT_PROD_CFG_n, IPA_ENDP_INIT_RSRC_GRP_n, IPA_SHARED_MEM_SIZE, - IPA_SRAM_DIRECT_ACCESS_n, + IPA_SW_AREA_RAM_DIRECT_ACCESS_n, IPA_DEBUG_CNT_CTRL_n, IPA_UC_MAILBOX_m_n, IPA_FILT_ROUT_HASH_FLUSH, @@ -204,12 +204,12 @@ struct ipahal_reg_endp_init_mode { }; /* - * struct ipahal_reg_shared_mem_size - IPA SHARED_MEM_SIZE register + * struct ipahal_reg_shared_mem_size - IPA_SHARED_MEM_SIZE register * @shared_mem_sz: Available size [in 8Bytes] of SW partition within * IPA shared memory. * @shared_mem_baddr: Offset of SW partition within IPA * shared memory[in 8Bytes]. To get absolute address of SW partition, - * add this offset to IPA_SRAM_DIRECT_ACCESS_n baddr. + * add this offset to IPA_SW_AREA_RAM_DIRECT_ACCESS_n baddr. */ struct ipahal_reg_shared_mem_size { u32 shared_mem_sz;