android_kernel_cmhtcleo/arch/arm/mach-msm/include/mach/perflock.h
2010-08-27 11:19:57 +02:00

69 lines
2.0 KiB
C

/* arch/arm/mach-msm/perflock.h
*
* MSM performance lock driver header
*
* Copyright (C) 2008 HTC Corporation
* Author: Eiven Peng <eiven_peng@htc.com>
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* 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 __ARCH_ARM_MACH_PERF_LOCK_H
#define __ARCH_ARM_MACH_PERF_LOCK_H
#include <linux/list.h>
/*
* Performance level determine differnt EBI1 rate
*/
enum {
PERF_LOCK_MEDIUM, /* Medium performance */
PERF_LOCK_HIGH, /* High performance */
PERF_LOCK_HIGHEST, /* Highest performance */
PERF_LOCK_INVALID,
};
struct perf_lock {
struct list_head link;
unsigned int flags;
unsigned int level;
const char *name;
};
struct perflock_platform_data {
unsigned int *perf_acpu_table;
unsigned int table_size;
};
#ifndef CONFIG_PERFLOCK
static inline void __init perflock_init(
struct perflock_platform_data *pdata) { return; }
static inline void perf_lock_init(struct perf_lock *lock,
unsigned int level, const char *name) { return; }
static inline void perf_lock(struct perf_lock *lock) { return; }
static inline void perf_unlock(struct perf_lock *lock) { return; }
static inline int is_perf_lock_active(struct perf_lock *lock) { return 0; }
static inline int is_perf_locked(void) { return 0; }
#else
extern void __init perflock_init(struct perflock_platform_data *pdata);
extern void perf_lock_init(struct perf_lock *lock,
unsigned int level, const char *name);
extern void perf_lock(struct perf_lock *lock);
extern void perf_unlock(struct perf_lock *lock);
extern int is_perf_lock_active(struct perf_lock *lock);
extern int is_perf_locked(void);
#endif
#endif