Revert "msm: camera: YV12 video support"

This reverts commit 66882a5046143601429632a0b589d9ffeeb3c668.
This change will be submitted later.

Signed-off-by: Kiran Kumar H N <hurlisal@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/camera.h b/arch/arm/mach-msm/include/mach/camera.h
index 490a527..b49300d 100644
--- a/arch/arm/mach-msm/include/mach/camera.h
+++ b/arch/arm/mach-msm/include/mach/camera.h
@@ -149,12 +149,8 @@
 };
 struct msm_vpe_phy_info {
 	uint32_t sbuf_phy;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
-	uint32_t p0_phy;
-	uint32_t p1_phy;
-	uint32_t p2_phy;
+	uint32_t y_phy;
+	uint32_t cbcr_phy;
 	uint8_t  output_id; /* VFE31_OUTPUT_MODE_PT/S/V */
 	uint32_t frame_id;
 };
@@ -201,12 +197,8 @@
 
 struct msm_vfe_phy_info {
 	uint32_t sbuf_phy;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
-	uint32_t p0_phy;
-	uint32_t p1_phy;
-	uint32_t p2_phy;
+	uint32_t y_phy;
+	uint32_t cbcr_phy;
 	uint8_t  output_id; /* VFE31_OUTPUT_MODE_PT/S/V */
 	uint32_t frame_id;
 };
