summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorIngrid Gallardo <ingridg@codeaurora.org>2015-04-23 23:14:21 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:43:53 -0700
commita65a03be436b46cd776c50fed21f39604295aed4 (patch)
treea8555c6eb4f3dcbdda101eb5b8f1bd1f9f0978d1 /drivers/video/fbdev
parent19443f6d8649375d28fc0d50f4ffb7259e1bbbb1 (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.c14
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);
}
}