diff options
| author | Ping Li <quicpingli@codeaurora.org> | 2014-03-20 17:20:26 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:28:30 -0700 |
| commit | cb0402ff45fa59eb00b8d13336cabcb4f601c1b8 (patch) | |
| tree | 34460289b8bde2f2f934ca5967c0862c164c6c55 | |
| parent | 20cd4e4a73d7f7667fe2bfbb62d535ef2e3f981d (diff) | |
msm: mdss: Fix the incorrect address base for postproc calib ioctl
The postproc calib configuration address should always offset form
MDSS base, not MDP base. Also allow postproc calib ioctl to access
the MDSS version register.
Change-Id: I9dbf5a2a75a0a384e7f97efca49f1a75e5d01fc8
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index 9ef3e1f69cad..0dce5315340e 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -5119,6 +5119,8 @@ static int is_valid_calib_addr(void *addr, u32 operation) if ((uintptr_t) addr % 4) { ret = 0; + } else if (ptr == mdss_res->mdss_base + MDSS_REG_HW_VERSION) { + ret = MDP_PP_OPS_READ; } else if (ptr == (mdss_res->mdp_base + MDSS_MDP_REG_HW_VERSION) || ptr == (mdss_res->mdp_base + MDSS_MDP_REG_DISP_INTF_SEL)) { ret = MDP_PP_OPS_READ; @@ -5173,7 +5175,7 @@ int mdss_mdp_calib_config(struct mdp_calib_config_data *cfg, u32 *copyback) /* Calib addrs are always offsets from the MDSS base */ ptr = (void *)((unsigned int) cfg->addr) + - ((uintptr_t) mdss_res->mdp_base); + ((uintptr_t) mdss_res->mdss_base); if (is_valid_calib_addr(ptr, cfg->ops)) ret = 0; else |