@@ -236,8 +228,8 @@
 };
 
 struct msm_vpe_buf_info {
-	uint32_t p0_phy;
-	uint32_t p1_phy;
+	uint32_t y_phy;
+	uint32_t cbcr_phy;
 	struct   timespec ts;
 	uint32_t frame_id;
 	struct	 video_crop_t vpe_crop;
@@ -296,7 +288,7 @@
 struct msm_camvpe_fn {
 	int (*vpe_reg)(struct msm_vpe_callback *);
 	int (*vpe_cfg_update) (void *);
-	void (*send_frame_to_vpe) (uint32_t planar0_off, uint32_t planar1_off,
+	void (*send_frame_to_vpe) (uint32_t y_phy, uint32_t cbcr_phy,
 		struct timespec *ts, int output_id);
 	int (*vpe_config)(struct msm_vpe_cfg_cmd *, void *);
 	void (*vpe_cfg_offset)(int frame_pack, uint32_t pyaddr,
diff --git a/drivers/media/video/msm/msm_camera.c b/drivers/media/video/msm/msm_camera.c
index 8aac18a..3fddb8e 100644
--- a/drivers/media/video/msm/msm_camera.c
+++ b/drivers/media/video/msm/msm_camera.c
@@ -276,18 +276,16 @@
 {
 	if (info->offset < len &&
 	    info->offset + info->len <= len &&
-	    info->planar0_off < len &&
-	    info->planar1_off < len &&
-		info->planar2_off < len)
+	    info->y_off < len &&
+	    info->cbcr_off < len)
 		return 0;
 
-	pr_err("%s: check failed: off %d len %d plane0 %d plane1 %d plane2 %d (total len %d)\n",
+	pr_err("%s: check failed: off %d len %d y %d cbcr %d (total len %d)\n",
 		__func__,
 		info->offset,
 		info->len,
-		info->planar0_off,
-		info->planar1_off,
-		info->planar2_off,
+		info->y_off,
+		info->cbcr_off,
 		len);
 	return -EINVAL;
 }
@@ -344,7 +342,7 @@
 
 	hlist_add_head(&(region->list), ptype);
 	spin_unlock_irqrestore(pmem_spinlock, flags);
-	pr_info("%s: type %d, paddr 0x%lx, vaddr 0x%lx\n",
+	CDBG("%s: type %d, paddr 0x%lx, vaddr 0x%lx\n",
 		__func__, info->type, paddr, (unsigned long)info->vaddr);
 
 	return 0;
@@ -422,9 +420,8 @@
 }
 
 static int msm_pmem_frame_ptov_lookup(struct msm_sync *sync,
-		unsigned long p0addr,
-		unsigned long p1addr,
-		unsigned long p2addr,
+		unsigned long pyaddr,
+		unsigned long pcbcraddr,
 		struct msm_pmem_info *pmem_info,
 		int clear_active)
 {
@@ -434,9 +431,9 @@
 
 	spin_lock_irqsave(&sync->pmem_frame_spinlock, flags);
 	hlist_for_each_entry_safe(region, node, n, &sync->pmem_frames, list) {
-		if (p0addr == (region->paddr + region->info.planar0_off) &&
-			p1addr == (region->paddr + region->info.planar1_off) &&
-			p2addr == (region->paddr + region->info.planar2_off) &&
+		if (pyaddr == (region->paddr + region->info.y_off) &&
+				pcbcraddr == (region->paddr +
+						region->info.cbcr_off) &&
 				region->info.active) {
 			/* offset since we could pass vaddr inside
 			 * a registerd pmem buffer
@@ -450,13 +447,12 @@
 		}
 	}
 	/* After lookup failure, dump all the list entries... */
-	pr_err("%s, failed for plane0 addr 0x%lx, plane1 addr 0x%lx plane2 addr 0x%lx\n",
-			__func__, p0addr, p1addr, p2addr);
+	pr_err("%s, for pyaddr 0x%lx, pcbcraddr 0x%lx\n",
+			__func__, pyaddr, pcbcraddr);
 	hlist_for_each_entry_safe(region, node, n, &sync->pmem_frames, list) {
-		pr_err("listed p0addr 0x%lx, p1addr 0x%lx, p2addr 0x%lx, active = %d",
-				(region->paddr + region->info.planar0_off),
-				(region->paddr + region->info.planar1_off),
-				(region->paddr + region->info.planar2_off),
+		pr_err("listed pyaddr 0x%lx, pcbcraddr 0x%lx, active = %d",
+				(region->paddr + region->info.y_off),
+				(region->paddr + region->info.cbcr_off),
 				region->info.active);
 	}
 
@@ -465,7 +461,7 @@
 }
 
 static int msm_pmem_frame_ptov_lookup2(struct msm_sync *sync,
-		unsigned long p0_phy,
+		unsigned long pyaddr,
 		struct msm_pmem_info *pmem_info,
 		int clear_active)
 {
@@ -475,7 +471,7 @@
 
 	spin_lock_irqsave(&sync->pmem_frame_spinlock, flags);
 	hlist_for_each_entry_safe(region, node, n, &sync->pmem_frames, list) {
-		if (p0_phy == (region->paddr + region->info.planar0_off) &&
+		if (pyaddr == (region->paddr + region->info.y_off) &&
 				region->info.active) {
 			/* offset since we could pass vaddr inside
 			 * a registerd pmem buffer
@@ -526,8 +522,8 @@
 }
 
 static unsigned long msm_pmem_frame_vtop_lookup(struct msm_sync *sync,
-		unsigned long buffer, uint32_t p0_off, uint32_t p1_off,
-		uint32_t p2_off, int fd, int change_flag)
+		unsigned long buffer,
+		uint32_t yoff, uint32_t cbcroff, int fd, int change_flag)
 {
 	struct msm_pmem_region *region;
 	struct hlist_node *node, *n;
@@ -537,9 +533,8 @@
 	hlist_for_each_entry_safe(region,
 		node, n, &sync->pmem_frames, list) {
 		if (((unsigned long)(region->info.vaddr) == buffer) &&
-				(region->info.planar0_off == p0_off) &&
-				(region->info.planar1_off == p1_off) &&
-				(region->info.planar2_off == p2_off) &&
+				(region->info.y_off == yoff) &&
+				(region->info.cbcr_off == cbcroff) &&
 				(region->info.fd == fd) &&
 				(region->info.active == 0)) {
 			if (change_flag)
@@ -550,18 +545,17 @@
 		}
 	}
 	/* After lookup failure, dump all the list entries... */
-	pr_err("%s, failed for vaddr 0x%lx, p0_off %d p1_off %d\n",
-			__func__, buffer, p0_off, p1_off);
+	pr_err("%s, failed for vaddr 0x%lx, yoff %d cbcroff %d\n",
+			__func__, buffer, yoff, cbcroff);
 	hlist_for_each_entry_safe(region, node, n, &sync->pmem_frames, list) {
-		pr_err("%s, failed for vaddr 0x%lx, r_p0 = 0x%x p0_off 0x%x"
-		   "r_p1 = 0x%x, p1_off 0x%x, r_p2 = 0x%x, p2_off = 0x%x"
-		   " active = %d\n", __func__, buffer, region->info.planar0_off,
-		   p0_off, region->info.planar1_off,
-		   p1_off, region->info.planar2_off, p2_off,
-			region->info.active);
+		pr_err("listed vaddr 0x%p, cbcroff %d, active = %d",
+				(region->info.vaddr),
+				(region->info.cbcr_off),
+				region->info.active);
 	}
 
 	spin_unlock_irqrestore(&sync->pmem_frame_spinlock, flags);
+
 	return 0;
 }
 
@@ -717,37 +711,32 @@
 	vdata = (struct msm_vfe_resp *)(qcmd->command);
 	pphy = &vdata->phy;
 
-	CDBG("%s, pphy->p2_phy = 0x%x\n", __func__, pphy->p2_phy);
-
 	rc = msm_pmem_frame_ptov_lookup(sync,
-			pphy->p0_phy,
-			pphy->p1_phy,
-			pphy->p2_phy,
+			pphy->y_phy,
+			pphy->cbcr_phy,
 			&pmem_info,
 			1); /* Clear the active flag */
 
 	if (rc < 0) {
-		pr_err("%s: cannot get frame, invalid lookup address"
-			"plane0 add %x plane1 add %x plane2 add%x\n",
+		pr_err("%s: cannot get frame, invalid lookup address "
+			"y %x cbcr %x\n",
 			__func__,
-			pphy->p0_phy,
-			pphy->p0_phy,
-			pphy->p0_phy);
+			pphy->y_phy,
+			pphy->cbcr_phy);
 		goto err;
 	}
 
 	frame->ts = qcmd->ts;
 	frame->buffer = (unsigned long)pmem_info.vaddr;
-	frame->planar0_off = pmem_info.planar0_off;
-	frame->planar1_off = pmem_info.planar1_off;
-	frame->planar2_off = pmem_info.planar2_off;
+	frame->y_off = pmem_info.y_off;
+	frame->cbcr_off = pmem_info.cbcr_off;
 	frame->fd = pmem_info.fd;
 	frame->path = vdata->phy.output_id;
 	frame->frame_id = vdata->phy.frame_id;
 
-	CDBG("%s: plane0 %x, plane1 %x, plane2 %x,qcmd %x, virt_addr %x\n",
-		__func__, pphy->p0_phy, pphy->p1_phy, pphy->p2_phy,
-		 (int) qcmd, (int) frame->buffer);
+	CDBG("%s: y %x, cbcr %x, qcmd %x, virt_addr %x\n",
+		__func__,
+		pphy->y_phy, pphy->cbcr_phy, (int) qcmd, (int) frame->buffer);
 
 err:
 	free_qcmd(qcmd);
@@ -1058,8 +1047,8 @@
 		return -EINVAL;
 	}
 
-	rc = msm_pmem_frame_ptov_lookup(sync, data->phy.p0_phy,
-			data->phy.p1_phy, data->phy.p2_phy, &pinfo,
+	rc = msm_pmem_frame_ptov_lookup(sync, data->phy.y_phy,
+			data->phy.cbcr_phy, &pinfo,
 			0); /* do not clear the active flag */
 
 	if (rc < 0) {
@@ -1068,8 +1057,8 @@
 	}
 
 	buf.fmain.buffer = (unsigned long)pinfo.vaddr;
-	buf.fmain.planar0_off = pinfo.planar0_off;
-	buf.fmain.planar1_off = pinfo.planar1_off;
+	buf.fmain.y_off = pinfo.y_off;
+	buf.fmain.cbcr_off = pinfo.cbcr_off;
 	buf.fmain.fd = pinfo.fd;
 
 	CDBG("%s: buf 0x%x fd %d\n", __func__, (unsigned int)buf.fmain.buffer,
@@ -1099,15 +1088,13 @@
 		buf.type = OUTPUT_TYPE_ST_R;
 	} else {
 		if (se->resptype == MSM_CAM_RESP_STEREO_OP_1) {
-			rc = msm_pmem_frame_ptov_lookup(sync, data->phy.p0_phy,
-				  data->phy.p1_phy, data->phy.p2_phy,
-					&pinfo,
+			rc = msm_pmem_frame_ptov_lookup(sync, data->phy.y_phy,
+					data->phy.cbcr_phy, &pinfo,
 					1);  /* do clear the active flag */
 			buf.buf_info.path = path;
 		} else if (se->resptype == MSM_CAM_RESP_STEREO_OP_2) {
-			rc = msm_pmem_frame_ptov_lookup(sync, data->phy.p0_phy,
-					data->phy.p1_phy, data->phy.p2_phy,
-					&pinfo,
+			rc = msm_pmem_frame_ptov_lookup(sync, data->phy.y_phy,
+					data->phy.cbcr_phy, &pinfo,
 					0); /* do not clear the active flag */
 			buf.buf_info.path = path;
 		} else
@@ -1166,9 +1153,8 @@
 
 		buf.buf_info.buffer = (unsigned long)pinfo.vaddr;
 		buf.buf_info.phy_offset = pinfo.offset;
-		buf.buf_info.planar0_off = pinfo.planar0_off;
-		buf.buf_info.planar1_off = pinfo.planar1_off;
-		buf.buf_info.planar2_off = pinfo.planar0_off;
+		buf.buf_info.y_off = pinfo.y_off;
+		buf.buf_info.cbcr_off = pinfo.cbcr_off;
 		buf.buf_info.fd = pinfo.fd;
 
 		CDBG("%s: buf 0x%x fd %d\n", __func__,
@@ -2024,7 +2010,7 @@
 	/* Change the active flag. */
 	pphy = msm_pmem_frame_vtop_lookup(sync,
 		pb->buffer,
-		pb->planar0_off, pb->planar1_off, pb->planar2_off, pb->fd, 1);
+		pb->y_off, pb->cbcr_off, pb->fd, 1);
 
 	if (pphy != 0) {
 		CDBG("%s: rel: vaddr %lx, paddr %lx\n",
@@ -2052,7 +2038,7 @@
 
 	pphy = msm_pmem_frame_vtop_lookup(sync,
 		pb->buffer,
-		pb->planar0_off, pb->planar1_off, pb->planar2_off, pb->fd, 1);
+		pb->y_off, pb->cbcr_off, pb->fd, 1);
 
 	if (pphy != 0) {
 		CDBG("%s: rel: vaddr %lx, paddr %lx\n",
@@ -2320,21 +2306,21 @@
 		pphy = &vdata->phy;
 
 		rc = msm_pmem_frame_ptov_lookup2(sync,
-				pphy->p0_phy,
+				pphy->y_phy,
 				&pmem_info,
 				1); /* mark pic frame in use */
 
 		if (rc < 0) {
 			pr_err("%s: cannot get pic frame, invalid lookup"
-				" address p0_phy add  %x p1_phy add%x\n",
-				__func__, pphy->p0_phy, pphy->p1_phy);
+				" address y %x cbcr %x\n",
+				__func__, pphy->y_phy, pphy->cbcr_phy);
 			goto err;
 		}
 
 		frame->ts = qcmd->ts;
 		frame->buffer = (unsigned long)pmem_info.vaddr;
-		frame->planar0_off = pmem_info.planar0_off;
-		frame->planar1_off = pmem_info.planar1_off;
+		frame->y_off = pmem_info.y_off;
+		frame->cbcr_off = pmem_info.cbcr_off;
 		frame->fd = pmem_info.fd;
 		if (sync->stereocam_enabled &&
 			sync->stereo_state != STEREO_RAW_SNAP_STARTED) {
@@ -2345,21 +2331,20 @@
 		} else
 			frame->path = vdata->phy.output_id;
 
-		CDBG("%s: p0_phy add %x, p0_phy add %x, qcmd %x, "
-			 "virt_addr %x\n",
-			__func__, pphy->p0_phy,
-			pphy->p1_phy, (int) qcmd, (int) frame->buffer);
+		CDBG("%s: y %x, cbcr %x, qcmd %x, virt_addr %x\n",
+			__func__, pphy->y_phy,
+			pphy->cbcr_phy, (int) qcmd, (int) frame->buffer);
 	} else { /* PP */
 		pframe = (struct msm_frame *)(qcmd->command);
 		frame->ts = qcmd->ts;
 		frame->buffer = pframe->buffer;
-		frame->planar0_off = pframe->planar0_off;
-		frame->planar1_off = pframe->planar1_off;
+		frame->y_off = pframe->y_off;
+		frame->cbcr_off = pframe->cbcr_off;
 		frame->fd = pframe->fd;
 		frame->path = pframe->path;
 		CDBG("%s: PP y_off %x, cbcr_off %x, path %d vaddr 0x%x\n",
-			__func__, frame->planar0_off, frame->planar1_off,
-			 frame->path, (int) frame->buffer);
+			__func__, frame->y_off, frame->cbcr_off, frame->path,
+			(int) frame->buffer);
 	}
 
 err:
@@ -2588,13 +2573,13 @@
 			vfe_rp = (struct msm_vfe_resp *)qcmd->command;
 
 			CDBG("%s: Left Py = 0x%x y_off = %d cbcr_off = %d\n",
-				__func__, vfe_rp->phy.p0_phy,
-				stereo_frame_half.L.buf_p0_off,
-				stereo_frame_half.L.buf_p1_off);
+				__func__, vfe_rp->phy.y_phy,
+				stereo_frame_half.L.buf_y_off,
+				stereo_frame_half.L.buf_cbcr_off);
 
 			sync->vpefn.vpe_cfg_offset(stereo_frame_half.packing,
-			vfe_rp->phy.p0_phy + stereo_frame_half.L.buf_p0_off,
-			vfe_rp->phy.p0_phy + stereo_frame_half.L.buf_p1_off,
+			vfe_rp->phy.y_phy + stereo_frame_half.L.buf_y_off,
+			vfe_rp->phy.y_phy + stereo_frame_half.L.buf_cbcr_off,
 			&(qcmd->ts), OUTPUT_TYPE_ST_L, stereo_frame_half.L,
 			stereo_frame_half.frame_id);
 
@@ -2610,15 +2595,14 @@
 
 			st_pphy = msm_pmem_frame_vtop_lookup(sync,
 				stereo_frame_half.buf_info.buffer,
-				stereo_frame_half.buf_info.planar0_off,
-				stereo_frame_half.buf_info.planar1_off,
-				stereo_frame_half.buf_info.planar2_off,
+				stereo_frame_half.buf_info.y_off,
+				stereo_frame_half.buf_info.cbcr_off,
 				stereo_frame_half.buf_info.fd,
 				0); /* Do not change the active flag. */
 
 			sync->vpefn.vpe_cfg_offset(stereo_frame_half.packing,
-				st_pphy + stereo_frame_half.R.buf_p0_off,
-				st_pphy + stereo_frame_half.R.buf_p1_off,
+				st_pphy + stereo_frame_half.R.buf_y_off,
+				st_pphy + stereo_frame_half.R.buf_cbcr_off,
 				NULL, OUTPUT_TYPE_ST_R, stereo_frame_half.R,
 				stereo_frame_half.frame_id);
 
@@ -3308,10 +3292,10 @@
 	switch (vdata->type) {
 	case VFE_MSG_OUTPUT_P:
 		if (sync->pp_mask & PP_PREV) {
-			CDBG("%s: PP_PREV in progress: p0_add %x p1_add %x\n",
+			CDBG("%s: PP_PREV in progress: phy_y %x phy_cbcr %x\n",
 				__func__,
-				vdata->phy.p0_phy,
-				vdata->phy.p1_phy);
+				vdata->phy.y_phy,
+				vdata->phy.cbcr_phy);
 			spin_lock_irqsave(&pp_prev_spinlock, flags);
 			if (sync->pp_prev)
 				CDBG("%s: overwriting pp_prev!\n",
@@ -3469,8 +3453,8 @@
 					vdata->vpe_bf.vpe_crop =
 				*(struct video_crop_t *)(sync->cropinfo);
 
-				vdata->vpe_bf.p0_phy = vdata->phy.p0_phy;
-				vdata->vpe_bf.p1_phy = vdata->phy.p1_phy;
+				vdata->vpe_bf.y_phy = vdata->phy.y_phy;
+				vdata->vpe_bf.cbcr_phy = vdata->phy.cbcr_phy;
 				vdata->vpe_bf.ts = (qcmd->ts);
 				vdata->vpe_bf.frame_id = vdata->phy.frame_id;
 				qcmd->command = vdata;
@@ -3482,8 +3466,8 @@
 					"= %ld\n", __func__, qcmd->ts.tv_nsec);
 
 				sync->vpefn.send_frame_to_vpe(
-					vdata->phy.p0_phy,
-					vdata->phy.p1_phy,
+					vdata->phy.y_phy,
+					vdata->phy.cbcr_phy,
 					&(qcmd->ts), OUTPUT_TYPE_V);
 
 				free_qcmd(qcmd);
diff --git a/drivers/media/video/msm/msm_isp.c b/drivers/media/video/msm/msm_isp.c
index 1acbb7c..480c626 100644
--- a/drivers/media/video/msm/msm_isp.c
+++ b/drivers/media/video/msm/msm_isp.c
@@ -119,7 +119,7 @@
 			data->type == VFE_MSG_OUTPUT_S ||
 			data->type == VFE_MSG_OUTPUT_T) {
 			msm_mctl_buf_done(pmctl, data->type,
-					(u32)data->phy.planar0_off);
+					(u32)data->phy.y_phy);
 		}
 		break;
 	default:
@@ -584,7 +584,7 @@
 		D("%s region %d paddr = 0x%p\n", __func__, i,
 					(void *)region[i].paddr);
 		D("%s region y_off = %d cbcr_off = %d\n", __func__,
-			region[i].info.planar0_off, region[i].info.planar1_off);
+			region[i].info.y_off, region[i].info.cbcr_off);
 	}
 	/* send the AXI configuration command to driver */
 	rc = msm_isp_subdev_ioctl(sd, cfgcmd, data);
diff --git a/drivers/media/video/msm/msm_mctl.c b/drivers/media/video/msm/msm_mctl.c
index f9166c8..35cb68a 100644
--- a/drivers/media/video/msm/msm_mctl.c
+++ b/drivers/media/video/msm/msm_mctl.c
@@ -297,8 +297,9 @@
 		D("%s buffer type is %d\n", __func__, mem->buffer_type);
 		frame.path = pcam_inst->path;
 		frame.buffer = 0;
-		frame.planar0_off = mem->planar0_off;
-		frame.planar1_off = mem->planar1_off;
+		frame.y_off = mem->y_off;
+		frame.cbcr_off = mem->cbcr_off;
+
 		/* now release frame to vfe */
 		cfgcmd.cmd_type = CMD_FRAME_BUF_RELEASE;
 		cfgcmd.value    = (void *)&frame;
diff --git a/drivers/media/video/msm/msm_mem.c b/drivers/media/video/msm/msm_mem.c
index 144041c..5232f7c 100644
--- a/drivers/media/video/msm/msm_mem.c
+++ b/drivers/media/video/msm/msm_mem.c
@@ -84,16 +84,16 @@
 {
 	if (info->offset < len &&
 		info->offset + info->len <= len &&
-		info->planar0_off < len &&
-		info->planar1_off < len)
+		info->y_off < len &&
+		info->cbcr_off < len)
 		return 0;
 
 	pr_err("%s: check failed: off %d len %d y %d cbcr %d (total len %d)\n",
 						__func__,
 						info->offset,
 						info->len,
-						info->planar0_off,
-						info->planar1_off,
+						info->y_off,
+						info->cbcr_off,
 						len);
 	return -EINVAL;
 }
@@ -325,10 +325,10 @@
 		reg->info.type = mem_type;
 
 		reg->info.offset = 0;
-		reg->info.planar0_off = mem->planar0_off;
-		reg->info.planar1_off = PAD_TO_WORD(mem->planar1_off);
+		reg->info.y_off = mem->y_off;
+		reg->info.cbcr_off = PAD_TO_WORD(mem->cbcr_off);
 		D("%s y_off = %d, cbcr_off = %d\n", __func__,
-			reg->info.planar0_off, reg->info.planar1_off);
+			reg->info.y_off, reg->info.cbcr_off);
 		rc += 1;
 		reg++;
 	}
diff --git a/drivers/media/video/msm/msm_vfe31.c b/drivers/media/video/msm/msm_vfe31.c
index 1cb8ab4..8827de9 100644
--- a/drivers/media/video/msm/msm_vfe31.c
+++ b/drivers/media/video/msm/msm_vfe31.c
@@ -337,13 +337,10 @@
 			break;
 		}
 		pinfo->output_id = outid;
-		pinfo->p0_phy =
-			((struct vfe_message *)data)->_u.msgOut.p0_addr;
-		pinfo->p1_phy =
-			((struct vfe_message *)data)->_u.msgOut.p1_addr;
-		pinfo->p2_phy =
-			((struct vfe_message *)data)->_u.msgOut.p2_addr;
-		CDBG("%s, p2_phy = 0x%x\n", __func__, pinfo->p2_phy);
+		pinfo->y_phy =
+			((struct vfe_message *)data)->_u.msgOut.yBuffer;
+		pinfo->cbcr_phy =
+			((struct vfe_message *)data)->_u.msgOut.cbcrBuffer;
 
 		pinfo->frame_id =
 		((struct vfe_message *)data)->_u.msgOut.frameCounter;
@@ -459,8 +456,8 @@
 		GFP_ATOMIC);
 }
 
-static void vfe_send_outmsg(uint8_t msgid, uint32_t p0_addr,
-	uint32_t p1_addr, uint32_t p2_addr)
+static void vfe_send_outmsg(uint8_t msgid, uint32_t pyaddr,
+	uint32_t pcbcraddr)
 {
 	struct vfe_message msg;
 	uint8_t outid;
@@ -486,10 +483,8 @@
 		break;
 	}
 	msg._u.msgOut.output_id   = msgid;
-	msg._u.msgOut.p0_addr     = p0_addr;
-	msg._u.msgOut.p1_addr     = p1_addr;
-	msg._u.msgOut.p2_addr     = p2_addr;
-	CDBG("%s p2_addr = 0x%x\n", __func__, p2_addr);
+	msg._u.msgOut.yBuffer     = pyaddr;
+	msg._u.msgOut.cbcrBuffer  = pcbcraddr;
 
 	vfe31_proc_ops(msgid, &msg, sizeof(struct vfe_message));
 	return;
@@ -545,7 +540,7 @@
 }
 
 static int vfe31_add_free_buf2(struct vfe31_output_ch *outch,
-	uint32_t paddr, uint32_t p0_off, uint32_t p1_off, uint32_t p2_off)
+	uint32_t paddr, uint32_t y_off, uint32_t cbcr_off)
 {
 	struct vfe31_free_buf *free_buf = NULL;
 	unsigned long flags = 0;
@@ -555,24 +550,20 @@
 
 	spin_lock_irqsave(&outch->free_buf_lock, flags);
 	free_buf->paddr = paddr;
-	free_buf->planar0_off = p0_off;
-	free_buf->planar1_off = p1_off;
-	free_buf->planar2_off = p2_off;
+	free_buf->y_off = y_off;
+	free_buf->cbcr_off = cbcr_off;
 	list_add_tail(&free_buf->node, &outch->free_buf_head);
 
-	CDBG("%s: free_buf paddr = 0x%x, p0_off = %d, p1_off = %d,"
-		 "p2_off = %d\n", __func__, free_buf->paddr,
-		 free_buf->planar0_off,	free_buf->planar1_off,
-		 free_buf->planar2_off);
+	CDBG("%s: free_buf paddr = 0x%x, y_off = %d, cbcr_off = %d\n",
+		__func__, free_buf->paddr, free_buf->y_off,
+		free_buf->cbcr_off);
 	spin_unlock_irqrestore(&outch->free_buf_lock, flags);
 	return 0;
 }
 
 #define vfe31_add_free_buf(outch, regptr) \
-	vfe31_add_free_buf2(outch, regptr->paddr, \
-	 regptr->info.planar0_off,	\
-		regptr->info.planar1_off, \
-		regptr->info.planar2_off)
+	vfe31_add_free_buf2(outch, regptr->paddr, regptr->info.y_off,	\
+		regptr->info.cbcr_off)
 
 #define vfe31_free_buf_available(outch) \
 	(!list_empty(&outch.free_buf_head))
@@ -669,10 +660,10 @@
 
 		for (i = 0; i < 2; i++) {
 			p1 = ao + 6 + i;    /* wm0 for y  */
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 
 			p1 = ao + 12 + i;  /* wm1 for cbcr */
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			regp1++;
 		}
 		ret = vfe31_add_free_buf(outp1, regp1);
@@ -701,47 +692,47 @@
 		/*  Parse the buffers!!! */
 		if (ad->bufnum2 == 1) {	/* assuming bufnum1 = bufnum2 */
 			p1 = ao + 6;   /* wm0 ping */
-			*p1++ = (regp1->paddr + regp1->info.planar0_off);
+			*p1++ = (regp1->paddr + regp1->info.y_off);
 
 			/* this is to duplicate ping address to pong.*/
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 
 			p1 = ao + 30;  /* wm4 ping */
-			*p1++ = (regp1->paddr + regp1->info.planar1_off);
+			*p1++ = (regp1->paddr + regp1->info.cbcr_off);
 			CDBG("%s: regp1->info.cbcr_off = 0x%x\n", __func__,
-						 regp1->info.planar1_off);
+						 regp1->info.cbcr_off);
 
 			/* this is to duplicate ping address to pong.*/
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 
 			p1 = ao + 12;   /* wm1 ping */
-			*p1++ = (regp2->paddr + regp2->info.planar0_off);
+			*p1++ = (regp2->paddr + regp2->info.y_off);
 
 			/* pong = ping,*/
-			*p1 = (regp2->paddr + regp2->info.planar0_off);
+			*p1 = (regp2->paddr + regp2->info.y_off);
 
 			p1 = ao + 36;  /* wm5 */
-			*p1++ = (regp2->paddr + regp2->info.planar1_off);
+			*p1++ = (regp2->paddr + regp2->info.cbcr_off);
 			CDBG("%s: regp2->info.cbcr_off = 0x%x\n", __func__,
-						 regp2->info.planar1_off);
+						 regp2->info.cbcr_off);
 
 			/* pong = ping,*/
-			*p1 = (regp2->paddr + regp2->info.planar1_off);
+			*p1 = (regp2->paddr + regp2->info.cbcr_off);
 		} else { /* more than one snapshot */
 			/* first fill ping & pong */
 			for (i = 0; i < 2; i++) {
 				p1 = ao + 6 + i;    /* wm0 for y  */
-				*p1 = (regp1->paddr + regp1->info.planar0_off);
+				*p1 = (regp1->paddr + regp1->info.y_off);
 				p1 = ao + 30 + i;  /* wm4 for cbcr */
-				*p1 = (regp1->paddr + regp1->info.planar1_off);
+				*p1 = (regp1->paddr + regp1->info.cbcr_off);
 				regp1--;
 			}
 
 			for (i = 0; i < 2; i++) {
 				p2 = ao + 12 + i;    /* wm1 for y  */
-				*p2 = (regp2->paddr + regp2->info.planar0_off);
+				*p2 = (regp2->paddr + regp2->info.y_off);
 				p2 = ao + 36 + i;  /* wm5 for cbcr */
-				*p2 = (regp2->paddr + regp2->info.planar1_off);
+				*p2 = (regp2->paddr + regp2->info.cbcr_off);
 				regp2--;
 			}
 
@@ -790,25 +781,25 @@
 		/* first fill ping & pong */
 		for (i = 0; i < 2; i++) {
 			p1 = ao + 6 + i;    /* wm0 for y  */
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 			p1 = ao + 30 + i;  /* wm4 for cbcr */
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			regp1++;
 		}
 
 		for (i = 0; i < 2; i++) {
 			p2 = ao + 12 + i;    /* wm1 for y  */
-			*p2 = (regp2->paddr + regp2->info.planar0_off);
+			*p2 = (regp2->paddr + regp2->info.y_off);
 			p2 = ao + 36 + i;  /* wm5 for cbcr */
-			*p2 = (regp2->paddr + regp2->info.planar1_off);
+			*p2 = (regp2->paddr + regp2->info.cbcr_off);
 			regp2++;
 		}
 
 		for (i = 0; i < 2; i++) {
 			p3 = ao + 18 + i;    /* wm2 for y  */
-			*p3 = (regp3->paddr + regp3->info.planar0_off);
+			*p3 = (regp3->paddr + regp3->info.y_off);
 			p3 = ao + 42 + i;  /* wm6 for cbcr */
-			*p3 = (regp3->paddr + regp3->info.planar1_off);
+			*p3 = (regp3->paddr + regp3->info.cbcr_off);
 			regp3++;
 		}
 
@@ -856,25 +847,19 @@
 
 		for (i = 0; i < 2; i++) {
 			p1 = ao + 6 + i;    /* wm0 for y  */
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 
 			p1 = ao + 30 + i;  /* wm4 for cbcr */
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
-
-			if (vfe31_ctrl->outpath.out0.ch2 >= 0) {
-				/* wm6 for cr & wm4 for cb: YV12 case*/
-				p1 = ao + 42 + i;
-				*p1 = (regp1->paddr + regp1->info.planar2_off);
-			}
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			regp1++;
 		}
 
 		for (i = 0; i < 2; i++) {
 			p2 = ao + 12 + i;    /* wm1 for y  */
-			*p2 = (regp2->paddr + regp2->info.planar0_off);
+			*p2 = (regp2->paddr + regp2->info.y_off);
 
 			p2 = ao + 36 + i;  /* wm5 for cbcr */
-			*p2 = (regp2->paddr + regp2->info.planar1_off);
+			*p2 = (regp2->paddr + regp2->info.cbcr_off);
 			regp2++;
 		}
 		for (i = 2; i < ad->bufnum1; i++) {
@@ -900,7 +885,7 @@
 		regp1 = &(ad->region[ad->bufnum1]);
 		vfe31_ctrl->outpath.output_mode |= VFE31_OUTPUT_MODE_S;
 		p1 = ao + 6;    /* wm0 for y  */
-		*p1 = (regp1->paddr + regp1->info.planar0_off);
+		*p1 = (regp1->paddr + regp1->info.y_off);
 		if (p_sync->stereocam_enabled)
 			p_sync->stereo_state = STEREO_RAW_SNAP_IDLE;
 	}
@@ -1321,10 +1306,6 @@
 	if (vfe31_ctrl->outpath.output_mode & VFE31_OUTPUT_MODE_PT) {
 		irq_comp_mask |= (0x1 << vfe31_ctrl->outpath.out0.ch0 |
 			0x1 << vfe31_ctrl->outpath.out0.ch1);
-		if (vfe31_ctrl->outpath.out0.ch2 >= 0)
-			irq_comp_mask |= (0x1 << vfe31_ctrl->outpath.out0.ch0 |
-				0x1 << vfe31_ctrl->outpath.out0.ch1 |
-				0x1 << vfe31_ctrl->outpath.out0.ch2);
 	}
 
 	if (vfe31_ctrl->outpath.output_mode & VFE31_OUTPUT_MODE_V) {
@@ -1334,14 +1315,12 @@
 
 	msm_io_w(irq_comp_mask, vfe31_ctrl->vfebase + VFE_IRQ_COMP_MASK);
 
+
 	if (vfe31_ctrl->outpath.output_mode & VFE31_OUTPUT_MODE_PT) {
 		msm_io_w(1, vfe31_ctrl->vfebase +
 			vfe31_AXI_WM_CFG[vfe31_ctrl->outpath.out0.ch0]);
 		msm_io_w(1, vfe31_ctrl->vfebase +
 			vfe31_AXI_WM_CFG[vfe31_ctrl->outpath.out0.ch1]);
-		if (vfe31_ctrl->outpath.out0.ch2 >= 0)
-			msm_io_w(1, vfe31_ctrl->vfebase +
-			vfe31_AXI_WM_CFG[vfe31_ctrl->outpath.out0.ch2]);
 	}
 	if (p_sync->stereocam_enabled)
 		msm_camio_set_perf_lvl(S_STEREO_VIDEO);
@@ -2259,8 +2238,7 @@
 			break;
 		}
 
-		ret = vfe31_add_free_buf2(outch, p, b->planar0_off,
-					b->planar1_off, b->planar2_off);
+		ret = vfe31_add_free_buf2(outch, p, b->y_off, b->cbcr_off);
 		if (ret < 0)
 			return ret;
 		break;
@@ -2287,8 +2265,7 @@
 		} else
 			return -EFAULT;
 
-		ret = vfe31_add_free_buf2(outch, p, b->planar0_off,
-						b->planar1_off, b->planar2_off);
+		ret = vfe31_add_free_buf2(outch, p, b->y_off, b->cbcr_off);
 		if (ret < 0)
 			return ret;
 		break;
@@ -2825,7 +2802,7 @@
 
 static void vfe31_process_output_path_irq_0(uint32_t ping_pong)
 {
-	uint32_t p0_addr, p1_addr, p2_addr;
+	uint32_t pyaddr, pcbcraddr;
 #ifdef CONFIG_MSM_CAMERA_V4L2
 	uint32_t pyaddr_ping, pcbcraddr_ping, pyaddr_pong, pcbcraddr_pong;
 #endif
@@ -2837,36 +2814,26 @@
 
 	if (free_buf) {
 		/* Y channel */
-		p0_addr = vfe31_get_ch_addr(ping_pong,
+		pyaddr = vfe31_get_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch0);
 		/* Chroma channel */
-		p1_addr = vfe31_get_ch_addr(ping_pong,
+		pcbcraddr = vfe31_get_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch1);
 
-		if (vfe31_ctrl->outpath.out0.ch2 >= 0)
-			p2_addr = vfe31_get_ch_addr(ping_pong,
-				vfe31_ctrl->outpath.out0.ch2);
-		else
-			p2_addr = p0_addr;
-
-		CDBG("output path 0, p0_addr = 0x%x, p1_addr = 0x%x,"
-			 "p2_addr = 0x%x\n", p0_addr, p1_addr, p2_addr);
+		CDBG("output path 0, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
+			 pyaddr, pcbcraddr);
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch1,
-			free_buf->paddr + free_buf->planar1_off);
-		if (vfe31_ctrl->outpath.out0.ch2 >= 0)
-			vfe31_put_ch_addr(ping_pong,
-				vfe31_ctrl->outpath.out0.ch2,
-				free_buf->paddr + free_buf->planar2_off);
+			free_buf->paddr + free_buf->cbcr_off);
 
 		kfree(free_buf);
 		/* if continuous mode, for display. (preview) */
-		vfe_send_outmsg(MSG_ID_OUTPUT_P, p0_addr, p1_addr, p2_addr);
+		vfe_send_outmsg(MSG_ID_OUTPUT_P, pyaddr, pcbcraddr);
 	} else {
 		vfe31_ctrl->outpath.out0.frame_drop_cnt++;
 		pr_warning("path_irq_0 - no free buffer!\n");
@@ -2911,54 +2878,54 @@
 
 static void vfe31_process_snapshot_frame(uint32_t ping_pong)
 {
-	uint32_t p0_addr, p1_addr;
+	uint32_t pyaddr, pcbcraddr;
 	struct vfe31_free_buf *free_buf = NULL;
 	/* Y channel- Main Image */
-	p0_addr = vfe31_get_ch_addr(ping_pong,
+	pyaddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out1.ch0);
 	/* Chroma channel - TN Image */
-	p1_addr = vfe31_get_ch_addr(ping_pong,
+	pcbcraddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out1.ch1);
 
 	free_buf = vfe31_get_free_buf(&vfe31_ctrl->outpath.out1);
-	CDBG("%s: snapshot main, p0_addr = 0x%x, p1_addr = 0x%x\n",
-		__func__, p0_addr, p1_addr);
+	CDBG("%s: snapshot main, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
+		__func__, pyaddr, pcbcraddr);
 	if (free_buf) {
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
 	}
-	vfe_send_outmsg(MSG_ID_OUTPUT_S, p0_addr, p1_addr, p0_addr);
+	vfe_send_outmsg(MSG_ID_OUTPUT_S, pyaddr, pcbcraddr);
 
 	/* Y channel- TN Image */
-	p0_addr = vfe31_get_ch_addr(ping_pong,
+	pyaddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out0.ch0);
 	/* Chroma channel - TN Image */
-	p1_addr = vfe31_get_ch_addr(ping_pong,
+	pcbcraddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out0.ch1);
 
 	free_buf = vfe31_get_free_buf(&vfe31_ctrl->outpath.out0);
-	CDBG("%s: snapshot TN, p0_addr = 0x%x, pcbcraddr = 0x%x\n",
-		__func__, p0_addr, p1_addr);
+	CDBG("%s: snapshot TN, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
+		__func__, pyaddr, pcbcraddr);
 	if (free_buf) {
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out0.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
 	}
 
-	vfe_send_outmsg(MSG_ID_OUTPUT_T, p0_addr, p1_addr, p0_addr);
+	vfe_send_outmsg(MSG_ID_OUTPUT_T, pyaddr, pcbcraddr);
 
 	/* in snapshot mode if done then send
 		snapshot done message */
@@ -2995,14 +2962,14 @@
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
 	}
-	 vfe_send_outmsg(MSG_ID_OUTPUT_S, pyaddr, pcbcraddr, 0);
+	 vfe_send_outmsg(MSG_ID_OUTPUT_S, pyaddr, pcbcraddr);
 
 	/* in snapshot mode if done then send
 		snapshot done message */
@@ -3017,54 +2984,54 @@
 }
 static void vfe31_process_zsl_frame(uint32_t ping_pong)
 {
-	uint32_t p0_addr, p1_addr;
+	uint32_t pyaddr, pcbcraddr;
 	struct vfe31_free_buf *free_buf = NULL;
 	/* Y channel- Main Image */
-	p0_addr = vfe31_get_ch_addr(ping_pong,
+	pyaddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out2.ch0);
 	/* Chroma channel - Main Image */
-	p1_addr = vfe31_get_ch_addr(ping_pong,
+	pcbcraddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out2.ch1);
 
 	free_buf = vfe31_get_free_buf(&vfe31_ctrl->outpath.out2);
 	CDBG("%s: snapshot main, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
-		__func__, p0_addr, p1_addr);
+		__func__, pyaddr, pcbcraddr);
 	if (free_buf) {
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out2.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out2.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
 	}
