diff options
Diffstat (limited to 'drivers/media/video/samsung/mali/linux/mali_osk_indir_mmap.c')
-rwxr-xr-x | drivers/media/video/samsung/mali/linux/mali_osk_indir_mmap.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/drivers/media/video/samsung/mali/linux/mali_osk_indir_mmap.c b/drivers/media/video/samsung/mali/linux/mali_osk_indir_mmap.c deleted file mode 100755 index 7297218..0000000 --- a/drivers/media/video/samsung/mali/linux/mali_osk_indir_mmap.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (C) 2010 ARM Limited. All rights reserved. - * - * This program is free software and is provided to you under the terms of the GNU General Public License version 2 - * as published by the Free Software Foundation, and any use by you of this program is subject to the terms of such GNU licence. - * - * A copy of the licence is included with the program, and can also be obtained from Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -#include <linux/slab.h> -#include <linux/pagemap.h> -#include <linux/mm.h> -#include <linux/mman.h> -#include <linux/sched.h> -#include <asm/page.h> -#include <asm/pgtable.h> -#include <asm/atomic.h> - -#include "mali_osk.h" -#include "mali_ukk.h" -#include "mali_kernel_common.h" - -/** - * @file mali_osk_specific.c - * Implementation of per-OS Kernel level specifics - */ - -_mali_osk_errcode_t _mali_osk_specific_indirect_mmap( _mali_uk_mem_mmap_s *args ) -{ - /* args->ctx ignored here; args->ukk_private required instead */ - /* we need to lock the mmap semaphore before calling the do_mmap function */ - down_write(¤t->mm->mmap_sem); - - args->mapping = (void __user *)do_mmap( - (struct file *)args->ukk_private, - 0, /* start mapping from any address after NULL */ - args->size, - PROT_READ | PROT_WRITE, - MAP_SHARED, - args->phys_addr - ); - - /* and unlock it after the call */ - up_write(¤t->mm->mmap_sem); - - /* No cookie required here */ - args->cookie = 0; - /* uku_private meaningless, so zero */ - args->uku_private = NULL; - - if ( (NULL == args->mapping) || IS_ERR((void *)args->mapping) ) - { - return _MALI_OSK_ERR_FAULT; - } - - /* Success */ - return _MALI_OSK_ERR_OK; -} - - -_mali_osk_errcode_t _mali_osk_specific_indirect_munmap( _mali_uk_mem_munmap_s *args ) -{ - /* args->ctx and args->cookie ignored here */ - - if ((NULL != current) && (NULL != current->mm)) - { - /* remove mapping of mali memory from the process' view */ - /* lock mmap semaphore before call */ - /* lock mmap_sem before calling do_munmap */ - down_write(¤t->mm->mmap_sem); - do_munmap( - current->mm, - (unsigned long)args->mapping, - args->size - ); - /* and unlock after call */ - up_write(¤t->mm->mmap_sem); - MALI_DEBUG_PRINT(5, ("unmapped\n")); - } - else - { - MALI_DEBUG_PRINT(2, ("Freeing of a big block while no user process attached, assuming crash cleanup in progress\n")); - } - - return _MALI_OSK_ERR_OK; /* always succeeds */ -} |