summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenet Clark <benetc@codeaurora.org>2014-01-20 01:53:47 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:27:08 -0700
commitdfee5d85675f7f9c63ef2db169291e8509ed98a4 (patch)
tree789e2a1fcc9d88d48869bce193fa826fc7d40756
parentfbba6f87998f0e97dd9a83632cecc25f57eee122 (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.c26
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