-	 vfe_send_outmsg(MSG_ID_OUTPUT_S, p0_addr, p1_addr, 0);
+	 vfe_send_outmsg(MSG_ID_OUTPUT_S, pyaddr, pcbcraddr);
 
 	/* Y channel- TN Image */
-	p0_addr = vfe31_get_ch_addr(ping_pong,
+	pyaddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out1.ch0);
 	/* Chroma channel - TN Image */
-	p1_addr = vfe31_get_ch_addr(ping_pong,
+	pcbcraddr = vfe31_get_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out1.ch1);
 
 	free_buf = vfe31_get_free_buf(&vfe31_ctrl->outpath.out1);
 	CDBG("%s: snapshot TN, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
-		__func__, p0_addr, p1_addr);
+		__func__, pyaddr, pcbcraddr);
 	if (free_buf) {
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out1.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
 	}
 
-	vfe_send_outmsg(MSG_ID_OUTPUT_T, p0_addr, p1_addr, 0);
+	vfe_send_outmsg(MSG_ID_OUTPUT_T, pyaddr, pcbcraddr);
 }
 
 static void vfe31_process_output_path_irq_1(uint32_t ping_pong)
@@ -3136,7 +3103,7 @@
 
 static void vfe31_process_output_path_irq_2(uint32_t ping_pong)
 {
-	uint32_t p0_addr, p1_addr, p2_addr;
+	uint32_t pyaddr, pcbcraddr;
 	struct vfe31_free_buf *free_buf = NULL;
 
 #ifdef CONFIG_MSM_CAMERA_V4L2
@@ -3165,31 +3132,25 @@
 
 	if (free_buf) {
 		/* Y channel */
-		p0_addr = vfe31_get_ch_addr(ping_pong,
+		pyaddr = vfe31_get_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out2.ch0);
 		/* Chroma channel */
-		p1_addr = vfe31_get_ch_addr(ping_pong,
+		pcbcraddr = vfe31_get_ch_addr(ping_pong,
 			vfe31_ctrl->outpath.out2.ch1);
 
-		if (vfe31_ctrl->outpath.out0.ch2 >= 0)
-			p2_addr = vfe31_get_ch_addr(ping_pong,
-					vfe31_ctrl->outpath.out0.ch2);
-		else
-			p2_addr = p0_addr;
-
-		CDBG("video output, p0_addr = 0x%x, p1_addr = 0x%x\n",
-			p0_addr, p1_addr);
+		CDBG("video output, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
+			pyaddr, pcbcraddr);
 
 		/* Y channel */
 		vfe31_put_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out2.ch0,
-		free_buf->paddr + free_buf->planar0_off);
+		free_buf->paddr + free_buf->y_off);
 		/* Chroma channel */
 		vfe31_put_ch_addr(ping_pong,
 		vfe31_ctrl->outpath.out2.ch1,
-		free_buf->paddr + free_buf->planar1_off);
+		free_buf->paddr + free_buf->cbcr_off);
 		kfree(free_buf);
