summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenet Clark <benetc@codeaurora.org>2014-02-05 02:14:51 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:26:55 -0700
commite09b58be2c39991a3d0ec2bfc718fb6c62691ec5 (patch)
tree60520a3b31e35bfe8e51ca81ee137bb1e3e1c561
parenteaf06490a56df95511f6aaf31e725862b8adda0f (diff)
msm: mdss: Add BL scale compat ioctl to PP compat layer
Added BL scale ioctl to PP compat ioctl. Signed-off-by: Benet Clark <benetc@codeaurora.org> Change-Id: I13a1d2b43513c637126e465ae19c55285a26352e
-rw-r--r--drivers/video/fbdev/msm/mdss_compat_utils.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_compat_utils.c b/drivers/video/fbdev/msm/mdss_compat_utils.c
index eb3e75b8f61a..9db0f5607c58 100644
--- a/drivers/video/fbdev/msm/mdss_compat_utils.c
+++ b/drivers/video/fbdev/msm/mdss_compat_utils.c
@@ -850,6 +850,21 @@ static int __to_user_qseed_cfg_data(
return 0;
}
+static int __from_user_bl_scale_data(
+ struct mdp_bl_scale_data32 __user *bl_scale32,
+ struct mdp_bl_scale_data __user *bl_scale)
+{
+ if (copy_in_user(&bl_scale->min_lvl,
+ &bl_scale32->min_lvl,
+ sizeof(uint32_t)) ||
+ copy_in_user(&bl_scale->scale,
+ &bl_scale32->scale,
+ sizeof(uint32_t)))
+ return -EFAULT;
+
+ return 0;
+}
+
static int __pp_compat_alloc(struct msmfb_mdp_pp32 __user *pp32,
struct msmfb_mdp_pp __user **pp,
uint32_t op)
@@ -1003,6 +1018,14 @@ static int mdss_compat_pp_ioctl(struct fb_info *info, unsigned int cmd,
compat_ptr((uintptr_t)&pp32->data.qseed_cfg_data),
&pp->data.qseed_cfg_data);
break;
+ case mdp_bl_scale_cfg:
+ ret = __from_user_bl_scale_data(
+ compat_ptr((uintptr_t)&pp32->data.bl_scale_data),
+ &pp->data.bl_scale_data);
+ if (ret)
+ goto pp_compat_exit;
+ ret = mdss_fb_do_ioctl(info, cmd, (unsigned long) pp);
+ break;
default:
break;
}