diff options
| author | Ingrid Gallardo <ingridg@codeaurora.org> | 2015-04-23 23:14:21 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:43:53 -0700 |
| commit | a65a03be436b46cd776c50fed21f39604295aed4 (patch) | |
| tree | a8555c6eb4f3dcbdda101eb5b8f1bd1f9f0978d1 /drivers/video/fbdev | |
| parent | 19443f6d8649375d28fc0d50f4ffb7259e1bbbb1 (diff) | |
msm: mdss: xlog: fix issue preventing dump address to be stored
Fix bug in xlog dump which prevents the virtual address
of the registers to be stored in the driver context.
Change-Id: I15fba4b8f88b31b8cd9eb27a21548e04a9a286ff
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_debug_xlog.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/video/fbdev/msm/mdss_debug_xlog.c b/drivers/video/fbdev/msm/mdss_debug_xlog.c index e0b3f64a7435..e92464f78b4f 100644 --- a/drivers/video/fbdev/msm/mdss_debug_xlog.c +++ b/drivers/video/fbdev/msm/mdss_debug_xlog.c @@ -204,7 +204,7 @@ u32 get_dump_range(struct dump_offset *range_node, size_t max_offset) } static void mdss_dump_reg(u32 reg_dump_flag, - char *addr, int len, u32 *dump_mem) + char *addr, int len, u32 **dump_mem) { struct mdss_data_type *mdata = mdss_mdp_get_mdata(); bool in_log, in_mem; @@ -223,12 +223,12 @@ static void mdss_dump_reg(u32 reg_dump_flag, len /= 16; if (in_mem) { - if (!dump_mem) - dump_mem = dma_alloc_coherent(&mdata->pdev->dev, + if (!(*dump_mem)) + *dump_mem = dma_alloc_coherent(&mdata->pdev->dev, len * 16, &phys, GFP_KERNEL); - if (dump_mem) { - dump_addr = dump_mem; + if (*dump_mem) { + dump_addr = *dump_mem; pr_info("start_addr:%p end_addr:%p reg_addr=%p\n", dump_addr, dump_addr + (u32)len * 16, addr); @@ -289,7 +289,7 @@ static void mdss_dump_reg_by_ranges(struct mdss_debug_base *dbg, addr, xlog_node->offset.start, xlog_node->offset.end); mdss_dump_reg(reg_dump_flag, addr, len, - xlog_node->reg_dump); + &xlog_node->reg_dump); } } else { /* If there is no list to dump ranges, dump all registers */ @@ -297,7 +297,7 @@ static void mdss_dump_reg_by_ranges(struct mdss_debug_base *dbg, pr_info("base:0x%p len:0x%zu\n", dbg->base, dbg->max_offset); addr = dbg->base; len = dbg->max_offset; - mdss_dump_reg(reg_dump_flag, addr, len, dbg->reg_dump); + mdss_dump_reg(reg_dump_flag, addr, len, &dbg->reg_dump); } } |