-		vfe_send_outmsg(MSG_ID_OUTPUT_V, p0_addr, p1_addr, p2_addr);
+		vfe_send_outmsg(MSG_ID_OUTPUT_V, pyaddr, pcbcraddr);
 	} else {
 		vfe31_ctrl->outpath.out2.frame_drop_cnt++;
 		pr_warning("path_irq_2 - no free buffer!\n");
diff --git a/drivers/media/video/msm/msm_vfe31.h b/drivers/media/video/msm/msm_vfe31.h
index d2703b6..e3c06ee 100644
--- a/drivers/media/video/msm/msm_vfe31.h
+++ b/drivers/media/video/msm/msm_vfe31.h
@@ -841,9 +841,8 @@
 
 struct vfe_msg_output {
 	uint8_t   output_id;
-	uint32_t  p0_addr;
-	uint32_t  p1_addr;
-	uint32_t  p2_addr;
+	uint32_t  yBuffer;
+	uint32_t  cbcrBuffer;
 	struct vfe_frame_bpc_info bpcInfo;
 	struct vfe_frame_asf_info asfInfo;
 	uint32_t  frameCounter;
@@ -878,9 +877,8 @@
 struct vfe31_free_buf {
 	struct list_head node;
 	uint32_t paddr;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
+	uint32_t y_off;
+	uint32_t cbcr_off;
 };
 
 struct vfe31_output_ch {
diff --git a/drivers/media/video/msm/msm_vfe32.c b/drivers/media/video/msm/msm_vfe32.c
index 60d084d..946f823 100644
--- a/drivers/media/video/msm/msm_vfe32.c
+++ b/drivers/media/video/msm/msm_vfe32.c
@@ -335,9 +335,9 @@
 			break;
 		}
 		pinfo->output_id = outid;
-		pinfo->planar0_off =
+		pinfo->y_phy =
 			((struct vfe_message *)data)->_u.msgOut.yBuffer;
-		pinfo->planar1_off =
+		pinfo->cbcr_phy =
 			((struct vfe_message *)data)->_u.msgOut.cbcrBuffer;
 
 		pinfo->frame_id =
@@ -587,12 +587,12 @@
 
 	spin_lock_irqsave(&outch->free_buf_lock, flags);
 	free_buf->paddr = paddr;
-	free_buf->planar0_off = y_off;
-	free_buf->planar1_off = cbcr_off;
+	free_buf->y_off = y_off;
+	free_buf->cbcr_off = cbcr_off;
 	list_add_tail(&free_buf->node, &outch->free_buf_queue);
 	CDBG("%s: free_buf paddr = 0x%x, y_off = %d, cbcr_off = %d\n",
-		__func__, free_buf->paddr, free_buf->planar0_off,
-		free_buf->planar1_off);
+		__func__, free_buf->paddr, free_buf->y_off,
+		free_buf->cbcr_off);
 	spin_unlock_irqrestore(&outch->free_buf_lock, flags);
 	return 0;
 }
