Hi Tarun, On 1/3/2011 10:59 PM, DebBarma, Tarun Kanti wrote:
Autoidle is just a single bit setting across OMAP platforms. In _set_module_autoidle() I am seeing 0x3 where the mask is computed. I believe this should be 0x1.
Just a minor comment; it looks from this description that you are not 100% sure it is a bug :-) You need to refer to the various TRMs, stating that this is indeed a bug for all OMAPs!
Adding a "fix" in the subject seems more accurate to describe the patch. OMAP2+: Fix incorrect computation of autoidle_mask Since is it harmless for the moment, I think it will probably go for 2.6.39.
Baseline: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tested Info: Boot tested on OMAP 2/3/4. Signed-off-by: Tarun Kanti DebBarma<tarun.kanti@xxxxxx> Acked-by: Rajendra Nayak<rnayak@xxxxxx>
Acked-by: Benoit Cousson <b-cousson@xxxxxx> Thanks, Benoit
--- arch/arm/mach-omap2/omap_hwmod.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c index 5a30658..da49b56 100644 --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c @@ -373,7 +373,7 @@ static int _set_module_autoidle(struct omap_hwmod *oh, u8 autoidle, } autoidle_shift = oh->class->sysc->sysc_fields->autoidle_shift; - autoidle_mask = (0x3<< autoidle_shift); + autoidle_mask = (0x1<< autoidle_shift); *v&= ~autoidle_mask; *v |= autoidle<< autoidle_shift;
-- 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