From patchwork Tue Nov 24 19:03:23 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Hilman X-Patchwork-Id: 62550 X-Patchwork-Delegate: paul@pwsan.com Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id nAOJ3Z2b031504 for ; Tue, 24 Nov 2009 19:03:35 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933946AbZKXTDY (ORCPT ); Tue, 24 Nov 2009 14:03:24 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933910AbZKXTDY (ORCPT ); Tue, 24 Nov 2009 14:03:24 -0500 Received: from ey-out-2122.google.com ([74.125.78.24]:19685 "EHLO ey-out-2122.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933903AbZKXTDX (ORCPT ); Tue, 24 Nov 2009 14:03:23 -0500 Received: by ey-out-2122.google.com with SMTP id 4so1337313eyf.19 for ; Tue, 24 Nov 2009 11:03:29 -0800 (PST) Received: by 10.216.88.195 with SMTP id a45mr2127598wef.63.1259089408862; Tue, 24 Nov 2009 11:03:28 -0800 (PST) Received: from localhost ([216.254.16.51]) by mx.google.com with ESMTPS id m5sm12668717gve.12.2009.11.24.11.03.26 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 24 Nov 2009 11:03:28 -0800 (PST) To: Paul Walmsley Cc: linux-omap@vger.kernel.org Subject: hwmod and PER going idle before WFI From: Kevin Hilman Organization: Deep Root Systems, LLC Date: Tue, 24 Nov 2009 11:03:23 -0800 Message-ID: <87fx83vj7o.fsf@deeprootsystems.com> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 627a509..da32764 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -398,7 +398,6 @@ void omap_sram_idle(void) per_next_state = pwrdm_read_next_pwrst(per_pwrdm); core_next_state = pwrdm_read_next_pwrst(core_pwrdm); if (per_next_state < PWRDM_POWER_ON) { - omap_uart_prepare_idle(2); omap2_gpio_prepare_for_idle(per_next_state); if (per_next_state == PWRDM_POWER_OFF) { if (core_next_state == PWRDM_POWER_ON) { @@ -408,6 +407,7 @@ void omap_sram_idle(void) } else omap3_per_save_context(); } + omap_uart_prepare_idle(2); } if (pwrdm_read_pwrst(cam_pwrdm) == PWRDM_POWER_ON)