@@ -688,17 +688,15 @@
 
 		for (i = 0; i < 2; i++) {
 			p1 = ao + 6 + i;    /* wm0 for y  */
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 
 			p1 = ao + 12 + i;  /* wm1 for cbcr */
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			regp1++;
 		}
-
 		for (i = 2; i < ad->bufnum2; i++) {
 			ret = vfe32_enqueue_free_buf(outp1, regp1->paddr,
-				regp1->info.planar0_off,
-				regp1->info.planar1_off);
+				regp1->info.y_off, regp1->info.cbcr_off);
 			if (ret < 0)
 				return ret;
 			regp1++;
@@ -724,53 +722,53 @@
 		/*  Parse the buffers!!! */
 		if (ad->bufnum2 == 1) {	/* assuming bufnum1 = bufnum2 */
 			p1 = ao + 6;   /* wm0 ping */
-			*p1++ = (regp1->paddr + regp1->info.planar0_off);
+			*p1++ = (regp1->paddr + regp1->info.y_off);
 			/* this is to duplicate ping address to pong.*/
-			*p1 = (regp1->paddr + regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 			p1 = ao + 30;  /* wm4 ping */
-			*p1++ = (regp1->paddr + regp1->info.planar1_off);
+			*p1++ = (regp1->paddr + regp1->info.cbcr_off);
 			/* this is to duplicate ping address to pong.*/
-			*p1 = (regp1->paddr + regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			p1 = ao + 12;   /* wm1 ping */
-			*p1++ = (regp2->paddr + regp2->info.planar0_off);
+			*p1++ = (regp2->paddr + regp2->info.y_off);
 			/* pong = ping,*/
-			*p1 = (regp2->paddr + regp2->info.planar0_off);
+			*p1 = (regp2->paddr + regp2->info.y_off);
 			p1 = ao + 36;  /* wm5 */
-			*p1++ = (regp2->paddr + regp2->info.planar1_off);
-			*p1 = (regp2->paddr + regp2->info.planar1_off);
+			*p1++ = (regp2->paddr + regp2->info.cbcr_off);
+			*p1 = (regp2->paddr + regp2->info.cbcr_off);
 
 		} else { /* more than one snapshot */
 			/* first fill ping & pong */
 			for (i = 0; i < 2; i++) {
 				p1 = ao + 6 + i;    /* wm0 for y  */
-				*p1 = (regp1->paddr + regp1->info.planar0_off);
+				*p1 = (regp1->paddr + regp1->info.y_off);
 				p1 = ao + 30 + i;  /* wm4 for cbcr */
-				*p1 = (regp1->paddr + regp1->info.planar1_off);
+				*p1 = (regp1->paddr + regp1->info.cbcr_off);
 				regp1++;
 			}
 
 			for (i = 0; i < 2; i++) {
 				p2 = ao + 12 + i;    /* wm1 for y  */
-				*p2 = (regp2->paddr + regp2->info.planar0_off);
+				*p2 = (regp2->paddr + regp2->info.y_off);
 				p2 = ao + 36 + i;  /* wm5 for cbcr */
-				*p2 = (regp2->paddr + regp2->info.planar1_off);
+				*p2 = (regp2->paddr + regp2->info.cbcr_off);
 				regp2++;
 			}
 
 			for (i = 2; i < ad->bufnum1; i++) {
 				ret = vfe32_enqueue_free_buf(outp1,
-					regp1->paddr,
-					regp1->info.planar0_off,
-					regp1->info.planar1_off);
+							regp1->paddr,
+							regp1->info.y_off,
+							regp1->info.cbcr_off);
 				if (ret < 0)
 					return ret;
 				regp1++;
 			}
 			for (i = 2; i < ad->bufnum2; i++) {
 				ret = vfe32_enqueue_free_buf(outp2,
-					regp2->paddr,
-					regp2->info.planar0_off,
-					regp2->info.planar1_off);
+							regp2->paddr,
+							regp2->info.y_off,
+							regp2->info.cbcr_off);
 				if (ret < 0)
 					return ret;
 				regp2++;
@@ -796,37 +794,33 @@
 
 		for (i = 0; i < 2; i++) {
 			p1 = ao + 6 + i;    /* wm0 for y  */
-			*p1 = (regp1->paddr +
-				   regp1->info.planar0_off);
+			*p1 = (regp1->paddr + regp1->info.y_off);
 
 			p1 = ao + 30 + i;  /* wm1 for cbcr */
-			*p1 = (regp1->paddr +
-				   regp1->info.planar1_off);
+			*p1 = (regp1->paddr + regp1->info.cbcr_off);
 			regp1++;
 		}
 
 		for (i = 0; i < 2; i++) {
 			p2 = ao + 12 + i;    /* wm0 for y  */
-			*p2 = (regp2->paddr +
-				   regp2->info.planar0_off);
+			*p2 = (regp2->paddr + regp2->info.y_off);
 
 			p2 = ao + 36 + i;  /* wm1 for cbcr */
-			*p2 = (regp2->paddr +
-				   regp2->info.planar1_off);
+			*p2 = (regp2->paddr + regp2->info.cbcr_off);
 			regp2++;
 		}
 		for (i = 2; i < ad->bufnum1; i++) {
 			ret = vfe32_enqueue_free_buf(outp1, regp1->paddr,
-						regp1->info.planar0_off,
-						regp1->info.planar1_off);
+						regp1->info.y_off,
+						regp1->info.cbcr_off);
 			if (ret < 0)
 				return ret;
 			regp1++;
 		}
 		for (i = 2; i < ad->bufnum2; i++) {
 			ret = vfe32_enqueue_free_buf(outp2, regp2->paddr,
-						regp2->info.planar0_off,
-						regp2->info.planar1_off);
+						regp2->info.y_off,
+						regp2->info.cbcr_off);
 			if (ret < 0)
 				return ret;
 			regp2++;
@@ -840,7 +834,7 @@
 		regp1 = &(ad->region[ad->bufnum1]);
 		vfe32_ctrl->outpath.output_mode |= VFE32_OUTPUT_MODE_S;
 		p1 = ao + 6;    /* wm0 for y  */
-		*p1 = (regp1->paddr + regp1->info.planar0_off);
+		*p1 = (regp1->paddr + regp1->info.y_off);
 		}
 		break;
 	default:
