| /* |
| * drivers/amlogic/media/frame_provider/decoder/utils/decoder_mmu_box.h |
| * |
| * Copyright (C) 2016 Amlogic, Inc. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| */ |
| |
| #ifndef DECODER_BUFFER_BOX |
| #define DECODER_BUFFER_BOX |
| |
| void *decoder_mmu_box_alloc_box(const char *name, |
| int channel_id, |
| int max_num, |
| int min_size_M, |
| int mem_flags); |
| |
| int decoder_mmu_box_sc_check(void *handle, int is_tvp); |
| |
| int decoder_mmu_box_alloc_idx( |
| void *handle, int idx, int num_pages, |
| unsigned int *mmu_index_adr); |
| |
| int decoder_mmu_box_free_idx_tail(void *handle, int idx, |
| int start_release_index); |
| |
| int decoder_mmu_box_free_idx(void *handle, int idx); |
| |
| int decoder_mmu_box_free(void *handle); |
| |
| int decoder_mmu_box_move_keep_idx(void *box_handle, |
| int keep_idx); |
| int decoder_mmu_box_free_keep(int keep_id); |
| int decoder_mmu_box_free_all_keep(void); |
| void *decoder_mmu_box_get_mem_handle(void *box_handle, int idx); |
| bool decoder_mmu_box_valide_check(void *box); |
| void decoder_mmu_try_to_release_box(void *handle); |
| int decoder_mmu_box_init(void); |
| void decoder_mmu_box_exit(void); |
| |
| #endif |