aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStepan Moskovchenko <stepanm@codeaurora.org>2010-11-12 22:29:51 -0500
committerDaniel Walker <dwalker@codeaurora.org>2010-11-30 17:01:32 -0500
commitff25ff842ea6afd58ccc2e3f386ee5ac540b6a63 (patch)
treeb3fcfa36ee3fe93c9a535b1f28f266c50f6f59f8
parenta5fcd5f59a2658a579533d6774e871aea7ab5e92 (diff)
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>
-rw-r--r--arch/arm/mach-msm/devices-msm8x60-iommu.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/arch/arm/mach-msm/devices-msm8x60-iommu.c b/arch/arm/mach-msm/devices-msm8x60-iommu.c
index 22d0c7cb71f6..8cccb2680542 100644
--- a/arch/arm/mach-msm/devices-msm8x60-iommu.c
+++ b/arch/arm/mach-msm/devices-msm8x60-iommu.c
@@ -532,16 +532,10 @@ static struct msm_iommu_ctx_dev gfx3d_priv_ctx = {
532 31, -1} 532 31, -1}
533}; 533};
534 534
535static struct msm_iommu_ctx_dev gfx2d0_pixv1_ctx = { 535static struct msm_iommu_ctx_dev gfx2d0_2d0_ctx = {
536 .name = "gfx2d0_pixv1_smmu", 536 .name = "gfx2d0_2d0",
537 .num = 0, 537 .num = 0,
538 .mids = {0, 3, 4, -1} 538 .mids = {0, 1, 2, 3, 4, 5, 6, 7, -1}
539};
540
541static struct msm_iommu_ctx_dev gfx2d0_texv3_ctx = {
542 .name = "gfx2d0_texv3_smmu",
543 .num = 1,
544 .mids = {1, 6, 7, -1}
545}; 539};
546 540
547static struct platform_device msm_device_jpegd_src_ctx = { 541static struct platform_device msm_device_jpegd_src_ctx = {
@@ -696,7 +690,7 @@ static struct platform_device msm_device_gfx3d_priv_ctx = {
696 }, 690 },
697}; 691};
698 692
699static struct platform_device msm_device_gfx2d0_pixv1_ctx = { 693static struct platform_device msm_device_gfx2d0_2d0_ctx = {
700 .name = "msm_iommu_ctx", 694 .name = "msm_iommu_ctx",
701 .id = 19, 695 .id = 19,
702 .dev = { 696 .dev = {
@@ -704,14 +698,6 @@ static struct platform_device msm_device_gfx2d0_pixv1_ctx = {
704 }, 698 },
705}; 699};
706 700
707static struct platform_device msm_device_gfx2d0_texv3_ctx = {
708 .name = "msm_iommu_ctx",
709 .id = 20,
710 .dev = {
711 .parent = &msm_device_iommu_gfx2d0.dev,
712 },
713};
714
715static struct platform_device *msm_iommu_devs[] = { 701static struct platform_device *msm_iommu_devs[] = {
716 &msm_device_iommu_jpegd, 702 &msm_device_iommu_jpegd,
717 &msm_device_iommu_vpe, 703 &msm_device_iommu_vpe,
@@ -760,8 +746,7 @@ static struct platform_device *msm_iommu_ctx_devs[] = {
760 &msm_device_vcodec_b_mm2_ctx, 746 &msm_device_vcodec_b_mm2_ctx,
761 &msm_device_gfx3d_user_ctx, 747 &msm_device_gfx3d_user_ctx,
762 &msm_device_gfx3d_priv_ctx, 748 &msm_device_gfx3d_priv_ctx,
763 &msm_device_gfx2d0_pixv1_ctx, 749 &msm_device_gfx2d0_2d0_ctx,
764 &msm_device_gfx2d0_texv3_ctx,
765}; 750};
766 751
767static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = { 752static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = {
@@ -784,8 +769,7 @@ static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = {
784 &vcodec_b_mm2_ctx, 769 &vcodec_b_mm2_ctx,
785 &gfx3d_user_ctx, 770 &gfx3d_user_ctx,
786 &gfx3d_priv_ctx, 771 &gfx3d_priv_ctx,
787 &gfx2d0_pixv1_ctx, 772 &gfx2d0_2d0_ctx,
788 &gfx2d0_texv3_ctx,
789}; 773};
790 774
791static int msm8x60_iommu_init(void) 775static int msm8x60_iommu_init(void)