当前位置: 首页>>代码示例>>C++>>正文


C++ s3c_pm_do_save函数代码示例

本文整理汇总了C++中s3c_pm_do_save函数的典型用法代码示例。如果您正苦于以下问题:C++ s3c_pm_do_save函数的具体用法?C++ s3c_pm_do_save怎么用?C++ s3c_pm_do_save使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了s3c_pm_do_save函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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


注:本文中的s3c_pm_do_save函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。