msm: iommu: Revise GFX2D0 IOMMU contexts and M2V mappings

Based on recommendations from chip designers,
optimize the Machine ID to translation context
mappings for the first 2D core's IOMMU. Remove the
"gfx2d0_texv3_smmu" context, as it is no longer needed
under the new mapping scheme.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
This commit is contained in:
Stepan Moskovchenko 2010-11-12 19:29:51 -08:00 committed by Daniel Walker
parent a5fcd5f59a
commit ff25ff842e

View file

@ -532,16 +532,10 @@ static struct msm_iommu_ctx_dev gfx3d_priv_ctx = {
31, -1} 31, -1}
}; };
static struct msm_iommu_ctx_dev gfx2d0_pixv1_ctx = { static struct msm_iommu_ctx_dev gfx2d0_2d0_ctx = {
.name = "gfx2d0_pixv1_smmu", .name = "gfx2d0_2d0",
.num = 0, .num = 0,
.mids = {0, 3, 4, -1} .mids = {0, 1, 2, 3, 4, 5, 6, 7, -1}
};
static struct msm_iommu_ctx_dev gfx2d0_texv3_ctx = {
.name = "gfx2d0_texv3_smmu",
.num = 1,
.mids = {1, 6, 7, -1}
}; };
static struct platform_device msm_device_jpegd_src_ctx = { static struct platform_device msm_device_jpegd_src_ctx = {
@ -696,7 +690,7 @@ static struct platform_device msm_device_gfx3d_priv_ctx = {
}, },
}; };
static struct platform_device msm_device_gfx2d0_pixv1_ctx = { static struct platform_device msm_device_gfx2d0_2d0_ctx = {
.name = "msm_iommu_ctx", .name = "msm_iommu_ctx",
.id = 19, .id = 19,
.dev = { .dev = {
@ -704,14 +698,6 @@ static struct platform_device msm_device_gfx2d0_pixv1_ctx = {
}, },
}; };
static struct platform_device msm_device_gfx2d0_texv3_ctx = {
.name = "msm_iommu_ctx",
.id = 20,
.dev = {
.parent = &msm_device_iommu_gfx2d0.dev,
},
};
static struct platform_device *msm_iommu_devs[] = { static struct platform_device *msm_iommu_devs[] = {
&msm_device_iommu_jpegd, &msm_device_iommu_jpegd,
&msm_device_iommu_vpe, &msm_device_iommu_vpe,
@ -760,8 +746,7 @@ static struct platform_device *msm_iommu_ctx_devs[] = {
&msm_device_vcodec_b_mm2_ctx, &msm_device_vcodec_b_mm2_ctx,
&msm_device_gfx3d_user_ctx, &msm_device_gfx3d_user_ctx,
&msm_device_gfx3d_priv_ctx, &msm_device_gfx3d_priv_ctx,
&msm_device_gfx2d0_pixv1_ctx, &msm_device_gfx2d0_2d0_ctx,
&msm_device_gfx2d0_texv3_ctx,
}; };
static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = { static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = {
@ -784,8 +769,7 @@ static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = {
&vcodec_b_mm2_ctx, &vcodec_b_mm2_ctx,
&gfx3d_user_ctx, &gfx3d_user_ctx,
&gfx3d_priv_ctx, &gfx3d_priv_ctx,
&gfx2d0_pixv1_ctx, &gfx2d0_2d0_ctx,
&gfx2d0_texv3_ctx,
}; };
static int msm8x60_iommu_init(void) static int msm8x60_iommu_init(void)