Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b85638b authored by Santosh Shilimkar's avatar Santosh Shilimkar
Browse files

ARM: OMAP2+: PM: Remove bogus fiq_[enable/disable] tuple



On OMAP platform, FIQ is reserved for secure environment only. If at all
the FIQ needs to be disabled, it involves going through security
API call. Hence the local_fiq_[enable/disable]() in the OMAP code is bogus.
On GP devices too, the fiq is disabled for non-secure software.

So just get rid of it.

Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
parent f98d5fe8
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -107,8 +107,6 @@ static int __omap3_enter_idle(struct cpuidle_device *dev,
{
	struct omap3_idle_statedata *cx = &omap3_idle_data[index];

	local_fiq_disable();

	if (omap_irq_pending() || need_resched())
		goto return_sleep_time;

@@ -143,7 +141,6 @@ static int __omap3_enter_idle(struct cpuidle_device *dev,
		clkdm_allow_idle(mpu_pd->pwrdm_clkdms[0]);

return_sleep_time:
	local_fiq_enable();

	return index;
}
+0 −7
Original line number Diff line number Diff line
@@ -70,10 +70,7 @@ static int omap4_enter_idle_simple(struct cpuidle_device *dev,
			struct cpuidle_driver *drv,
			int index)
{
	local_fiq_disable();
	omap_do_wfi();
	local_fiq_enable();

	return index;
}

@@ -84,8 +81,6 @@ static int omap4_enter_idle_coupled(struct cpuidle_device *dev,
	struct omap4_idle_statedata *cx = &omap4_idle_data[index];
	int cpu_id = smp_processor_id();

	local_fiq_disable();

	/*
	 * CPU0 has to wait and stay ON until CPU1 is OFF state.
	 * This is necessary to honour hardware recommondation
@@ -158,8 +153,6 @@ static int omap4_enter_idle_coupled(struct cpuidle_device *dev,
	cpuidle_coupled_parallel_barrier(dev, &abort_barrier);
	cpu_done[dev->cpu] = false;

	local_fiq_enable();

	return index;
}

+3 −8
Original line number Diff line number Diff line
@@ -200,22 +200,17 @@ static int omap2_can_sleep(void)

static void omap2_pm_idle(void)
{
	local_fiq_disable();

	if (!omap2_can_sleep()) {
		if (omap_irq_pending())
			goto out;
			return;
		omap2_enter_mpu_retention();
		goto out;
		return;
	}

	if (omap_irq_pending())
		goto out;
		return;

	omap2_enter_full_retention();

out:
	local_fiq_enable();
}

static void __init prcm_setup_regs(void)
+1 −8
Original line number Diff line number Diff line
@@ -346,19 +346,14 @@ void omap_sram_idle(void)

static void omap3_pm_idle(void)
{
	local_fiq_disable();

	if (omap_irq_pending())
		goto out;
		return;

	trace_cpu_idle(1, smp_processor_id());

	omap_sram_idle();

	trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id());

out:
	local_fiq_enable();
}

#ifdef CONFIG_SUSPEND
@@ -757,14 +752,12 @@ int __init omap3_pm_init(void)
			pr_err("Memory allocation failed when allocating for secure sram context\n");

		local_irq_disable();
		local_fiq_disable();

		omap_dma_global_context_save();
		omap3_save_secure_ram_context();
		omap_dma_global_context_restore();

		local_irq_enable();
		local_fiq_enable();
	}

	omap3_save_scratchpad_contents();
+0 −4
Original line number Diff line number Diff line
@@ -131,11 +131,7 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
 */
static void omap_default_idle(void)
{
	local_fiq_disable();

	omap_do_wfi();

	local_fiq_enable();
}

/**