@@ -2344,11 +2338,11 @@
 			/* Y channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out0.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 			/* Chroma channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out0.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 			kfree(free_buf);
 		}
 		if (vfe32_ctrl->operation_mode ==
@@ -2446,11 +2440,11 @@
 			/* Y channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out1.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 			/* Chroma channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out1.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 			kfree(free_buf);
 		}
 		if (vfe32_ctrl->operation_mode ==
@@ -2546,11 +2540,11 @@
 			/* Y channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out2.ch0,
-			free_buf->paddr + free_buf->planar0_off);
+			free_buf->paddr + free_buf->y_off);
 			/* Chroma channel */
 			vfe32_put_ch_addr(ping_pong,
 			vfe32_ctrl->outpath.out2.ch1,
-			free_buf->paddr + free_buf->planar1_off);
+			free_buf->paddr + free_buf->cbcr_off);
 			kfree(free_buf);
 		}
 		vfe_send_outmsg(MSG_ID_OUTPUT_V, pyaddr, pcbcraddr);
@@ -3181,8 +3175,8 @@
 			rc = -EFAULT;
 			break;
 		}
-		rc = vfe32_enqueue_free_buf(outch, p, b->planar0_off,
-			b->planar1_off);
+
+		rc = vfe32_enqueue_free_buf(outch, p, b->y_off, b->cbcr_off);
 	}
 		break;
 
diff --git a/drivers/media/video/msm/msm_vfe32.h b/drivers/media/video/msm/msm_vfe32.h
index ed8bd3c..4d48c6b 100644
--- a/drivers/media/video/msm/msm_vfe32.h
+++ b/drivers/media/video/msm/msm_vfe32.h
@@ -882,8 +882,8 @@
 struct vfe32_free_buf {
 	struct list_head node;
 	uint32_t paddr;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
+	uint32_t y_off;
+	uint32_t cbcr_off;
 };
 
 struct vfe32_output_ch {
diff --git a/drivers/media/video/msm/msm_vfe7x.c b/drivers/media/video/msm/msm_vfe7x.c
index 836f7ae..316aacf 100644
--- a/drivers/media/video/msm/msm_vfe7x.c
+++ b/drivers/media/video/msm/msm_vfe7x.c
@@ -72,15 +72,14 @@
 {
 	switch (type) {
 	case VFE_MSG_OUTPUT_P: {
-		pinfo->planar0_off = ((struct vfe_endframe *)data)->y_address;
-		pinfo->planar1_off =
+		pinfo->y_phy = ((struct vfe_endframe *)data)->y_address;
+		pinfo->cbcr_phy =
 			((struct vfe_endframe *)data)->cbcr_address;
 
-		pinfo->planar2_off = pinfo->planar0_off;
 		pinfo->output_id = OUTPUT_TYPE_P;
 
 		CDBG("vfe_7x_convert, y_phy = 0x%x, cbcr_phy = 0x%x\n",
-				 pinfo->planar0_off, pinfo->planar1_off);
+				 pinfo->y_phy, pinfo->cbcr_phy);
 
 		((struct vfe_frame_extra *)extdata)->bl_evencol =
 		((struct vfe_endframe *)data)->blacklevelevencolumn;
@@ -100,20 +99,20 @@
 		break;
 
 	case VFE_MSG_OUTPUT_S: {
-		pinfo->planar0_off = paddr_s_y;
-		pinfo->planar1_off = paddr_s_cbcr;
+		pinfo->y_phy = paddr_s_y;
+		pinfo->cbcr_phy = paddr_s_cbcr;
 		pinfo->output_id = OUTPUT_TYPE_S;
 		CDBG("vfe_7x_convert: y_phy = 0x%x cbcr_phy = 0x%x\n",
-					pinfo->planar0_off, pinfo->planar1_off);
+					pinfo->y_phy, pinfo->cbcr_phy);
 	}
 		break;
 
 	case VFE_MSG_OUTPUT_T: {
-		pinfo->planar0_off = paddr_t_y;
-		pinfo->planar1_off = paddr_t_cbcr;
+		pinfo->y_phy = paddr_t_y;
+		pinfo->cbcr_phy = paddr_t_cbcr;
 		pinfo->output_id = OUTPUT_TYPE_T;
 		CDBG("vfe_7x_convert: y_phy = 0x%x cbcr_phy = 0x%x\n",
-					pinfo->planar0_off, pinfo->planar1_off);
+					pinfo->y_phy, pinfo->cbcr_phy);
 	}
 		break;
 
@@ -373,20 +372,19 @@
 
 		CDBG("bufnum1 = %d\n", ad->bufnum1);
 		if (mode == OUTPUT_1_AND_2) {
-			paddr_t_y = regptr->paddr + regptr->info.planar0_off;
-			paddr_t_cbcr = regptr->paddr +
-				regptr->info.planar1_off;
+			paddr_t_y = regptr->paddr + regptr->info.y_off;
+			paddr_t_cbcr = regptr->paddr +  regptr->info.cbcr_off;
 		}
 
 		CDBG("config_axi1: O1, phy = 0x%lx, y_off = %d, cbcr_off =%d\n",
-			regptr->paddr, regptr->info.planar0_off,
-			regptr->info.planar1_off);
+			regptr->paddr, regptr->info.y_off,
+			regptr->info.cbcr_off);
 
 		bptr = &ao->output1buffer1_y_phy;
 		for (cnt = 0; cnt < ad->bufnum1; cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 
 			bptr++;
 			regptr++;
@@ -394,9 +392,9 @@
 
 		regptr--;
 		for (cnt = 0; cnt < (8 - ad->bufnum1); cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 			bptr++;
 		}
 	} /* if OUTPUT1 or Both */
@@ -405,17 +403,16 @@
 		regptr = &(ad->region[ad->bufnum1]);
 
 		CDBG("bufnum2 = %d\n", ad->bufnum2);
-		paddr_s_y = regptr->paddr +  regptr->info.planar0_off;
-		paddr_s_cbcr = regptr->paddr +  regptr->info.planar1_off;
+		paddr_s_y = regptr->paddr +  regptr->info.y_off;
+		paddr_s_cbcr = regptr->paddr +  regptr->info.cbcr_off;
 		CDBG("config_axi2: O2, phy = 0x%lx, y_off = %d, cbcr_off =%d\n",
-		     regptr->paddr, regptr->info.planar0_off,
-			 regptr->info.planar1_off);
+		     regptr->paddr, regptr->info.y_off, regptr->info.cbcr_off);
 
 		bptr = &ao->output2buffer1_y_phy;
 		for (cnt = 0; cnt < ad->bufnum2; cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 
 			bptr++;
 			regptr++;
@@ -423,9 +420,9 @@
 
 		regptr--;
 		for (cnt = 0; cnt < (8 - ad->bufnum2); cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 			bptr++;
 		}
 	}
@@ -587,10 +584,10 @@
 		fack.header = VFE_FRAME_ACK;
 
 		fack.output2newybufferaddress =
