本文整理汇总了C++中s3c_pm_do_save函数的典型用法代码示例。如果您正苦于以下问题:C++ s3c_pm_do_save函数的具体用法?C++ s3c_pm_do_save怎么用?C++ s3c_pm_do_save使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了s3c_pm_do_save函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: exynos4_pm_suspend
static int exynos4_pm_suspend(void)
{
unsigned long tmp;
if (!exynos4_is_c2c_use())
s3c_pm_do_save(exynos4_core_save, ARRAY_SIZE(exynos4_core_save));
s3c_pm_do_save(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));
/* Setting Central Sequence Register for power down mode */
tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION);
tmp &= ~(S5P_CENTRAL_LOWPWR_CFG);
__raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION);
/* When enter sleep mode, USE_DELAYED_RESET_ASSERTION have to disable */
if (!soc_is_exynos4210())
exynos4_reset_assert_ctrl(0);
if (!soc_is_exynos4210()) {
tmp = S5P_USE_STANDBY_WFI0 | S5P_USE_STANDBY_WFE0;
__raw_writel(tmp, S5P_CENTRAL_SEQ_OPTION);
if (exynos4_is_c2c_use()) {
tmp = __raw_readl(S5P_WAKEUP_MASK_COREBLK);
tmp &= ~(1 << 20);
__raw_writel(tmp, S5P_WAKEUP_MASK_COREBLK);
tmp = __raw_readl(S5P_CENTRAL_SEQ_CONFIGURATION_COREBLK);
tmp &= ~S5P_CENTRAL_SEQ_COREBLK_CONF;
__raw_writel(tmp, S5P_CENTRAL_SEQ_CONFIGURATION_COREBLK);
}
}
return 0;
}
开发者ID:JimMing,项目名称:K860i_kernel,代码行数:35,代码来源:pm-exynos4.c
示例2: s5p_irq_suspend
int s5p_irq_suspend(struct sys_device *dev, pm_message_t state)
{
s3c_pm_do_save(eint_save, ARRAY_SIZE(eint_save));
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
return 0;
}
开发者ID:ArthySundaram,项目名称:firstrepo,代码行数:7,代码来源:irq-pm.c
示例3: s3c_pm_save_core
void s3c_pm_save_core(void)
{
s3c_pm_do_save(sromc_save, ARRAY_SIZE(sromc_save));
s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
s3c_pm_do_save(gpio_save_ext, ARRAY_SIZE(gpio_save_ext));
s3c_pm_do_save(gpio_save_gpio_int, ARRAY_SIZE(gpio_save_gpio_int));
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
}
开发者ID:DRockstar,项目名称:Clean-Kernel-EC05,代码行数:8,代码来源:pm.c
示例4: exynos4210_clock_suspend
static int exynos4210_clock_suspend(void)
{
s3c_pm_do_save(exynos4210_clock_save, ARRAY_SIZE(exynos4210_clock_save));
s3c_pm_do_save(exynos4210_epll_save, ARRAY_SIZE(exynos4210_epll_save));
s3c_pm_do_save(exynos4210_vpll_save, ARRAY_SIZE(exynos4210_vpll_save));
return 0;
}
开发者ID:123good,项目名称:ninphetamine3,代码行数:8,代码来源:clock-exynos4210.c
示例5: exynos4212_clock_suspend
static int exynos4212_clock_suspend(void)
{
s3c_pm_do_save(exynos4212_clock_save, ARRAY_SIZE(exynos4212_clock_save));
s3c_pm_do_save(exynos4212_vpll_save, ARRAY_SIZE(exynos4212_vpll_save));
#if (defined(CONFIG_MACH_M0) && defined(CONFIG_TARGET_LOCALE_EUR)) || \
((defined(CONFIG_MACH_C1) || defined(CONFIG_MACH_M0)) && \
defined(CONFIG_TARGET_LOCALE_KOR))
s3c_pm_do_save(exynos4212_epll_save, ARRAY_SIZE(exynos4212_epll_save));
#endif
return 0;
}
开发者ID:Lukiqq,项目名称:GT-I9100-Galaxian-ICS-Kernel,代码行数:11,代码来源:clock-exynos4212.c
示例6: exynos3_pd_lcd0_clk_enable_off
static int exynos3_pd_lcd0_clk_enable_off(struct exynos_pm_domain *domain)
{
unsigned int tmp;
DEBUG_PRINT_INFO("%s pre power off\n", "LCD");
s3c_pm_do_save(exynos_pd_lcd0_clk_save,
ARRAY_SIZE(exynos_pd_lcd0_clk_save));
tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_LCD);
tmp |= ((0x1 << 12)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_LCD);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_LCD);
tmp |= ((0x7F << 14)|(0x3 << 9)|(0x1F << 3)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_LCD);
tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_LCD);
tmp |= ((0x3 << 3)|(0x3));
__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_LCD);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_LCD);
tmp |= ((0x3F << 2)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_LCD);
return 0;
}
开发者ID:Biktorgj,项目名称:Android_b2_Kernel,代码行数:27,代码来源:pm_domains-exynos3250.c
示例7: exynos5_pm_suspend
static int exynos5_pm_suspend(void)
{
unsigned long tmp;
s3c_pm_do_save(exynos5_core_save, ARRAY_SIZE(exynos5_core_save));
if (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
isp_pwr_off = true;
/*
* Before enter suspend, ISP power domain should be on
*/
__raw_writel(S5P_INT_LOCAL_PWR_EN, EXYNOS5_ISP_CONFIGURATION);
}
tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
tmp &= ~(EXYNOS5_CENTRAL_LOWPWR_CFG);
__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_OPTION);
tmp = (EXYNOS5_USE_STANDBYWFI_ARM_CORE0 |
EXYNOS5_USE_STANDBYWFE_ARM_CORE0);
__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_OPTION);
return 0;
}
开发者ID:1yankeedt,项目名称:D710BST_FL24_Kernel,代码行数:27,代码来源:pm-exynos5.c
示例8: exynos3_pd_cam_clk_enable_off
static int exynos3_pd_cam_clk_enable_off(struct exynos_pm_domain *domain)
{
unsigned int tmp;
DEBUG_PRINT_INFO("%s pre power off\n", "CAM");
s3c_pm_do_save(exynos_pd_cam_clk_save,
ARRAY_SIZE(exynos_pd_cam_clk_save));
tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_CAM);
tmp |= ((0x1 << 20)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_CAM);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_CAM0);
tmp |= ((0x3 << 29)|(0x1 << 27)|(0xF << 22)|(0x7 << 18)|(0x3 << 14)|(0x7 << 10)|(0xF << 5)|(0x7));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_CAM0);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_CAM1);
tmp |= ((0xF << 10)|(0x7));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_CAM1);
tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_CAM);
tmp |= (0x1 << 8);
__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_CAM);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_CAM);
tmp |= ((0xF << 16)|(0xF << 11)|(0xF << 6)|(0x7));
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_CAM);
return 0;
}
开发者ID:Biktorgj,项目名称:Android_b2_Kernel,代码行数:31,代码来源:pm_domains-exynos3250.c
示例9: s3c_pm_save_core
void s3c_pm_save_core(void)
{
#ifdef CONFIG_ARCH_LBOOK_V3
if (machine_is_lbook_v3()) {
s3c2410_gpio_setpin(S3C2410_GPC(6), 1);
}
#endif
s3c_pm_do_save(misc_save, ARRAY_SIZE(misc_save));
s3c_pm_do_save(core_save, ARRAY_SIZE(core_save));
#ifdef CONFIG_ARCH_LBOOK_V3
if (machine_is_lbook_v3()) {
s3c2410_gpio_setpin(S3C2410_GPC(6), 1);
}
#endif
}
开发者ID:OpenInkpot-archive,项目名称:linux-2.6,代码行数:17,代码来源:pm.c
示例10: exynos_pm_prepare
static void exynos_pm_prepare(void)
{
exynos_set_delayed_reset_assertion(false);
/* Set wake-up mask registers */
exynos_pm_set_wakeup_mask();
s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));
if (pm_data->extra_save)
s3c_pm_do_save(pm_data->extra_save,
pm_data->num_extra_save);
exynos_pm_enter_sleep_mode();
/* ensure at least INFORM0 has the resume address */
pmu_raw_writel(virt_to_phys(exynos_cpu_resume), S5P_INFORM0);
}
开发者ID:Warter21,项目名称:linux-4.0_imx6,代码行数:18,代码来源:suspend.c
示例11: exynos5_pm_suspend
static int exynos5_pm_suspend(void)
{
unsigned long tmp;
u32 timeout;
s3c_pm_do_save(exynos5_core_save, ARRAY_SIZE(exynos5_core_save));
s3c_pm_do_save(exynos5_regs_save, ARRAY_SIZE(exynos5_regs_save));
if (samsung_rev() < EXYNOS5250_REV_1_0) {
if (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
isp_pwr_off = true;
/*
* Before enter suspend, ISP power domain should be on
*/
__raw_writel(S5P_INT_LOCAL_PWR_EN,
EXYNOS5_ISP_CONFIGURATION);
timeout = 1000;
while (!(__raw_readl(EXYNOS5_ISP_STATUS) & S5P_INT_LOCAL_PWR_EN)) {
if (timeout == 0) {
printk(KERN_ERR "ISP power domain can not on\n");
}
timeout--;
udelay(1);
}
}
}
tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
tmp &= ~(EXYNOS5_CENTRAL_LOWPWR_CFG);
__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_CONFIGURATION);
tmp = __raw_readl(EXYNOS5_CENTRAL_SEQ_OPTION);
tmp = (EXYNOS5_USE_STANDBYWFI_ARM_CORE0 |
EXYNOS5_USE_STANDBYWFE_ARM_CORE0);
__raw_writel(tmp, EXYNOS5_CENTRAL_SEQ_OPTION);
return 0;
}
开发者ID:Entropy512,项目名称:n7000_erasetest_kernel,代码行数:42,代码来源:pm-exynos5.c
示例12: s3c24xx_irq_suspend
int s3c24xx_irq_suspend(struct sys_device *dev, pm_message_t state)
{
unsigned int i;
for (i = 0; i < ARRAY_SIZE(save_extint); i++)
save_extint[i] = __raw_readl(S3C24XX_EXTINT0 + (i*4));
for (i = 0; i < ARRAY_SIZE(save_eintflt); i++)
save_eintflt[i] = __raw_readl(S3C24XX_EINFLT0 + (i*4));
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
save_eintmask = __raw_readl(S3C24XX_EINTMASK);
return 0;
}
开发者ID:12019,项目名称:android_kernel_samsung_xcover,代码行数:15,代码来源:irq-pm.c
示例13: s3c24xx_irq_suspend
int s3c24xx_irq_suspend(void)
{
unsigned int i;
for (i = 0; i < ARRAY_SIZE(save_extint); i++)
save_extint[i] = __raw_readl(S3C24XX_EXTINT0 + (i*4));
for (i = 0; i < ARRAY_SIZE(save_eintflt); i++)
save_eintflt[i] = __raw_readl(S3C24XX_EINFLT0 + (i*4));
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
save_eintmask = __raw_readl(S3C24XX_EINTMASK);
return 0;
}
开发者ID:007kumarraja,项目名称:rockchip-rk3188-mk908,代码行数:15,代码来源:irq-pm.c
示例14: exynos5_asv_suspend
static int exynos5_asv_suspend(void)
{
struct asv_info *exynos_asv_info;
int i;
s3c_pm_do_save(exynos5_abb_save,
ARRAY_SIZE(exynos5_abb_save));
for (i = 0; i < ARRAY_SIZE(exynos5_asv_member); i++) {
exynos_asv_info = &exynos5_asv_member[i];
exynos_asv_info->ops_cal
->set_abb(exynos_asv_info->asv_type, ABB_BYPASS);
}
return 0;
}
开发者ID:1paul1,项目名称:dynamite,代码行数:16,代码来源:asv-exynos5433.c
示例15: exynos3_pd_isp_clk_enable_off
static int exynos3_pd_isp_clk_enable_off(struct exynos_pm_domain *domain)
{
unsigned int tmp;
DEBUG_PRINT_INFO("%s pre power off : save clocks and masking\n", "ISP");
s3c_pm_do_save(exynos_pd_isp_clk_save,
ARRAY_SIZE(exynos_pd_isp_clk_save));
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP0);
tmp |= ((0x7 << 27)|(0xF << 21)|(0xFFF << 8)|(0x7F));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP0);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP1);
tmp |= ((0x7F << 15)|(0x1 << 4));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP1);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP2);
tmp |= ((0x3 << 30)|(0x1 << 28)|(0xF << 23)|(0x3 << 20)|(0x1F << 14)|(0xFFF << 1));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP2);
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_ISP3);
tmp |= ((0x7F << 15)|(0x3 << 12)|(0x3 << 3)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_ISP3);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_ISP0);
tmp |= ((0x3 << 30)|(0x1 << 28)|(0xF << 23)|(0x3 << 20)|(0x3FFFF));
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_ISP0);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_ISP1);
tmp |= ((0x7F << 15)|(0x3 << 12)|(0x1 << 4)|(0x1));
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_ISP1);
tmp = __raw_readl(EXYNOS3_CLKSRC_MASK_ISP);
tmp |= ((0x1 << 12)|(0x1 << 8)|(0x3 << 4));
__raw_writel(tmp, EXYNOS3_CLKSRC_MASK_ISP);
tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_TOP_ISP);
tmp |= (0xF << 1);
__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_TOP_ISP);
tmp = __raw_readl(EXYNOS3_CLKGATE_SCLK_ISP);
tmp |= (0x1);
__raw_writel(tmp, EXYNOS3_CLKGATE_SCLK_ISP);
return 0;
}
开发者ID:Biktorgj,项目名称:Android_b2_Kernel,代码行数:47,代码来源:pm_domains-exynos3250.c
示例16: exynos5420_pm_prepare
static void exynos5420_pm_prepare(void)
{
unsigned int tmp;
/* Set wake-up mask registers */
exynos_pm_set_wakeup_mask();
s3c_pm_do_save(exynos_core_save, ARRAY_SIZE(exynos_core_save));
exynos_pmu_spare3 = pmu_raw_readl(S5P_PMU_SPARE3);
/*
* The cpu state needs to be saved and restored so that the
* secondary CPUs will enter low power start. Though the U-Boot
* is setting the cpu state with low power flag, the kernel
* needs to restore it back in case, the primary cpu fails to
* suspend for any reason.
*/
exynos5420_cpu_state = __raw_readl(sysram_base_addr +
EXYNOS5420_CPU_STATE);
exynos_pm_enter_sleep_mode();
/* ensure at least INFORM0 has the resume address */
if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM))
pmu_raw_writel(virt_to_phys(mcpm_entry_point), S5P_INFORM0);
tmp = pmu_raw_readl(EXYNOS5_ARM_L2_OPTION);
tmp &= ~EXYNOS5_USE_RETENTION;
pmu_raw_writel(tmp, EXYNOS5_ARM_L2_OPTION);
tmp = pmu_raw_readl(EXYNOS5420_SFR_AXI_CGDIS1);
tmp |= EXYNOS5420_UFS;
pmu_raw_writel(tmp, EXYNOS5420_SFR_AXI_CGDIS1);
tmp = pmu_raw_readl(EXYNOS5420_ARM_COMMON_OPTION);
tmp &= ~EXYNOS5420_L2RSTDISABLE_VALUE;
pmu_raw_writel(tmp, EXYNOS5420_ARM_COMMON_OPTION);
tmp = pmu_raw_readl(EXYNOS5420_FSYS2_OPTION);
tmp |= EXYNOS5420_EMULATION;
pmu_raw_writel(tmp, EXYNOS5420_FSYS2_OPTION);
tmp = pmu_raw_readl(EXYNOS5420_PSGEN_OPTION);
tmp |= EXYNOS5420_EMULATION;
pmu_raw_writel(tmp, EXYNOS5420_PSGEN_OPTION);
}
开发者ID:3bsa,项目名称:linux,代码行数:46,代码来源:suspend.c
示例17: exynos3_pd_mfc_clk_enable_off
static int exynos3_pd_mfc_clk_enable_off(struct exynos_pm_domain *domain)
{
unsigned int tmp;
DEBUG_PRINT_INFO("%s pre power off\n", "MFC");
s3c_pm_do_save(exynos_pd_mfc_clk_save,
ARRAY_SIZE(exynos_pd_mfc_clk_save));
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_MFC);
tmp |= ((0x1 << 19)|(0x7 << 15)|(0x1 << 6)|(0x1 << 4)|(0x3 << 1));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_MFC);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_MFC);
tmp |= ((0x1 << 5)|(0x1 << 3)|(0x3));
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_MFC);
return 0;
}
开发者ID:Biktorgj,项目名称:Android_b2_Kernel,代码行数:19,代码来源:pm_domains-exynos3250.c
示例18: exynos3_pd_g3d_clk_enable_off
static int exynos3_pd_g3d_clk_enable_off(struct exynos_pm_domain *domain)
{
unsigned int tmp;
DEBUG_PRINT_INFO("%s pre power off\n", "G3D");
s3c_pm_do_save(exynos_pd_g3d_clk_save,
ARRAY_SIZE(exynos_pd_g3d_clk_save));
tmp = __raw_readl(EXYNOS3_CLKGATE_BUS_G3D);
tmp |= ((0x1 << 18)|(0x1 << 16)|(0x7 << 3));
__raw_writel(tmp, EXYNOS3_CLKGATE_BUS_G3D);
tmp = __raw_readl(EXYNOS3_CLKGATE_IP_G3D);
tmp |= 0xF;
__raw_writel(tmp, EXYNOS3_CLKGATE_IP_G3D);
return 0;
}
开发者ID:Biktorgj,项目名称:Android_b2_Kernel,代码行数:19,代码来源:pm_domains-exynos3250.c
示例19: s3c64xx_irq_pm_suspend
static int s3c64xx_irq_pm_suspend(void)
{
struct irq_grp_save *grp = eint_grp_save;
int i;
S3C_PMDBG("%s: suspending IRQs\n", __func__);
s3c_pm_do_save(irq_save, ARRAY_SIZE(irq_save));
for (i = 0; i < CONFIG_SERIAL_SAMSUNG_UARTS; i++)
irq_uart_mask[i] = __raw_readl(S3C_VA_UARTx(i) + S3C64XX_UINTM);
for (i = 0; i < ARRAY_SIZE(eint_grp_save); i++, grp++) {
grp->con = __raw_readl(S3C64XX_EINT12CON + (i * 4));
grp->mask = __raw_readl(S3C64XX_EINT12MASK + (i * 4));
grp->fltcon = __raw_readl(S3C64XX_EINT12FLTCON + (i * 4));
}
return 0;
}
开发者ID:03199618,项目名称:linux,代码行数:20,代码来源:irq-pm.c
示例20: s3c244x_suspend
static int s3c244x_suspend(void)
{
s3c_pm_do_save(s3c244x_sleep, ARRAY_SIZE(s3c244x_sleep));
return 0;
}
开发者ID:24hours,项目名称:linux,代码行数:5,代码来源:s3c244x.c
注:本文中的s3c_pm_do_save函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论