Exemplo n.º 1
0
static void sh_tmu_clocksource_disable(struct clocksource *cs)
{
	struct sh_tmu_channel *ch = cs_to_sh_tmu(cs);

	if (WARN_ON(!ch->cs_enabled))
		return;

	sh_tmu_disable(ch);
	ch->cs_enabled = false;
}
Exemplo n.º 2
0
Arquivo: sh_tmu.c Projeto: 7799/linux
static void sh_tmu_clocksource_disable(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);

	if (WARN_ON(!p->cs_enabled))
		return;

	sh_tmu_disable(p);
	p->cs_enabled = false;
}
Exemplo n.º 3
0
static int sh_tmu_clocksource_enable(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);
	int ret;

	ret = sh_tmu_enable(p);
	if (!ret)
		__clocksource_updatefreq_hz(cs, p->rate);
	return ret;
}
Exemplo n.º 4
0
static void sh_tmu_clocksource_resume(struct clocksource *cs)
{
	struct sh_tmu_channel *ch = cs_to_sh_tmu(cs);

	if (!ch->cs_enabled)
		return;

	if (ch->enable_count++ == 0) {
		pm_genpd_syscore_poweron(&ch->tmu->pdev->dev);
		__sh_tmu_enable(ch);
	}
}
Exemplo n.º 5
0
static void sh_tmu_clocksource_suspend(struct clocksource *cs)
{
	struct sh_tmu_channel *ch = cs_to_sh_tmu(cs);

	if (!ch->cs_enabled)
		return;

	if (--ch->enable_count == 0) {
		__sh_tmu_disable(ch);
		pm_genpd_syscore_poweroff(&ch->tmu->pdev->dev);
	}
}
Exemplo n.º 6
0
Arquivo: sh_tmu.c Projeto: 7799/linux
static void sh_tmu_clocksource_resume(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);

	if (!p->cs_enabled)
		return;

	if (p->enable_count++ == 0) {
		pm_genpd_syscore_poweron(&p->pdev->dev);
		__sh_tmu_enable(p);
	}
}
Exemplo n.º 7
0
Arquivo: sh_tmu.c Projeto: 7799/linux
static void sh_tmu_clocksource_suspend(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);

	if (!p->cs_enabled)
		return;

	if (--p->enable_count == 0) {
		__sh_tmu_disable(p);
		pm_genpd_syscore_poweroff(&p->pdev->dev);
	}
}
Exemplo n.º 8
0
static int sh_tmu_clocksource_enable(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);
	int ret;

	ret = sh_tmu_enable(p);
	if (ret)
		return ret;

	/* TODO: calculate good shift from rate and counter bit width */
	cs->shift = 10;
	cs->mult = clocksource_hz2mult(p->rate, cs->shift);
	return 0;
}
Exemplo n.º 9
0
static int sh_tmu_clocksource_enable(struct clocksource *cs)
{
	struct sh_tmu_channel *ch = cs_to_sh_tmu(cs);
	int ret;

	if (WARN_ON(ch->cs_enabled))
		return 0;

	ret = sh_tmu_enable(ch);
	if (!ret) {
		__clocksource_update_freq_hz(cs, ch->rate);
		ch->cs_enabled = true;
	}

	return ret;
}
Exemplo n.º 10
0
Arquivo: sh_tmu.c Projeto: 7799/linux
static int sh_tmu_clocksource_enable(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);
	int ret;

	if (WARN_ON(p->cs_enabled))
		return 0;

	ret = sh_tmu_enable(p);
	if (!ret) {
		__clocksource_updatefreq_hz(cs, p->rate);
		p->cs_enabled = true;
	}

	return ret;
}
Exemplo n.º 11
0
static cycle_t sh_tmu_clocksource_read(struct clocksource *cs)
{
	struct sh_tmu_channel *ch = cs_to_sh_tmu(cs);

	return sh_tmu_read(ch, TCNT) ^ 0xffffffff;
}
Exemplo n.º 12
0
static void sh_tmu_clocksource_disable(struct clocksource *cs)
{
	sh_tmu_disable(cs_to_sh_tmu(cs));
}
Exemplo n.º 13
0
static int sh_tmu_clocksource_enable(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);

	return sh_tmu_enable(p);
}
Exemplo n.º 14
0
static cycle_t sh_tmu_clocksource_read(struct clocksource *cs)
{
	struct sh_tmu_priv *p = cs_to_sh_tmu(cs);

	return sh_tmu_read(p, TCNT) ^ 0xffffffff;
}