-			(void *)(p + b->planar0_off);
+			(void *)(p + b->y_off);
 
 		fack.output2newcbcrbufferaddress =
-			(void *)(p + b->planar1_off);
+			(void *)(p + b->cbcr_off);
 
 		vfecmd->queue = QDSP_CMDQUEUE;
 		vfecmd->length = sizeof(struct vfe_outputack);
diff --git a/drivers/media/video/msm/msm_vfe7x27a.c b/drivers/media/video/msm/msm_vfe7x27a.c
index efea316..c8bfacc 100644
--- a/drivers/media/video/msm/msm_vfe7x27a.c
+++ b/drivers/media/video/msm/msm_vfe7x27a.c
@@ -72,15 +72,14 @@
 {
 	switch (type) {
 	case VFE_MSG_OUTPUT_P: {
-		pinfo->planar0_off = ((struct vfe_endframe *)data)->y_address;
-		pinfo->planar1_off =
+		pinfo->y_phy = ((struct vfe_endframe *)data)->y_address;
+		pinfo->cbcr_phy =
 			((struct vfe_endframe *)data)->cbcr_address;
 
-		pinfo->planar2_off = pinfo->planar0_off;
 		pinfo->output_id = OUTPUT_TYPE_P;
 
 		CDBG("vfe_7x_convert, y_phy = 0x%x, cbcr_phy = 0x%x\n",
-				 pinfo->planar0_off, pinfo->planar1_off);
+				 pinfo->y_phy, pinfo->cbcr_phy);
 
 		memcpy(((struct vfe_frame_extra *)extdata),
 			&((struct vfe_endframe *)data)->extra,
@@ -93,19 +92,19 @@
 	}
 		break;
 	case VFE_MSG_OUTPUT_S: {
-		pinfo->planar0_off = paddr_s_y;
-		pinfo->planar1_off = paddr_s_cbcr;
+		pinfo->y_phy = paddr_s_y;
+		pinfo->cbcr_phy = paddr_s_cbcr;
 		pinfo->output_id = OUTPUT_TYPE_S;
 		CDBG("vfe_7x_convert: y_phy = 0x%x cbcr_phy = 0x%x\n",
-					pinfo->planar0_off, pinfo->planar1_off);
+					pinfo->y_phy, pinfo->cbcr_phy);
 	}
 		break;
 	case VFE_MSG_OUTPUT_T: {
-		pinfo->planar0_off = paddr_t_y;
-		pinfo->planar1_off = paddr_t_cbcr;
+		pinfo->y_phy = paddr_t_y;
+		pinfo->cbcr_phy = paddr_t_cbcr;
 		pinfo->output_id = OUTPUT_TYPE_T;
 		CDBG("vfe_7x_convert: y_phy = 0x%x cbcr_phy = 0x%x\n",
-					pinfo->planar0_off, pinfo->planar1_off);
+					pinfo->y_phy, pinfo->cbcr_phy);
 	}
 		break;
 	case VFE_MSG_STATS_AF:
@@ -356,20 +355,19 @@
 
 		CDBG("bufnum1 = %d\n", ad->bufnum1);
 		if (mode == OUTPUT_1_AND_2) {
-			paddr_t_y = regptr->paddr + regptr->info.planar0_off;
-			paddr_t_cbcr = regptr->paddr +
-				regptr->info.planar1_off;
+			paddr_t_y = regptr->paddr + regptr->info.y_off;
+			paddr_t_cbcr = regptr->paddr +  regptr->info.cbcr_off;
 		}
 
 		CDBG("config_axi1: O1, phy = 0x%lx, y_off = %d, cbcr_off =%d\n",
-			regptr->paddr, regptr->info.planar0_off,
-			regptr->info.planar1_off);
+			regptr->paddr, regptr->info.y_off,
+			regptr->info.cbcr_off);
 
 		bptr = &ao->output1buffer1_y_phy;
 		for (cnt = 0; cnt < ad->bufnum1; cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 
 			bptr++;
 			regptr++;
@@ -377,9 +375,9 @@
 
 		regptr--;
 		for (cnt = 0; cnt < (8 - ad->bufnum1); cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 			bptr++;
 		}
 	}
@@ -388,18 +386,17 @@
 		regptr = &(ad->region[ad->bufnum1]);
 
 		CDBG("bufnum2 = %d\n", ad->bufnum2);
-		paddr_s_y = regptr->paddr +  regptr->info.planar0_off;
-		paddr_s_cbcr = regptr->paddr +  regptr->info.planar1_off;
+		paddr_s_y = regptr->paddr +  regptr->info.y_off;
+		paddr_s_cbcr = regptr->paddr +  regptr->info.cbcr_off;
 
 		CDBG("config_axi2: O2, phy = 0x%lx, y_off = %d, cbcr_off =%d\n",
-		     regptr->paddr, regptr->info.planar0_off,
-			 regptr->info.planar1_off);
+		     regptr->paddr, regptr->info.y_off, regptr->info.cbcr_off);
 
 		bptr = &ao->output2buffer1_y_phy;
 		for (cnt = 0; cnt < ad->bufnum2; cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 
 			bptr++;
 			regptr++;
@@ -407,9 +404,9 @@
 
 		regptr--;
 		for (cnt = 0; cnt < (8 - ad->bufnum2); cnt++) {
-			*bptr = regptr->paddr + regptr->info.planar0_off;
+			*bptr = regptr->paddr + regptr->info.y_off;
 			bptr++;
-			*bptr = regptr->paddr + regptr->info.planar1_off;
+			*bptr = regptr->paddr + regptr->info.cbcr_off;
 			bptr++;
 		}
 	}
@@ -567,10 +564,10 @@
 		fack.header = VFE_FRAME_ACK;
 
 		fack.output2newybufferaddress =
-			(void *)(p + b->planar0_off);
+			(void *)(p + b->y_off);
 
 		fack.output2newcbcrbufferaddress =
-			(void *)(p + b->planar1_off);
+			(void *)(p + b->cbcr_off);
 
 		vfecmd->queue = QDSP_CMDQUEUE;
 		vfecmd->length = sizeof(struct vfe_outputack);
diff --git a/drivers/media/video/msm/msm_vfe8x.c b/drivers/media/video/msm/msm_vfe8x.c
index b561fcb..0bf1785 100644
--- a/drivers/media/video/msm/msm_vfe8x.c
+++ b/drivers/media/video/msm/msm_vfe8x.c
@@ -122,10 +122,10 @@
 
 			for (j = 0; j < ao->output1.fragmentCount; j++) {
 
-				*p1 = regptr->paddr + regptr->info.planar0_off;
+				*p1 = regptr->paddr + regptr->info.y_off;
 				p1++;
 
-				*p2 = regptr->paddr + regptr->info.planar1_off;
+				*p2 = regptr->paddr + regptr->info.cbcr_off;
 				p2++;
 			}
 			regptr++;
@@ -144,16 +144,15 @@
 
 			CDBG("config_axi: O2, phy = 0x%lx, y_off = %d, "\
 			     "cbcr_off = %d\n", regptr->paddr,
-			     regptr->info.planar0_off,
-				 regptr->info.planar1_off);
+			     regptr->info.y_off, regptr->info.cbcr_off);
 
 			for (j = 0; j < ao->output2.fragmentCount; j++) {
 
-				*p1 = regptr->paddr + regptr->info.planar0_off;
+				*p1 = regptr->paddr + regptr->info.y_off;
 				CDBG("vfe_config_axi: p1 = 0x%x\n", *p1);
 				p1++;
 
-				*p2 = regptr->paddr + regptr->info.planar1_off;
+				*p2 = regptr->paddr + regptr->info.cbcr_off;
 				CDBG("vfe_config_axi: p2 = 0x%x\n", *p2);
 				p2++;
 			}
@@ -175,16 +174,15 @@
 
 		CDBG("config_axi: O1, phy = 0x%lx, y_off = %d, "\
 			 "cbcr_off = %d\n", regptr->paddr,
-			 regptr->info.planar0_off,
-			 regptr->info.planar1_off);
+			 regptr->info.y_off, regptr->info.cbcr_off);
 
 			for (j = 0; j < ao->output1.fragmentCount; j++) {
 
-				*p1 = regptr->paddr + regptr->info.planar0_off;
+				*p1 = regptr->paddr + regptr->info.y_off;
 				CDBG("vfe_config_axi: p1 = 0x%x\n", *p1);
 				p1++;
 
-				*p2 = regptr->paddr + regptr->info.planar1_off;
+				*p2 = regptr->paddr + regptr->info.cbcr_off;
 				CDBG("vfe_config_axi: p2 = 0x%x\n", *p2);
 				p2++;
 			}
@@ -196,17 +194,15 @@
 
 		CDBG("config_axi: O2, phy = 0x%lx, y_off = %d, "\
 			 "cbcr_off = %d\n", regptr1->paddr,
-			 regptr1->info.planar0_off, regptr1->info.planar1_off);
+			 regptr1->info.y_off, regptr1->info.cbcr_off);
 
 			for (j = 0; j < ao->output2.fragmentCount; j++) {
 
-				*p1 = regptr1->paddr +
-					regptr1->info.planar0_off;
+				*p1 = regptr1->paddr + regptr1->info.y_off;
 				CDBG("vfe_config_axi: p1 = 0x%x\n", *p1);
 				p1++;
 
-				*p2 = regptr1->paddr +
-					regptr1->info.planar1_off;
+				*p2 = regptr1->paddr + regptr1->info.cbcr_off;
 				CDBG("vfe_config_axi: p2 = 0x%x\n", *p2);
 				p2++;
 			}
@@ -693,9 +689,9 @@
 		b = (struct msm_frame *)(cmd->value);
 		p = *(unsigned long *)data;
 
-			fack.ybufaddr[0] = (uint32_t) (p + b->planar0_off);
+			fack.ybufaddr[0] = (uint32_t) (p + b->y_off);
 
-			fack.chromabufaddr[0] = (uint32_t) (p + b->planar1_off);
+			fack.chromabufaddr[0] = (uint32_t) (p + b->cbcr_off);
 
 		if (b->path == OUTPUT_TYPE_P)
 			vfe_output_p_ack(&fack);
