diff options
author | Stepan Moskovchenko <stepanm@codeaurora.org> | 2010-11-12 22:29:51 -0500 |
---|---|---|
committer | Daniel Walker <dwalker@codeaurora.org> | 2010-11-30 17:01:32 -0500 |
commit | ff25ff842ea6afd58ccc2e3f386ee5ac540b6a63 (patch) | |
tree | b3fcfa36ee3fe93c9a535b1f28f266c50f6f59f8 /arch/arm/mach-msm | |
parent | a5fcd5f59a2658a579533d6774e871aea7ab5e92 (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>
Diffstat (limited to 'arch/arm/mach-msm')
-rw-r--r-- | arch/arm/mach-msm/devices-msm8x60-iommu.c | 28 |
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 | ||
535 | static struct msm_iommu_ctx_dev gfx2d0_pixv1_ctx = { | 535 | static 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 | |||
541 | static 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 | ||
547 | static struct platform_device msm_device_jpegd_src_ctx = { | 541 | static 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 | ||
699 | static struct platform_device msm_device_gfx2d0_pixv1_ctx = { | 693 | static 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 | ||
707 | static 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 | |||
715 | static struct platform_device *msm_iommu_devs[] = { | 701 | static 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 | ||
767 | static struct msm_iommu_ctx_dev *msm_iommu_ctx_data[] = { | 752 | static 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 | ||
791 | static int msm8x60_iommu_init(void) | 775 | static int msm8x60_iommu_init(void) |