diff --git a/arch/arm/configs/htcleo_defconfig b/arch/arm/configs/htcleo_defconfig index 136431b1..c9e0eff5 100644 --- a/arch/arm/configs/htcleo_defconfig +++ b/arch/arm/configs/htcleo_defconfig @@ -368,8 +368,8 @@ CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y # CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y @@ -378,6 +378,13 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # CONFIG_CPU_IDLE is not set CONFIG_CPU_FREQ_MSM=y +CONFIG_PERFLOCK=y +CONFIG_PERFLOCK_BOOT_LOCK=y +# CONFIG_PERFLOCK_SCREEN_POLICY is not set +# CONFIG_PERFLOCK_SCREEN_ON_MIN is not set +# CONFIG_PERFLOCK_SCREEN_ON_MAX is not set +# CONFIG_PERFLOCK_SCREEN_OFF_MIN is not set +# CONFIG_PERFLOCK_SCREEN_OFF_MAX is not set # # Floating point emulation diff --git a/arch/arm/mach-msm/board-htcleo.c b/arch/arm/mach-msm/board-htcleo.c index e4c40b61..1b698a75 100644 --- a/arch/arm/mach-msm/board-htcleo.c +++ b/arch/arm/mach-msm/board-htcleo.c @@ -44,7 +44,7 @@ #include #include #include - +#include #include "board-htcleo.h" #include "board-htcleo-ts.h" @@ -277,15 +277,15 @@ static uint32_t bt_gpio_table[] = #ifdef CONFIG_SERIAL_MSM_HS static struct msm_serial_hs_platform_data msm_uart_dm1_pdata = { - /* Chip to Device */ - .rx_wakeup_irq = MSM_GPIO_TO_INT(HTCLEO_GPIO_BT_HOST_WAKE), - .inject_rx_on_wakeup = 0, - .cpu_lock_supported = 0, + /* Chip to Device */ + .rx_wakeup_irq = MSM_GPIO_TO_INT(HTCLEO_GPIO_BT_HOST_WAKE), + .inject_rx_on_wakeup = 0, + .cpu_lock_supported = 0, - /* for bcm */ - .bt_wakeup_pin_supported = 1, - .bt_wakeup_pin = HTCLEO_GPIO_BT_CHIP_WAKE, - .host_wakeup_pin = HTCLEO_GPIO_BT_HOST_WAKE, + /* for bcm */ + .bt_wakeup_pin_supported = 1, + .bt_wakeup_pin = HTCLEO_GPIO_BT_CHIP_WAKE, + .host_wakeup_pin = HTCLEO_GPIO_BT_HOST_WAKE, }; #endif @@ -493,6 +493,17 @@ static struct msm_acpu_clock_platform_data htcleo_clock_data = { // .wait_for_irq_khz = 19200, // TCXO }; +static unsigned htcleo_perf_acpu_table[] = { + 245000000, + 576000000, + 998400000, +}; + +static struct perflock_platform_data htcleo_perflock_data = { + .perf_acpu_table = htcleo_perf_acpu_table, + .table_size = ARRAY_SIZE(htcleo_perf_acpu_table), +}; + static void htcleo_reset(void) { // 25 - 16 = 9 @@ -503,8 +514,6 @@ static void htcleo_reset(void) } } - - static void do_grp_reset(void) { writel(0x20000, MSM_CLK_CTL_BASE + 0x214); @@ -521,6 +530,8 @@ static void __init htcleo_init(void) msm_acpu_clock_init(&htcleo_clock_data); + perflock_init(&htcleo_perflock_data); + init_dex_comm(); /* set the gpu power rail to manual mode so clk en/dis will not