summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Zhang <kenz@codeaurora.org>2015-03-25 12:32:34 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:41:00 -0700
commit699a73beab1352938dad254ef29451e97946a505 (patch)
treef98a9ee32faab26475ebb85c0937715428ea7ce7
parentbce01b2e9d90388a207f2872def6be024eef0f36 (diff)
Revert "msm: mdss: Override partial update PP block using ioctl"
This reverts commit 679dc362a9effee922ef2ce1447424b318f667bc. The way overriding partial update via PP ioctl is obsolete, partial update control is going through sysfs. The left code is blocking pp ioctl even partial update is disabled dynamically. Change-Id: Icb455a0101b53c58ae6c1b2686bd2297b4832396 Signed-off-by: Ken Zhang <kenz@codeaurora.org> Signed-off-by: Ping Li <pingli@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss.h2
-rw-r--r--drivers/video/fbdev/msm/mdss_compat_utils.c19
-rw-r--r--drivers/video/fbdev/msm/mdss_compat_utils.h5
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp.h1
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c27
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_pp.c14
-rw-r--r--include/uapi/linux/msm_mdp.h11
7 files changed, 0 insertions, 79 deletions
diff --git a/drivers/video/fbdev/msm/mdss.h b/drivers/video/fbdev/msm/mdss.h
index 5f6fec9b1499..3339b264988a 100644
--- a/drivers/video/fbdev/msm/mdss.h
+++ b/drivers/video/fbdev/msm/mdss.h
@@ -351,8 +351,6 @@ struct mdss_data_type {
void *video_intf;
u32 nintf;
- int pp_enable;
-
struct mdss_mdp_ad *ad_off;
struct mdss_ad_info *ad_cfgs;
u32 nad_cfgs;
diff --git a/drivers/video/fbdev/msm/mdss_compat_utils.c b/drivers/video/fbdev/msm/mdss_compat_utils.c
index 11888adb7f2b..9eebea36c7f9 100644
--- a/drivers/video/fbdev/msm/mdss_compat_utils.c
+++ b/drivers/video/fbdev/msm/mdss_compat_utils.c
@@ -2648,17 +2648,6 @@ static int __from_user_calib_dcm_state(
return 0;
}
-static int __from_user_pp_init_data(
- struct mdp_pp_init_data32 __user *init_data32,
- struct mdp_pp_init_data __user *init_data)
-{
- if (copy_in_user(&init_data->init_request, &init_data32->init_request,
- sizeof(uint32_t)))
- return -EFAULT;
-
- return 0;
-}
-
static u32 __pp_compat_size_igc(void)
{
u32 alloc_size = 0;
@@ -3026,14 +3015,6 @@ static int mdss_compat_pp_ioctl(struct fb_info *info, unsigned int cmd,
goto pp_compat_exit;
ret = mdss_fb_do_ioctl(info, cmd, (unsigned long) pp);
break;
- case mdp_op_pp_init_cfg:
- ret = __from_user_pp_init_data(
- compat_ptr((uintptr_t)&pp32->data.init_data),
- &pp->data.init_data);
- if (ret)
- goto pp_compat_exit;
- ret = mdss_fb_do_ioctl(info, cmd, (unsigned long) pp);
- break;
default:
break;
}
diff --git a/drivers/video/fbdev/msm/mdss_compat_utils.h b/drivers/video/fbdev/msm/mdss_compat_utils.h
index 4b4fbc71f0b1..4566a9fda371 100644
--- a/drivers/video/fbdev/msm/mdss_compat_utils.h
+++ b/drivers/video/fbdev/msm/mdss_compat_utils.h
@@ -408,10 +408,6 @@ struct mdss_calib_cfg32 {
uint32_t calib_mask;
};
-struct mdp_pp_init_data32 {
- uint32_t init_request;
-};
-
struct mdp_histogram_cfg32 {
uint32_t ops;
uint32_t block;
@@ -460,7 +456,6 @@ struct msmfb_mdp_pp32 {
struct mdss_ad_input32 ad_input;
struct mdp_calib_config_buffer32 calib_buffer;
struct mdp_calib_dcm_state32 calib_dcm;
- struct mdp_pp_init_data32 init_data;
} data;
};
diff --git a/drivers/video/fbdev/msm/mdss_mdp.h b/drivers/video/fbdev/msm/mdss_mdp.h
index 68a7dc6db89c..07bd2638ada3 100644
--- a/drivers/video/fbdev/msm/mdss_mdp.h
+++ b/drivers/video/fbdev/msm/mdss_mdp.h
@@ -1051,7 +1051,6 @@ int mdss_mdp_csc_setup_data(u32 block, u32 blk_idx, struct mdp_csc_cfg *data);
int mdss_mdp_pp_init(struct device *dev);
void mdss_mdp_pp_term(struct device *dev);
-int mdss_mdp_pp_override_pu(int enable);
int mdss_mdp_pp_overlay_init(struct msm_fb_data_type *mfd);
int mdss_mdp_pp_resume(struct mdss_mdp_ctl *ctl, u32 mixer_num);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index a9c6f8ad4ec7..235b06a921f7 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -3524,27 +3524,14 @@ static int mdss_mdp_pp_ioctl(struct msm_fb_data_type *mfd,
{
int ret;
struct msmfb_mdp_pp mdp_pp;
- struct mdss_data_type *mdata = mdss_mdp_get_mdata();
u32 copyback = 0;
u32 copy_from_kernel = 0;
struct mdss_overlay_private *mdp5_data = mfd_to_mdp5_data(mfd);
- if (!mdata)
- return -EPERM;
-
ret = copy_from_user(&mdp_pp, argp, sizeof(mdp_pp));
if (ret)
return ret;
- /* Support only PP init cfg op if partial update is enabled for allowing
- * overriding of partial update
- */
- if (mdata->pp_enable == MDP_PP_DISABLE &&
- mdp_pp.op != mdp_op_pp_init_cfg) {
- pr_err("Partial update feature is enabled\n");
- return -EPERM;
- }
-
if (mfd->panel_info->partial_update_enabled && mdp5_data->dyn_pu_state
&& !mdss_mdp_pp_is_disable_op(&mdp_pp)) {
pr_debug("Partial update feature is enabled.\n");
@@ -3639,10 +3626,6 @@ static int mdss_mdp_pp_ioctl(struct msm_fb_data_type *mfd,
case mdp_op_calib_dcm_state:
ret = mdss_fb_dcm(mfd, mdp_pp.data.calib_dcm.dcm_state);
break;
- case mdp_op_pp_init_cfg:
- ret = mdss_mdp_pp_override_pu(
- mdp_pp.data.init_data.init_request);
- break;
default:
pr_err("Unsupported request to MDP_PP IOCTL. %d = op\n",
mdp_pp.op);
@@ -3668,11 +3651,6 @@ static int mdss_mdp_histo_ioctl(struct msm_fb_data_type *mfd, u32 cmd,
if (!mdata)
return -EPERM;
- if (mdata->pp_enable == MDP_PP_DISABLE) {
- pr_err("Partial update feature is enabled\n");
- return -EPERM;
- }
-
if (mfd->panel_info->partial_update_enabled && mdp5_data->dyn_pu_state
&& (cmd != MSMFB_HISTOGRAM_STOP)) {
pr_debug("Partial update feature is enabled.\n");
@@ -4933,11 +4911,6 @@ int mdss_mdp_overlay_init(struct msm_fb_data_type *mfd)
mfd->split_mode = MDP_PINGPONG_SPLIT;
}
- if (mfd->panel_info->partial_update_enabled)
- mdp5_data->mdata->pp_enable = MDP_PP_DISABLE;
- else
- mdp5_data->mdata->pp_enable = MDP_PP_ENABLE;
-
rc = mdss_mdp_overlay_fb_parse_dt(mfd);
if (rc)
return rc;
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c
index 2af9e9029502..0bd41bf5cb50 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_pp.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c
@@ -2378,20 +2378,6 @@ void mdss_mdp_pp_term(struct device *dev)
}
}
-int mdss_mdp_pp_override_pu(int enable)
-{
- struct mdss_data_type *mdata = mdss_mdp_get_mdata();
-
- if (!mdata)
- return -EPERM;
-
- if ((enable != MDP_PP_ENABLE) && (enable != MDP_PP_DISABLE))
- return -EINVAL;
-
- mdata->pp_enable = enable;
- return 0;
-}
-
int mdss_mdp_pp_overlay_init(struct msm_fb_data_type *mfd)
{
if (!mfd) {
diff --git a/include/uapi/linux/msm_mdp.h b/include/uapi/linux/msm_mdp.h
index 056c7f852f29..e1591b7ec07f 100644
--- a/include/uapi/linux/msm_mdp.h
+++ b/include/uapi/linux/msm_mdp.h
@@ -1034,15 +1034,6 @@ struct mdp_calib_dcm_state {
uint32_t dcm_state;
};
-struct mdp_pp_init_data {
- uint32_t init_request;
-};
-
-enum {
- MDP_PP_DISABLE,
- MDP_PP_ENABLE,
-};
-
enum {
DCM_UNINIT,
DCM_UNBLANK,
@@ -1157,7 +1148,6 @@ enum {
mdp_op_calib_buffer,
mdp_op_calib_dcm_state,
mdp_op_max,
- mdp_op_pp_init_cfg,
};
enum {
@@ -1189,7 +1179,6 @@ struct msmfb_mdp_pp {
struct mdss_ad_input ad_input;
struct mdp_calib_config_buffer calib_buffer;
struct mdp_calib_dcm_state calib_dcm;
- struct mdp_pp_init_data init_data;
} data;
};