From patchwork Mon Apr 27 15:15:42 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kevin Hilman X-Patchwork-Id: 20176 X-Patchwork-Delegate: khilman@deeprootsystems.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 n3RFGO57029626 for ; Mon, 27 Apr 2009 15:16:24 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758374AbZD0PPq (ORCPT ); Mon, 27 Apr 2009 11:15:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1759207AbZD0PPq (ORCPT ); Mon, 27 Apr 2009 11:15:46 -0400 Received: from rv-out-0506.google.com ([209.85.198.235]:62250 "EHLO rv-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756294AbZD0PPp (ORCPT ); Mon, 27 Apr 2009 11:15:45 -0400 Received: by rv-out-0506.google.com with SMTP id f9so1846258rvb.1 for ; Mon, 27 Apr 2009 08:15:44 -0700 (PDT) Received: by 10.141.114.19 with SMTP id r19mr1711515rvm.24.1240845344838; Mon, 27 Apr 2009 08:15:44 -0700 (PDT) Received: from localhost ([216.254.16.51]) by mx.google.com with ESMTPS id b8sm5950862rvf.44.2009.04.27.08.15.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 27 Apr 2009 08:15:44 -0700 (PDT) From: Kevin Hilman To: linux-omap@vger.kernel.org Subject: [PATCH] OMAP3: PM: Ensure PRCM interrupts are cleared at boot Date: Mon, 27 Apr 2009 08:15:42 -0700 Message-Id: <1240845342-3469-1-git-send-email-khilman@deeprootsystems.com> X-Mailer: git-send-email 1.6.2.2 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Pending bits in IRQSTATUS can prevent the system from hitting retention. The PRCM interrupt handler takes care of clearing the IRQSTATUS bits, but any pending bits before first suspend or idle may prevent the system from hitting retention. Ensure they are cleared during PRCM setup. Signed-off-by: Kevin Hilman --- Applies to current PM branch. arch/arm/mach-omap2/pm34xx.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 7a561db..d7b6596 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -854,6 +854,9 @@ static void __init prcm_setup_regs(void) prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, OCP_MOD, OMAP2_PRM_IRQENABLE_MPU_OFFSET); + /* Clear any pending PRCM interrupts */ + prm_write_mod_reg(0, OCP_MOD, OMAP2_PRM_IRQSTATUS_MPU_OFFSET); + omap3_iva_idle(); }