blob: 0c18bdb357b0a6565ab70d62156b2558a5b1107a [file] [log] [blame]
/*
*
* (C) COPYRIGHT 2012-2013, 2015 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.
*
*/
/*
* Cache Policy API.
*/
#ifndef _KBASE_CACHE_POLICY_H_
#define _KBASE_CACHE_POLICY_H_
#include "mali_kbase.h"
#include "mali_base_kernel.h"
/**
* kbase_cache_enabled - Choose the cache policy for a specific region
* @flags: flags describing attributes of the region
* @nr_pages: total number of pages (backed or not) for the region
*
* Tells whether the CPU and GPU caches should be enabled or not for a specific
* region.
* This function can be modified to customize the cache policy depending on the
* flags and size of the region.
*
* Return: a combination of %KBASE_REG_CPU_CACHED and %KBASE_REG_GPU_CACHED
* depending on the cache policy
*/
u32 kbase_cache_enabled(u32 flags, u32 nr_pages);
#endif /* _KBASE_CACHE_POLICY_H_ */