Re: [PATCH] ARM: OMAP4: PM: Warn users about usage of older bootloaders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Walmsley <paul@xxxxxxxxx> writes:

> On Mon, 4 Feb 2013, Rajendra Nayak wrote:
>
>> OMAP4 CHIP level PM works only with newer bootloaders. The
>> dependency on the bootloader comes from the fact that the
>> kernel is missing reset and initialization code for some
>> devices.
>> 
>> While the right thing to do is to add reset and init code in
>> the kernel, for some co-processor IP blocks like DSP and IVA
>> it means downloading firmware into each one of them to execute
>> idle instructions.
>> 
>> While a feasible solution is worked upon on how such IP blocks
>> can be better handled in the kernel, in the interim, to avoid
>> any further frustration to users testing PM on OMAP4 and finding
>> it broken, warn them about the bootloader being a possible
>> cause.
>> 
>> Signed-off-by: Rajendra Nayak <rnayak@xxxxxx>
>> Cc: Tero Kristo <t-kristo@xxxxxx>
>> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
>> Cc: R Sricharan <r.sricharan@xxxxxx>
>
> Thanks Rajendra, I appreciate the patch.  I've tweaked it slightly and the 
> following is what's queued here; hopefully it can go in for v3.9.
>
>
> - Paul
>
> From: Rajendra Nayak <rnayak@xxxxxx>
> Date: Mon, 4 Feb 2013 17:54:43 +0530
> Subject: [PATCH] ARM: OMAP4: PM: Warn users about usage of older bootloaders
>
> OMAP4 CHIP level PM works only with newer bootloaders. The
> dependency on the bootloader comes from the fact that the
> kernel is missing reset and initialization code for some
> devices.
>
> While the right thing to do is to add reset and init code in
> the kernel, for some co-processor IP blocks like DSP and IVA
> it means downloading firmware into each one of them to execute
> idle instructions.
>
> While a feasible solution is worked upon on how such IP blocks
> can be better handled in the kernel, in the interim, to avoid
> any further frustration to users testing PM on OMAP4 and finding
> it broken, warn them about the bootloader being a possible
> cause.
>
> Signed-off-by: Rajendra Nayak <rnayak@xxxxxx>
> Cc: Tero Kristo <t-kristo@xxxxxx>
> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> Cc: R Sricharan <r.sricharan@xxxxxx>
> [paul@xxxxxxxxx: tweaked warning messages and comments slightly]
> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx>

FWIW

Acked-by: Kevin Hilman <khilman@xxxxxxxxxx>

> ---
>  arch/arm/mach-omap2/pm44xx.c |   19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
> index aa6fd98..502ed9b 100644
> --- a/arch/arm/mach-omap2/pm44xx.c
> +++ b/arch/arm/mach-omap2/pm44xx.c
> @@ -77,8 +77,18 @@ static int omap4_pm_suspend(void)
>  		omap_set_pwrdm_state(pwrst->pwrdm, pwrst->saved_state);
>  		pwrdm_set_logic_retst(pwrst->pwrdm, pwrst->saved_logic_state);
>  	}
> -	if (ret)
> +	if (ret) {
>  		pr_crit("Could not enter target state in pm_suspend\n");
> +		/*
> +		 * OMAP4 chip PM currently works only with certain (newer)
> +		 * versions of bootloaders. This is due to missing code in the
> +		 * kernel to properly reset and initialize some devices.
> +		 * Warn the user about the bootloader version being one of the
> +		 * possible causes.
> +		 * http://www.spinics.net/lists/arm-kernel/msg218641.html
> +		 */
> +		pr_warn("A possible cause could be an old bootloader - try u-boot >= v2012.07\n");
> +	}
>  	else
>  		pr_info("Successfully put all powerdomains to target state\n");
>  
> @@ -146,6 +156,13 @@ int __init omap4_pm_init(void)
>  	}
>  
>  	pr_err("Power Management for TI OMAP4.\n");
> +	/*
> +	 * OMAP4 chip PM currently works only with certain (newer)
> +	 * versions of bootloaders. This is due to missing code in the
> +	 * kernel to properly reset and initialize some devices.
> +	 * http://www.spinics.net/lists/arm-kernel/msg218641.html
> +	 */
> +	pr_warn("u-boot >= v2012.07 is required for full PM support\n");
>  
>  	ret = pwrdm_for_each(pwrdms_setup, NULL);
>  	if (ret) {
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux