summaryrefslogtreecommitdiffstats
path: root/include/binder
diff options
context:
space:
mode:
authorcodeworkx <codeworkx@cyanogenmod.org>2012-12-04 18:51:36 +0100
committerAndreas Schneider <asn@cryptomilk.org>2015-11-02 17:29:40 +0100
commitaf2d946f2de04cd1a53da443e8f9129f7759e335 (patch)
treeffa582068df69e93bf10158ff7de1659d7c58f32 /include/binder
parentc784dfc39fa1471b0f653206970ac9a256269256 (diff)
downloadframeworks_native-af2d946f2de04cd1a53da443e8f9129f7759e335.zip
frameworks_native-af2d946f2de04cd1a53da443e8f9129f7759e335.tar.gz
frameworks_native-af2d946f2de04cd1a53da443e8f9129f7759e335.tar.bz2
binder: Squashed commit of MemoryHeapBaseIon
Source: http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/native/commit/?h=exynos-jb&id=dc4cd25cc41e4358debd0c7d1a2706d208a58df6 Change-Id: Ib06cc37a2a25c78a061ee2bad48eec2d01b07833 binder: update MemoryHeapIon * Update from ODROID-XU 09232013 BSP release Change-Id: I5245c8a9f783e8902bf91a0ee23e60ebeb335b27 binder: update MemoryHeapIon * Update from ODROID-XU 04212014 BSP Change-Id: Ifc2664bcde37a71d855e05e7c9e50288a4508892 binder: Fixed new CM SLSI build variant Change-Id: Icfff592cf705af660c7318b08fce75dbbf42103c (cherry picked from commit 014ad5eee0a7de70c4a9f66e8f5ce7b32f4ecb16)
Diffstat (limited to 'include/binder')
-rw-r--r--include/binder/IMemory.h7
-rw-r--r--include/binder/MemoryHeapIon.h68
2 files changed, 74 insertions, 1 deletions
diff --git a/include/binder/IMemory.h b/include/binder/IMemory.h
index 2d0db00..178ef85 100644
--- a/include/binder/IMemory.h
+++ b/include/binder/IMemory.h
@@ -36,7 +36,12 @@ public:
// flags returned by getFlags()
enum {
- READ_ONLY = 0x00000001
+ READ_ONLY = 0x00000001,
+#ifdef USE_MEMORY_HEAP_ION
+ USE_ION_FD = 0x00008000
+#else
+ USE_ION_FD = 0x00000008
+#endif
};
virtual int getHeapID() const = 0;
diff --git a/include/binder/MemoryHeapIon.h b/include/binder/MemoryHeapIon.h
new file mode 100644
index 0000000..7e059f4
--- /dev/null
+++ b/include/binder/MemoryHeapIon.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ * Copyright 2011, Samsung Electronics Co. LTD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*!
+ * \file MemoryHeapIon.h
+ * \brief header file for MemoryHeapIon
+ * \author MinGu, Jeon(mingu85.jeon)
+ * \date 2011/11/20
+ *
+ * <b>Revision History: </b>
+ * - 2011/11/21 : MinGu, Jeon(mingu85.jeon)) \n
+ * Initial version
+ * - 2012/11/29 : MinGu, Jeon(mingu85.jeon)) \n
+ * Change name
+ */
+
+#ifndef ANDROID_MEMORY_HEAP_ION_H
+#define ANDROID_MEMORY_HEAP_ION_H
+
+#include <binder/IMemory.h>
+#include <binder/MemoryHeapBase.h>
+#include <stdlib.h>
+
+#define MHB_ION_HEAP_SYSTEM_CONTIG_MASK (1 << 1)
+#define MHB_ION_HEAP_EXYNOS_CONTIG_MASK (1 << 4)
+#define MHB_ION_HEAP_EXYNOS_MASK (1 << 5)
+#define MHB_ION_HEAP_SYSTEM_MASK (1 << 6)
+
+#define MHB_ION_FLAG_CACHED (1 << 16)
+#define MHB_ION_FLAG_CACHED_NEEDS_SYNC (1 << 17)
+#define MHB_ION_FLAG_PRESERVE_KMAP (1 << 18)
+
+#define MHB_ION_EXYNOS_VIDEO_MASK (1 << 21)
+#define MHB_ION_EXYNOS_MFC_INPUT_MASK (1 << 25)
+#define MHB_ION_EXYNOS_MFC_OUTPUT_MASK (1 << 26)
+#define MHB_ION_EXYNOS_GSC_MASK (1 << 27)
+#define MHB_ION_EXYNOS_FIMD_VIDEO_MASK (1 << 28)
+
+namespace android {
+
+class MemoryHeapIon : public MemoryHeapBase
+{
+public:
+ enum {
+ USE_ION_FD = IMemoryHeap::USE_ION_FD
+ };
+ MemoryHeapIon(size_t size, uint32_t flags = 0, char const* name = NULL);
+ MemoryHeapIon(int fd, size_t size, uint32_t flags = 0, uint32_t offset = 0);
+ ~MemoryHeapIon();
+private:
+ int mIonClient;
+};
+
+};
+#endif