diff options
| author | Benet Clark <benetc@codeaurora.org> | 2014-01-20 01:53:47 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:27:08 -0700 |
| commit | dfee5d85675f7f9c63ef2db169291e8509ed98a4 (patch) | |
| tree | 789e2a1fcc9d88d48869bce193fa826fc7d40756 | |
| parent | fbba6f87998f0e97dd9a83632cecc25f57eee122 (diff) | |
msm: mdss: pp: make PP driver 64 bit compatible
This patch fixes all incorrect pointer casts in the driver to make
all addresses 64-bit compatible.
Signed-off-by: Benet Clark <benetc@codeaurora.org>
Change-Id: I45c9f6dcf740ee7ade15e8b16b5b4b39e062682c
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index 9f5a0ae2e7f4..d85153ced168 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -644,24 +644,14 @@ static void pp_update_pa_v2_mem_col(char __iomem *addr, static void pp_update_pa_v2_mem_col_regs(char __iomem *addr, struct mdp_pa_mem_col_cfg *cfg) { - pr_debug("ADDR: 0x%x, P0: 0x%x\n", (u32) (unsigned long) addr, - cfg->color_adjust_p0); writel_relaxed(cfg->color_adjust_p0, addr); addr += 4; - pr_debug("ADDR: 0x%x, P1: 0x%x\n", (u32) (unsigned long) addr, - cfg->color_adjust_p1); writel_relaxed(cfg->color_adjust_p1, addr); addr += 4; - pr_debug("ADDR: 0x%x, HUE REGION: 0x%x\n", (u32) (unsigned long) addr, - cfg->hue_region); writel_relaxed(cfg->hue_region, addr); addr += 4; - pr_debug("ADDR: 0x%x, SAT REGION: 0x%x\n", (u32) (unsigned long) addr, - cfg->sat_region); writel_relaxed(cfg->sat_region, addr); addr += 4; - pr_debug("ADDR: 0x%x, VAL REGION: 0x%x\n", (u32) (unsigned long) addr, - cfg->val_region); writel_relaxed(cfg->val_region, addr); } @@ -3110,8 +3100,8 @@ static int pp_hist_enable(struct pp_hist_col_info *hist_info, mutex_lock(&hist_info->hist_mutex); /* check if it is idle */ if (hist_info->col_en) { - pr_info("%s Hist collection has already been enabled %d", - __func__, (u32) (unsigned long) hist_info->base); + pr_info("%s Hist collection has already been enabled %p", + __func__, hist_info->base); ret = -EINVAL; goto exit; } @@ -3249,8 +3239,7 @@ static int pp_hist_disable(struct pp_hist_col_info *hist_info) mutex_lock(&hist_info->hist_mutex); if (hist_info->col_en == false) { - pr_debug("Histogram already disabled (%x)", - (u32) (unsigned long) hist_info->base); + pr_debug("Histogram already disabled (%p)", hist_info->base); ret = -EINVAL; goto exit; } @@ -5069,7 +5058,7 @@ static int is_valid_calib_addr(void *addr, u32 operation) char __iomem *ctl_base = mdss_res->ctl_off->base; char __iomem *dspp_base = mdss_res->mixer_intf->dspp_base; - if ((unsigned int) (unsigned long) addr % 4) { + if ((uintptr_t) addr % 4) { ret = 0; } else if (ptr == (mdss_res->mdp_base + MDSS_MDP_REG_HW_VERSION) || ptr == (mdss_res->mdp_base + MDSS_MDP_REG_DISP_INTF_SEL)) { @@ -5121,10 +5110,11 @@ valid_addr: int mdss_mdp_calib_config(struct mdp_calib_config_data *cfg, u32 *copyback) { int ret = -1; - void *ptr = (void *) (unsigned long) cfg->addr; + void *ptr; - ptr = (void *)(((unsigned int) (unsigned long) ptr) + - (mdss_res->mdss_base)); + /* Calib addrs are always offsets from the MDSS base */ + ptr = (void *)((unsigned int) cfg->addr) + + ((uintptr_t) mdss_res->mdp_base); if (is_valid_calib_addr(ptr, cfg->ops)) ret = 0; else |
