Revert "msm: iommu: Split rotator/mdp iommu domains"
This reverts commit 9ae9beaf0a79f929c4f9928b8daed5a9ed131d6a.
Change-Id: Ie93cbb23eaa1e35bfbacc53cd18f05b345acea4b
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
diff --git a/drivers/char/msm_rotator.c b/drivers/char/msm_rotator.c
index dae64cb..6cd1806 100644
--- a/drivers/char/msm_rotator.c
+++ b/drivers/char/msm_rotator.c
@@ -174,7 +174,6 @@
unsigned long *start, unsigned long *len,
struct ion_handle **pihdl)
{
- int domain;
if (!msm_rotator_dev->client)
return -EINVAL;
@@ -186,9 +185,8 @@
pr_debug("%s(): ion_hdl %p, ion_buf %p\n", __func__, *pihdl,
ion_share(msm_rotator_dev->client, *pihdl));
- domain = src ? ROTATOR_SRC_DOMAIN : ROTATOR_DST_DOMAIN;
if (ion_map_iommu(msm_rotator_dev->client,
- *pihdl, domain, GEN_POOL,
+ *pihdl, ROTATOR_DOMAIN, GEN_POOL,
SZ_4K, 0, start, len, 0, ION_IOMMU_UNMAP_DELAYED)) {
pr_err("ion_map_iommu() failed\n");
return -EINVAL;
@@ -864,21 +862,17 @@
}
-static void put_img(struct file *p_file, struct ion_handle *p_ihdl,
- unsigned char src)
+static void put_img(struct file *p_file, struct ion_handle *p_ihdl)
{
#ifdef CONFIG_ANDROID_PMEM
if (p_file != NULL)
put_pmem_file(p_file);
#endif
-
#ifdef CONFIG_MSM_MULTIMEDIA_USE_ION
if (!IS_ERR_OR_NULL(p_ihdl)) {
- int domain = src ? ROTATOR_SRC_DOMAIN : \
- ROTATOR_DST_DOMAIN;
pr_debug("%s(): p_ihdl %p\n", __func__, p_ihdl);
ion_unmap_iommu(msm_rotator_dev->client,
- p_ihdl, domain, GEN_POOL);
+ p_ihdl, ROTATOR_DOMAIN, GEN_POOL);
ion_free(msm_rotator_dev->client, p_ihdl);
}
@@ -1168,15 +1162,15 @@
#endif
schedule_delayed_work(&msm_rotator_dev->rot_clk_work, HZ);
do_rotate_unlock_mutex:
- put_img(dstp1_file, dstp1_ihdl, 0);
- put_img(srcp1_file, srcp1_ihdl, 1);
- put_img(dstp0_file, dstp0_ihdl, 0);
+ put_img(dstp1_file, dstp1_ihdl);
+ put_img(srcp1_file, srcp1_ihdl);
+ put_img(dstp0_file, dstp0_ihdl);
/* only source may use frame buffer */
if (info.src.flags & MDP_MEMORY_ID_TYPE_FB)
fput_light(srcp0_file, ps0_need);
else
- put_img(srcp0_file, srcp0_ihdl, 1);
+ put_img(srcp0_file, srcp0_ihdl);
mutex_unlock(&msm_rotator_dev->rotator_lock);
dev_dbg(msm_rotator_dev->device, "%s() returning rc = %d\n",
__func__, rc);
diff --git a/drivers/media/video/msm/wfd/wfd-ioctl.c b/drivers/media/video/msm/wfd/wfd-ioctl.c
index 68a8a7d..c198815 100644
--- a/drivers/media/video/msm/wfd/wfd-ioctl.c
+++ b/drivers/media/video/msm/wfd/wfd-ioctl.c
@@ -288,7 +288,7 @@
mdp_mregion->ion_handle = enc_mregion->ion_handle;
rc = ion_map_iommu(wfd_dev->ion_client, mdp_mregion->ion_handle,
- DISPLAY_WRITE_DOMAIN, GEN_POOL, SZ_4K,
+ DISPLAY_DOMAIN, GEN_POOL, SZ_4K,
0, (unsigned long *)&mdp_mregion->paddr,
(unsigned long *)&mdp_mregion->size, 0, 0);
if (rc) {
@@ -363,7 +363,7 @@
if (mpair->mdp->paddr)
ion_unmap_iommu(wfd_dev->ion_client,
mpair->mdp->ion_handle,
- DISPLAY_WRITE_DOMAIN, GEN_POOL);
+ DISPLAY_DOMAIN, GEN_POOL);
if (mpair->enc->paddr)
ion_unmap_iommu(wfd_dev->ion_client,
diff --git a/drivers/video/msm/mdp4_overlay.c b/drivers/video/msm/mdp4_overlay.c
index b3ec39e..2a15506 100644
--- a/drivers/video/msm/mdp4_overlay.c
+++ b/drivers/video/msm/mdp4_overlay.c
@@ -126,7 +126,7 @@
pr_debug("mixer %u, pipe %u, plane %u\n", pipe->mixer_num,
pipe->pipe_ndx, plane);
if (ion_map_iommu(display_iclient, *srcp_ihdl,
- DISPLAY_READ_DOMAIN, GEN_POOL, SZ_4K, 0, start,
+ DISPLAY_DOMAIN, GEN_POOL, SZ_4K, 0, start,
len, 0, ION_IOMMU_UNMAP_DELAYED)) {
ion_free(display_iclient, *srcp_ihdl);
pr_err("ion_map_iommu() failed\n");
@@ -140,7 +140,7 @@
if (iom_pipe_info->prev_ihdl[plane]) {
ion_unmap_iommu(display_iclient,
iom_pipe_info->prev_ihdl[plane],
- DISPLAY_READ_DOMAIN, GEN_POOL);
+ DISPLAY_DOMAIN, GEN_POOL);
ion_free(display_iclient,
iom_pipe_info->prev_ihdl[plane]);
pr_debug("Previous: mixer %u, pipe %u, plane %u, "
@@ -175,7 +175,7 @@
iom_pipe_info->prev_ihdl[i]);
ion_unmap_iommu(display_iclient,
iom_pipe_info->prev_ihdl[i],
- DISPLAY_READ_DOMAIN, GEN_POOL);
+ DISPLAY_DOMAIN, GEN_POOL);
ion_free(display_iclient,
iom_pipe_info->prev_ihdl[i]);
iom_pipe_info->prev_ihdl[i] = NULL;
@@ -191,7 +191,7 @@
iom_pipe_info->ihdl[i]);
ion_unmap_iommu(display_iclient,
iom_pipe_info->ihdl[i],
- DISPLAY_READ_DOMAIN, GEN_POOL);
+ DISPLAY_DOMAIN, GEN_POOL);
ion_free(display_iclient,
iom_pipe_info->ihdl[i]);
iom_pipe_info->ihdl[i] = NULL;
@@ -3180,25 +3180,25 @@
char *name;
int domain;
} msm_iommu_ctx_names[] = {
- /* Display read*/
+ /* Display */
{
.name = "mdp_port0_cb0",
- .domain = DISPLAY_READ_DOMAIN,
+ .domain = DISPLAY_DOMAIN,
},
- /* Display read*/
+ /* Display */
{
.name = "mdp_port0_cb1",
- .domain = DISPLAY_WRITE_DOMAIN,
+ .domain = DISPLAY_DOMAIN,
},
- /* Display write */
+ /* Display */
{
.name = "mdp_port1_cb0",
- .domain = DISPLAY_READ_DOMAIN,
+ .domain = DISPLAY_DOMAIN,
},
- /* Display write */
+ /* Display */
{
.name = "mdp_port1_cb1",
- .domain = DISPLAY_WRITE_DOMAIN,
+ .domain = DISPLAY_DOMAIN,
},
};
diff --git a/drivers/video/msm/mdp4_util.c b/drivers/video/msm/mdp4_util.c
index cce8ea4..f192b12 100644
--- a/drivers/video/msm/mdp4_util.c
+++ b/drivers/video/msm/mdp4_util.c
@@ -2591,20 +2591,11 @@
buf->ihdl = ion_alloc(mfd->iclient, buffer_size, SZ_4K,
mfd->mem_hid);
if (!IS_ERR_OR_NULL(buf->ihdl)) {
- if (mfd->mem_hid & ION_SECURE) {
- if (ion_phys(mfd->iclient, buf->ihdl,
- &addr, (unsigned *)&len)) {
- pr_err("%s:%d: ion_phys map failed\n",
- __func__, __LINE__);
- return -ENOMEM;
- }
- } else {
- if (ion_map_iommu(mfd->iclient, buf->ihdl,
- DISPLAY_WRITE_DOMAIN, GEN_POOL, SZ_4K,
- 0, &addr, &len, 0, 0)) {
- pr_err("ion_map_iommu() failed\n");
- return -ENOMEM;
- }
+ if (ion_map_iommu(mfd->iclient, buf->ihdl,
+ DISPLAY_DOMAIN, GEN_POOL, SZ_4K, 0, &addr,
+ &len, 0, 0)) {
+ pr_err("ion_map_iommu() failed\n");
+ return -ENOMEM;
}
} else {
pr_err("%s:%d: ion_alloc failed\n", __func__,
@@ -2638,9 +2629,8 @@
if (!IS_ERR_OR_NULL(mfd->iclient)) {
if (!IS_ERR_OR_NULL(buf->ihdl)) {
- if (!(mfd->mem_hid & ION_SECURE))
- ion_unmap_iommu(mfd->iclient, buf->ihdl,
- DISPLAY_WRITE_DOMAIN, GEN_POOL);
+ ion_unmap_iommu(mfd->iclient, buf->ihdl,
+ DISPLAY_DOMAIN, GEN_POOL);
ion_free(mfd->iclient, buf->ihdl);
pr_debug("%s:%d free writeback imem\n", __func__,
__LINE__);
diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c
index 18ee3e6..81a6e50 100644
--- a/drivers/video/msm/msm_fb.c
+++ b/drivers/video/msm/msm_fb.c
@@ -1326,7 +1326,7 @@
fbi->fix.smem_start = (unsigned long)fbram_phys;
msm_iommu_map_contig_buffer(fbi->fix.smem_start,
- DISPLAY_READ_DOMAIN,
+ DISPLAY_DOMAIN,
GEN_POOL,
fbi->fix.smem_len,
SZ_4K,
@@ -1334,7 +1334,7 @@
&(mfd->display_iova));
msm_iommu_map_contig_buffer(fbi->fix.smem_start,
- ROTATOR_SRC_DOMAIN,
+ ROTATOR_DOMAIN,
GEN_POOL,
fbi->fix.smem_len,
SZ_4K,