diff --git a/drivers/media/video/msm/msm_vfe8x_proc.c b/drivers/media/video/msm/msm_vfe8x_proc.c
index 017e822..9764557 100644
--- a/drivers/media/video/msm/msm_vfe8x_proc.c
+++ b/drivers/media/video/msm/msm_vfe8x_proc.c
@@ -608,12 +608,11 @@
 	switch (type) {
 	case VFE_MSG_OUTPUT_P:
 	case VFE_MSG_OUTPUT_V:{
-		pinfo->planar0_off =
+		pinfo->y_phy =
 			((struct vfe_message *)data)->_u.msgOutput2.yBuffer;
-		pinfo->planar1_off =
+		pinfo->cbcr_phy =
 			((struct vfe_message *)data)->_u.msgOutput2.
 			cbcrBuffer;
-		pinfo->planar2_off = pinfo->planar0_off;
 		ctrl->extdata.bpcInfo =
 			((struct vfe_message *)data)->_u.msgOutput2.bpcInfo;
 		ctrl->extdata.asfInfo =
diff --git a/drivers/media/video/msm/msm_vpe1.c b/drivers/media/video/msm/msm_vpe1.c
index bf84759..891816f 100644
--- a/drivers/media/video/msm/msm_vpe1.c
+++ b/drivers/media/video/msm/msm_vpe1.c
@@ -709,15 +709,15 @@
 	return 1;
 }
 
-void msm_send_frame_to_vpe(uint32_t p0_phy_add, uint32_t p1_phy_add,
+void msm_send_frame_to_vpe(uint32_t pyaddr, uint32_t pcbcraddr,
 		struct timespec *ts, int output_type)
 {
 	uint32_t temp_pyaddr = 0, temp_pcbcraddr = 0;
 
-	CDBG("vpe input, p0_phy_add = 0x%x, p1_phy_add = 0x%x\n",
-		p0_phy_add, p1_phy_add);
-	msm_io_w(p0_phy_add, vpe_device->vpebase + VPE_SRCP0_ADDR_OFFSET);
-	msm_io_w(p1_phy_add, vpe_device->vpebase + VPE_SRCP1_ADDR_OFFSET);
+	CDBG("vpe input, pyaddr = 0x%x, pcbcraddr = 0x%x\n",
+		pyaddr, pcbcraddr);
+	msm_io_w(pyaddr, vpe_device->vpebase + VPE_SRCP0_ADDR_OFFSET);
+	msm_io_w(pcbcraddr, vpe_device->vpebase + VPE_SRCP1_ADDR_OFFSET);
 
 	if (vpe_ctrl->state == VPE_STATE_ACTIVE)
 		CDBG(" =====VPE is busy!!!  Wrong!========\n");
@@ -881,7 +881,7 @@
 		vpe_update_scaler_with_dis(&(vpe_buf->vpe_crop),
 					&(vpe_ctrl->dis_offset));
 
-		msm_send_frame_to_vpe(vpe_buf->p0_phy, vpe_buf->p1_phy,
+		msm_send_frame_to_vpe(vpe_buf->y_phy, vpe_buf->cbcr_phy,
 						&(vpe_buf->ts), OUTPUT_TYPE_V);
 
 		if (!qcmd || !atomic_read(&qcmd->on_heap)) {
@@ -919,12 +919,10 @@
 
 	CDBG("In vpe_addr_convert output_id = %d\n", pinfo->output_id);
 
-	pinfo->p0_phy =
-		((struct vpe_message *)data)->_u.msgOut.p0_Buffer;
-	pinfo->p1_phy =
-		((struct vpe_message *)data)->_u.msgOut.p1_Buffer;
-	pinfo->p2_phy = pinfo->p0_phy;
-
+	pinfo->y_phy =
+		((struct vpe_message *)data)->_u.msgOut.yBuffer;
+	pinfo->cbcr_phy =
+		((struct vpe_message *)data)->_u.msgOut.cbcrBuffer;
 	*ext  = vpe_ctrl->extdata;
 	*elen = vpe_ctrl->extlen;
 }
@@ -989,10 +987,10 @@
 
 	regp1 = &(ad->region[0]);
 	/* for video  Y address */
-	p1 = (regp1->paddr + regp1->info.planar0_off);
+	p1 = (regp1->paddr + regp1->info.y_off);
 	msm_io_w(p1, vpe_device->vpebase + VPE_OUTP0_ADDR_OFFSET);
 	/* for video  CbCr address */
-	p1 = (regp1->paddr + regp1->info.planar1_off);
+	p1 = (regp1->paddr + regp1->info.cbcr_off);
 	msm_io_w(p1, vpe_device->vpebase + VPE_OUTP1_ADDR_OFFSET);
 
 	return 0;
@@ -1050,8 +1048,8 @@
 	vpe_ctrl->frame_pack = frame_pack;
 	vpe_ctrl->output_type = output_id;
 
-	input_stride = (st_half.buf_p1_stride * (1<<16)) +
-		st_half.buf_p0_stride;
+	input_stride = (st_half.buf_cbcr_stride * (1<<16)) +
+		st_half.buf_y_stride;
 
 	msm_io_w(input_stride, vpe_device->vpebase + VPE_SRC_YSTRIDE1_OFFSET);
 
@@ -1061,16 +1059,15 @@
 	msm_send_frame_to_vpe(pyaddr, pcbcraddr, ts, output_id);
 }
 
-static void vpe_send_outmsg(uint8_t msgid, uint32_t p0_addr,
-	uint32_t p1_addr, uint32_t p2_addr)
+static void vpe_send_outmsg(uint8_t msgid, uint32_t pyaddr,
+	uint32_t pcbcraddr)
 {
 	struct vpe_message msg;
 	uint8_t outid;
 	msg._d = outid = msgid;
 	msg._u.msgOut.output_id   = msgid;
-	msg._u.msgOut.p0_Buffer = p0_addr;
-	msg._u.msgOut.p1_Buffer = p1_addr;
-	msg._u.msgOut.p2_Buffer = p2_addr;
+	msg._u.msgOut.yBuffer     = pyaddr;
+	msg._u.msgOut.cbcrBuffer  = pcbcraddr;
 	vpe_proc_ops(outid, &msg, sizeof(struct vpe_message));
 	return;
 }
@@ -1206,11 +1203,10 @@
 		if (vpe_ctrl->output_type == OUTPUT_TYPE_ST_R) {
 			CDBG("vpe send out R msg.\n");
 			vpe_send_outmsg(MSG_ID_VPE_OUTPUT_ST_R, pyaddr,
-				pcbcraddr, pyaddr);
+				pcbcraddr);
 		} else if (vpe_ctrl->output_type == OUTPUT_TYPE_V) {
 			CDBG("vpe send out V msg.\n");
-			vpe_send_outmsg(MSG_ID_VPE_OUTPUT_V, pyaddr, pcbcraddr,
-				pyaddr);
+			vpe_send_outmsg(MSG_ID_VPE_OUTPUT_V, pyaddr, pcbcraddr);
 		}
 
 		vpe_ctrl->output_type = 0;
diff --git a/drivers/media/video/msm/msm_vpe1.h b/drivers/media/video/msm/msm_vpe1.h
index 0c713cc..ed7112e 100644
--- a/drivers/media/video/msm/msm_vpe1.h
+++ b/drivers/media/video/msm/msm_vpe1.h
@@ -212,9 +212,8 @@
 
 struct vpe_msg_output {
 	uint8_t   output_id;
-	uint32_t  p0_Buffer;
-	uint32_t  p1_Buffer;
-	uint32_t  p2_Buffer;
+	uint32_t  yBuffer;
+	uint32_t  cbcrBuffer;
 	uint32_t  frameCounter;
 };
 
diff --git a/drivers/media/video/videobuf-msm-mem.c b/drivers/media/video/videobuf-msm-mem.c
index 17dc584..13265bf 100644
--- a/drivers/media/video/videobuf-msm-mem.c
+++ b/drivers/media/video/videobuf-msm-mem.c
@@ -183,8 +183,8 @@
 		return rc;
 	}
 	mem->phyaddr += vb->boff;
-	mem->planar0_off = 0;
-	mem->planar1_off = (vb->size)*2/3;
+	mem->y_off = 0;
+	mem->cbcr_off = (vb->size)*2/3;
 	mem->is_userptr = 1;
 	return rc;
 }
@@ -274,8 +274,8 @@
 	MAGIC_CHECK(mem->magic, MAGIC_PMEM);
 
 	mem->size = PAGE_ALIGN(buf->bsize);
-	mem->planar0_off = 0;
-	mem->planar1_off = (buf->bsize)*2/3;
+	mem->y_off = 0;
+	mem->cbcr_off = (buf->bsize)*2/3;
 	if (buf->i >= 0 && buf->i <= 3)
 		mem->buffer_type = OUTPUT_TYPE_P;
 	else
diff --git a/include/media/msm_camera.h b/include/media/msm_camera.h
index 9646a4f..4544a67 100644
--- a/include/media/msm_camera.h
+++ b/include/media/msm_camera.h
@@ -369,9 +369,8 @@
 	void *vaddr;
 	uint32_t offset;
 	uint32_t len;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
+	uint32_t y_off;
+	uint32_t cbcr_off;
 	uint8_t active;
 };
 
@@ -417,9 +416,8 @@
 	int type;
 	unsigned long buffer;
 	uint32_t phy_offset;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
+	uint32_t y_off;
+	uint32_t cbcr_off;
 	int fd;
 
 	void *cropinfo;
@@ -446,10 +444,10 @@
 };
 
 struct msm_st_half {
-	uint32_t buf_p0_off;
-	uint32_t buf_p1_off;
-	uint32_t buf_p0_stride;
-	uint32_t buf_p1_stride;
+	uint32_t buf_y_off;
+	uint32_t buf_cbcr_off;
+	uint32_t buf_y_stride;
+	uint32_t buf_cbcr_stride;
 	uint32_t pix_x_off;
 	uint32_t pix_y_off;
 	struct msm_st_crop stCropInfo;
diff --git a/include/media/videobuf-msm-mem.h b/include/media/videobuf-msm-mem.h
index 6123051..19dd93e 100644
--- a/include/media/videobuf-msm-mem.h
+++ b/include/media/videobuf-msm-mem.h
@@ -23,9 +23,8 @@
 	int phyaddr;
 	unsigned long size;
 	int is_userptr;
-	uint32_t planar0_off;
-	uint32_t planar1_off;
-	uint32_t planar2_off;
+	uint32_t y_off;
+	uint32_t cbcr_off;
 	int buffer_type;
 	struct file *file;
 };