msm: Simplify subsystem ids
Most contexts related to a subsystem (e.g. camera, display)
will all share the same domain. Get rid of all the extra subsystem
ids which just create confusion.
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
diff --git a/arch/arm/mach-msm/include/mach/iommu_domains.h b/arch/arm/mach-msm/include/mach/iommu_domains.h
index 69fe3f0..8ae3b72 100644
--- a/arch/arm/mach-msm/include/mach/iommu_domains.h
+++ b/arch/arm/mach-msm/include/mach/iommu_domains.h
@@ -22,28 +22,6 @@
* These subsytem ids are NOT for public use. Please check the iommu
* wrapper header for the properly abstracted id to pass in.
*/
-enum msm_subsystem_id {
- INVALID_SUBSYS_ID = -1,
- JPEGD_SUBSYS_ID,
- VPE_SUBSYS_ID,
- MDP0_SUBSYS_ID,
- MDP1_SUBSYS_ID,
- ROT_SUBSYS_ID,
- IJPEG_SUBSYS_ID,
- VFE_SUBSYS_ID,
- VCODEC_A_SUBSYS_ID,
- VCODEC_B_SUBSYS_ID,
- GFX3D_SUBSYS_ID,
- GFX2D0_SUBSYS_ID,
- GFX2D1_SUBSYS_ID,
- VIDEO_FWARE_ID,
- MAX_SUBSYSTEM_ID
-};
-
-static inline int msm_subsystem_check_id(int subsys_id)
-{
- return subsys_id > INVALID_SUBSYS_ID && subsys_id < MAX_SUBSYSTEM_ID;
-}
#if defined(CONFIG_MSM_IOMMU)
extern struct iommu_domain *msm_subsystem_get_domain(int subsys_id);
diff --git a/arch/arm/mach-msm/include/mach/msm_subsystem_map.h b/arch/arm/mach-msm/include/mach/msm_subsystem_map.h
index 85a5f10..0e74235 100644
--- a/arch/arm/mach-msm/include/mach/msm_subsystem_map.h
+++ b/arch/arm/mach-msm/include/mach/msm_subsystem_map.h
@@ -33,11 +33,20 @@
#define MSM_SUBSYSTEM_ALIGN_IOVA_1M SZ_1M
-#define MSM_SUBSYSTEM_VIDEO VCODEC_A_SUBSYS_ID
-#define MSM_SUBSYSTEM_VIDEO_FWARE VIDEO_FWARE_ID
-#define MSM_SUBSYSTEM_CAMERA VPE_SUBSYS_ID
-#define MSM_SUBSYSTEM_DISPLAY MDP0_SUBSYS_ID
-#define MSM_SUBSYSTEM_ROTATOR ROT_SUBSYS_ID
+enum msm_subsystem_id {
+ INVALID_SUBSYS_ID = -1,
+ MSM_SUBSYSTEM_VIDEO,
+ MSM_SUBSYSTEM_VIDEO_FWARE,
+ MSM_SUBSYSTEM_CAMERA,
+ MSM_SUBSYSTEM_DISPLAY,
+ MSM_SUBSYSTEM_ROTATOR,
+ MAX_SUBSYSTEM_ID
+};
+
+static inline int msm_subsystem_check_id(int subsys_id)
+{
+ return subsys_id > INVALID_SUBSYS_ID && subsys_id < MAX_SUBSYSTEM_ID;
+}
struct msm_mapped_buffer {
/*
diff --git a/arch/arm/mach-msm/iommu_domains.c b/arch/arm/mach-msm/iommu_domains.c
index eb4582e..7ef2204 100644
--- a/arch/arm/mach-msm/iommu_domains.c
+++ b/arch/arm/mach-msm/iommu_domains.c
@@ -158,46 +158,26 @@
};
static struct msm_iommu_domain msm_iommu_subsystems[] = {
- [JPEGD_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [VPE_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [MDP0_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [MDP1_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [ROT_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [IJPEG_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [VFE_SUBSYS_ID] = {
- .domain_idx = GLOBAL_DOMAIN,
- .iova_pool_idx = GLOBAL_MEMORY_POOL,
- },
- [VCODEC_A_SUBSYS_ID] = {
+ [MSM_SUBSYSTEM_VIDEO] = {
.domain_idx = VIDEO_DOMAIN,
.iova_pool_idx = VIDEO_ALLOC_POOL,
},
- [VCODEC_B_SUBSYS_ID] = {
- .domain_idx = VIDEO_DOMAIN,
- .iova_pool_idx = VIDEO_ALLOC_POOL,
- },
- [VIDEO_FWARE_ID] = {
+ [MSM_SUBSYSTEM_VIDEO_FWARE] = {
.domain_idx = VIDEO_DOMAIN,
.iova_pool_idx = VIDEO_FIRMWARE_POOL,
- }
+ },
+ [MSM_SUBSYSTEM_CAMERA] = {
+ .domain_idx = GLOBAL_DOMAIN,
+ .iova_pool_idx = GLOBAL_MEMORY_POOL,
+ },
+ [MSM_SUBSYSTEM_DISPLAY] = {
+ .domain_idx = GLOBAL_DOMAIN,
+ .iova_pool_idx = GLOBAL_MEMORY_POOL,
+ },
+ [MSM_SUBSYSTEM_ROTATOR] = {
+ .domain_idx = GLOBAL_DOMAIN,
+ .iova_pool_idx = GLOBAL_MEMORY_POOL,
+ },
};
struct iommu_domain *msm_subsystem_get_domain(int subsys_id)