[PATCH v3] ARM: exynos4: hotplug: Fix CPU idle clock down after CPU off

Tomasz Figa t.figa at samsung.com
Wed Jul 16 06:05:57 PDT 2014


Hi Krzysztof,

On 16.07.2014 14:07, Krzysztof Kozlowski wrote:

[snip]

> +#ifdef CONFIG_SMP
> +extern void exynos_clear_delayed_reset_assertion(u32 core_id);
> +#endif

Is the ifdef really needed? The only difference it makes if the function
is used but not compiled in is that with it the compilation will fail,
while without it the kernel won't link.

> +
>  extern void exynos_cpu_resume(void);
>  
>  extern struct smp_operations exynos_smp_ops;

[snip]

> +/*
> + * Clear the USE_DELAYED_RESET_ASSERTION option, set on Exynos4 SoCs
> + * during hot-unplugging CPUx.
> + *
> + * It won't harm if this is called during first boot of secondary CPU.
> + *
> + * Exynos4 SoCs require setting USE_DELAYED_RESET_ASSERTION so the CPU idle
> + * clock down feature could properly detect global idle state when
> + * CPUx is off.
> + */
> +void exynos_clear_delayed_reset_assertion(u32 core_id)
> +{
> +	if (soc_is_exynos4()) {
> +		unsigned int tmp;
> +
> +		tmp = __raw_readl(EXYNOS_ARM_CORE_OPTION(core_id));
> +		tmp &= ~(S5P_USE_DELAYED_RESET_ASSERTION);
> +		__raw_writel(tmp, EXYNOS_ARM_CORE_OPTION(core_id));
> +	}
> +}

The idea to make this a helper function is quite nice, but maybe it
could be extended into exynos_set_delayed_reset_assertion() and disable
or enable delayed assertion depending on another argument?

Best regards,
Tomasz



More information about the linux-arm-kernel mailing list