1 /* 2 * Copyright (C) 2016, 2018-2020 ARM Limited. All rights reserved. 3 * 4 * Copyright (C) 2008 The Android Open Source Project 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 #ifndef MALI_GRALLOC_ION_H_ 20 #define MALI_GRALLOC_ION_H_ 21 22 #include "core/mali_gralloc_bufferdescriptor.h" 23 24 int mali_gralloc_ion_allocate_attr(private_handle_t *hnd); 25 int mali_gralloc_ion_allocate(const gralloc_buffer_descriptor_t *descriptors, 26 uint32_t numDescriptors, buffer_handle_t *pHandle, bool *alloc_from_backing_store, 27 int ion_fd = -1); 28 void mali_gralloc_ion_free(private_handle_t * const hnd); 29 int mali_gralloc_ion_sync_start(const private_handle_t * const hnd, 30 const bool read, const bool write); 31 int mali_gralloc_ion_sync_end(const private_handle_t * const hnd, 32 const bool read, const bool write); 33 int mali_gralloc_ion_map(private_handle_t *hnd); 34 void mali_gralloc_ion_unmap(private_handle_t *hnd); 35 void mali_gralloc_ion_close(void); 36 int mali_gralloc_attr_allocate(void); 37 int import_exynos_ion_handles(private_handle_t *hnd); 38 void free_exynos_ion_handles(private_handle_t *hnd); 39 40 #endif /* MALI_GRALLOC_ION_H_ */ 41