Loading drivers/soc/qcom/peripheral-loader.c +9 −9 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ static int pil_do_minidump(struct pil_desc *desc, void *ramdump_dev) region_info = (struct md_ss_region __iomem *)subsys_segtable_base; if (!region_info) return -EINVAL; pr_debug("Segments in minidump 0x%x\n", ss_mdump_seg_cnt); pr_info("Minidump : Segments in minidump 0x%x\n", ss_mdump_seg_cnt); ramdump_segs = kcalloc(ss_mdump_seg_cnt, sizeof(*ramdump_segs), GFP_KERNEL); if (!ramdump_segs) Loading @@ -184,7 +184,7 @@ static int pil_do_minidump(struct pil_desc *desc, void *ramdump_dev) offset = offset + sizeof(region_info->region_base_address); s->size = __raw_readl(offset); pr_debug("Minidump : Dumping segment %s with address 0x%lx and size 0x%x\n", pr_info("Minidump : Dumping segment %s with address 0x%lx and size 0x%x\n", s->name, s->address, (unsigned int)s->size); } else ss_valid_seg_cnt--; Loading Loading @@ -220,15 +220,15 @@ int pil_do_ramdump(struct pil_desc *desc, int count = 0, ret; if (desc->minidump) { pr_debug("Minidump : md_ss_toc->md_ss_toc_init is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_toc_init is 0x%x\n", (unsigned int)desc->minidump->md_ss_toc_init); pr_debug("Minidump : md_ss_toc->md_ss_enable_status is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_enable_status is 0x%x\n", (unsigned int)desc->minidump->md_ss_enable_status); pr_debug("Minidump : md_ss_toc->encryption_status is 0x%x\n", pr_info("Minidump : md_ss_toc->encryption_status is 0x%x\n", (unsigned int)desc->minidump->encryption_status); pr_debug("Minidump : md_ss_toc->ss_region_count is 0x%x\n", pr_info("Minidump : md_ss_toc->ss_region_count is 0x%x\n", (unsigned int)desc->minidump->ss_region_count); pr_debug("Minidump : md_ss_toc->md_ss_smem_regions_baseptr is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_smem_regions_baseptr is 0x%x\n", (unsigned int) desc->minidump->md_ss_smem_regions_baseptr); /** Loading @@ -241,11 +241,11 @@ int pil_do_ramdump(struct pil_desc *desc, MD_SS_ENABLED)) { if (desc->minidump->encryption_status == MD_SS_ENCR_DONE) { pr_debug("Dumping Minidump for %s\n", pr_info("Minidump : Dumping for %s\n", desc->name); return pil_do_minidump(desc, minidump_dev); } pr_debug("Minidump aborted for %s\n", desc->name); pr_info("Minidump : aborted for %s\n", desc->name); return -EINVAL; } } Loading drivers/soc/qcom/pil-msa.c +13 −8 Original line number Diff line number Diff line Loading @@ -557,7 +557,7 @@ static int pil_mss_reset(struct pil_desc *pil) { struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc); phys_addr_t start_addr = pil_get_entry_addr(pil); u32 debug_val; u32 debug_val = 0; int ret; trace_pil_func(__func__); Loading @@ -576,8 +576,10 @@ static int pil_mss_reset(struct pil_desc *pil) if (ret) goto err_clks; if (!pil->minidump || !pil->modem_ssr) { /* Save state of modem debug register before full reset */ debug_val = readl_relaxed(drv->reg_base + QDSP6SS_DBG_CFG); } /* Assert reset to subsystem */ pil_mss_assert_resets(drv); Loading @@ -587,9 +589,12 @@ static int pil_mss_reset(struct pil_desc *pil) if (ret) goto err_restart; if (!pil->minidump || !pil->modem_ssr) { writel_relaxed(debug_val, drv->reg_base + QDSP6SS_DBG_CFG); if (modem_dbg_cfg) writel_relaxed(modem_dbg_cfg, drv->reg_base + QDSP6SS_DBG_CFG); writel_relaxed(modem_dbg_cfg, drv->reg_base + QDSP6SS_DBG_CFG); } /* Program Image Address */ if (drv->self_auth) { Loading Loading @@ -819,8 +824,8 @@ int pil_mss_debug_reset(struct pil_desc *pil) * Need to Wait for timeout for debug reset sequence to * complete before returning */ pr_debug("Minidump: waiting encryption to complete\n"); msleep(30000); pr_info("Minidump: waiting encryption to complete\n"); msleep(10000); if (pil->minidump) { writel_relaxed(0x2, drv->reg_base + QDSP6SS_NMI_CFG); /* Let write complete before proceeding */ Loading drivers/soc/qcom/pil-q6v5-mss.c +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,11 @@ static int modem_ramdump(int enable, const struct subsys_desc *subsys) if (ret) return ret; pil_mss_remove_proxy_votes(&drv->q6->desc); ret = pil_mss_make_proxy_votes(&drv->q6->desc); if (ret) return ret; ret = pil_mss_reset_load_mba(&drv->q6->desc); if (ret) return ret; Loading Loading
drivers/soc/qcom/peripheral-loader.c +9 −9 Original line number Diff line number Diff line Loading @@ -161,7 +161,7 @@ static int pil_do_minidump(struct pil_desc *desc, void *ramdump_dev) region_info = (struct md_ss_region __iomem *)subsys_segtable_base; if (!region_info) return -EINVAL; pr_debug("Segments in minidump 0x%x\n", ss_mdump_seg_cnt); pr_info("Minidump : Segments in minidump 0x%x\n", ss_mdump_seg_cnt); ramdump_segs = kcalloc(ss_mdump_seg_cnt, sizeof(*ramdump_segs), GFP_KERNEL); if (!ramdump_segs) Loading @@ -184,7 +184,7 @@ static int pil_do_minidump(struct pil_desc *desc, void *ramdump_dev) offset = offset + sizeof(region_info->region_base_address); s->size = __raw_readl(offset); pr_debug("Minidump : Dumping segment %s with address 0x%lx and size 0x%x\n", pr_info("Minidump : Dumping segment %s with address 0x%lx and size 0x%x\n", s->name, s->address, (unsigned int)s->size); } else ss_valid_seg_cnt--; Loading Loading @@ -220,15 +220,15 @@ int pil_do_ramdump(struct pil_desc *desc, int count = 0, ret; if (desc->minidump) { pr_debug("Minidump : md_ss_toc->md_ss_toc_init is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_toc_init is 0x%x\n", (unsigned int)desc->minidump->md_ss_toc_init); pr_debug("Minidump : md_ss_toc->md_ss_enable_status is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_enable_status is 0x%x\n", (unsigned int)desc->minidump->md_ss_enable_status); pr_debug("Minidump : md_ss_toc->encryption_status is 0x%x\n", pr_info("Minidump : md_ss_toc->encryption_status is 0x%x\n", (unsigned int)desc->minidump->encryption_status); pr_debug("Minidump : md_ss_toc->ss_region_count is 0x%x\n", pr_info("Minidump : md_ss_toc->ss_region_count is 0x%x\n", (unsigned int)desc->minidump->ss_region_count); pr_debug("Minidump : md_ss_toc->md_ss_smem_regions_baseptr is 0x%x\n", pr_info("Minidump : md_ss_toc->md_ss_smem_regions_baseptr is 0x%x\n", (unsigned int) desc->minidump->md_ss_smem_regions_baseptr); /** Loading @@ -241,11 +241,11 @@ int pil_do_ramdump(struct pil_desc *desc, MD_SS_ENABLED)) { if (desc->minidump->encryption_status == MD_SS_ENCR_DONE) { pr_debug("Dumping Minidump for %s\n", pr_info("Minidump : Dumping for %s\n", desc->name); return pil_do_minidump(desc, minidump_dev); } pr_debug("Minidump aborted for %s\n", desc->name); pr_info("Minidump : aborted for %s\n", desc->name); return -EINVAL; } } Loading
drivers/soc/qcom/pil-msa.c +13 −8 Original line number Diff line number Diff line Loading @@ -557,7 +557,7 @@ static int pil_mss_reset(struct pil_desc *pil) { struct q6v5_data *drv = container_of(pil, struct q6v5_data, desc); phys_addr_t start_addr = pil_get_entry_addr(pil); u32 debug_val; u32 debug_val = 0; int ret; trace_pil_func(__func__); Loading @@ -576,8 +576,10 @@ static int pil_mss_reset(struct pil_desc *pil) if (ret) goto err_clks; if (!pil->minidump || !pil->modem_ssr) { /* Save state of modem debug register before full reset */ debug_val = readl_relaxed(drv->reg_base + QDSP6SS_DBG_CFG); } /* Assert reset to subsystem */ pil_mss_assert_resets(drv); Loading @@ -587,9 +589,12 @@ static int pil_mss_reset(struct pil_desc *pil) if (ret) goto err_restart; if (!pil->minidump || !pil->modem_ssr) { writel_relaxed(debug_val, drv->reg_base + QDSP6SS_DBG_CFG); if (modem_dbg_cfg) writel_relaxed(modem_dbg_cfg, drv->reg_base + QDSP6SS_DBG_CFG); writel_relaxed(modem_dbg_cfg, drv->reg_base + QDSP6SS_DBG_CFG); } /* Program Image Address */ if (drv->self_auth) { Loading Loading @@ -819,8 +824,8 @@ int pil_mss_debug_reset(struct pil_desc *pil) * Need to Wait for timeout for debug reset sequence to * complete before returning */ pr_debug("Minidump: waiting encryption to complete\n"); msleep(30000); pr_info("Minidump: waiting encryption to complete\n"); msleep(10000); if (pil->minidump) { writel_relaxed(0x2, drv->reg_base + QDSP6SS_NMI_CFG); /* Let write complete before proceeding */ Loading
drivers/soc/qcom/pil-q6v5-mss.c +5 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,11 @@ static int modem_ramdump(int enable, const struct subsys_desc *subsys) if (ret) return ret; pil_mss_remove_proxy_votes(&drv->q6->desc); ret = pil_mss_make_proxy_votes(&drv->q6->desc); if (ret) return ret; ret = pil_mss_reset_load_mba(&drv->q6->desc); if (ret) return ret; Loading