diff options
author | Steve Kondik <shade@chemlab.org> | 2013-12-20 13:44:58 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2015-07-23 20:32:52 -0700 |
commit | 1ca4738bea19885ba0b1bfc3aeef84e3226422b7 (patch) | |
tree | 7e5a0c8a0bad954465db3e5137f59112678a3f16 | |
parent | c5f50f9768bf545046256a0de949b47c3abb9ddb (diff) | |
download | android_hardware_qcom_media-cm-12.1-caf-8660.tar.gz android_hardware_qcom_media-cm-12.1-caf-8660.tar.bz2 android_hardware_qcom_media-cm-12.1-caf-8660.zip |
mm-video: Add NO_IOMMU flag and enable it by default for msm8660cm-12.1-caf-8660
Change-Id: I4ccc4eb1c45fdccf1ef7212bb58f025510a1c280
Signed-off-by: Paul Keith <javelinanddart@gmail.com>
-rw-r--r-- | mm-video/vidc/vdec/Android.mk | 1 | ||||
-rw-r--r-- | mm-video/vidc/vdec/src/omx_vdec.cpp | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/mm-video/vidc/vdec/Android.mk b/mm-video/vidc/vdec/Android.mk index 390059c9..043a153c 100644 --- a/mm-video/vidc/vdec/Android.mk +++ b/mm-video/vidc/vdec/Android.mk @@ -25,6 +25,7 @@ ifeq ($(TARGET_BOARD_PLATFORM),msm8660) libOmxVdec-def += -DMAX_RES_1080P libOmxVdec-def += -DPROCESS_EXTRADATA_IN_OUTPUT_PORT libOmxVdec-def += -DTEST_TS_FROM_SEI +libOmxVdec-def += -DNO_IOMMU endif ifeq ($(TARGET_BOARD_PLATFORM),msm8960) libOmxVdec-def += -DMAX_RES_1080P diff --git a/mm-video/vidc/vdec/src/omx_vdec.cpp b/mm-video/vidc/vdec/src/omx_vdec.cpp index 1f97f23b..b1a5a060 100644 --- a/mm-video/vidc/vdec/src/omx_vdec.cpp +++ b/mm-video/vidc/vdec/src/omx_vdec.cpp @@ -3099,6 +3099,9 @@ OMX_ERRORTYPE omx_vdec::get_parameter(OMX_IN OMX_HANDLETYPE hComp, } else { DEBUG_PRINT_HIGH("get_parameter: CACHED buffers from IOMMU heap"); nativeBuffersUsage->nUsage = (GRALLOC_USAGE_PRIVATE_IOMMU_HEAP | GRALLOC_USAGE_PRIVATE_UNCACHED); +#ifdef NO_IOMMU + nativeBuffersUsage->nUsage |= (GRALLOC_USAGE_PRIVATE_MM_HEAP | GRALLOC_USAGE_PRIVATE_UNCACHED); +#endif } #else #if defined (MAX_RES_720P) || defined (MAX_RES_1080P_EBI) @@ -8110,12 +8113,18 @@ int omx_vdec::alloc_map_ion_memory(OMX_U32 buffer_size, alloc_data->flags |= ION_SECURE; } else if (external_meta_buffer_iommu) { alloc_data->heap_mask = ION_HEAP(ION_IOMMU_HEAP_ID); +#ifdef NO_IOMMU + alloc_data->heap_mask |= ION_HEAP(MEM_HEAP_ID); +#endif } else { alloc_data->heap_mask = ION_HEAP(MEM_HEAP_ID); alloc_data->flags |= ION_SECURE; } } else { alloc_data->heap_mask = (ION_HEAP(ION_IOMMU_HEAP_ID)); +#ifdef NO_IOMMU + alloc_data->heap_mask |= ION_HEAP(MEM_HEAP_ID); +#endif } pthread_mutex_lock(&m_vdec_ionlock); rc = ioctl(fd,ION_IOC_ALLOC,alloc_data); |