From patchwork Thu Oct 18 09:20:09 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tero Kristo X-Patchwork-Id: 1608951 Return-Path: X-Original-To: patchwork-linux-omap@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id E7B50DFB34 for ; Thu, 18 Oct 2012 09:20:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754977Ab2JRJUp (ORCPT ); Thu, 18 Oct 2012 05:20:45 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:43249 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754884Ab2JRJUo (ORCPT ); Thu, 18 Oct 2012 05:20:44 -0400 Received: from dlelxv30.itg.ti.com ([172.17.2.17]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id q9I9KfhP028168; Thu, 18 Oct 2012 04:20:41 -0500 Received: from DFLE73.ent.ti.com (dfle73.ent.ti.com [128.247.5.110]) by dlelxv30.itg.ti.com (8.13.8/8.13.8) with ESMTP id q9I9Kfn8022388; Thu, 18 Oct 2012 04:20:41 -0500 Received: from dlelxv22.itg.ti.com (172.17.1.197) by dfle73.ent.ti.com (128.247.5.110) with Microsoft SMTP Server id 14.1.323.3; Thu, 18 Oct 2012 04:20:41 -0500 Received: from localhost.localdomain (h64-15.vpn.ti.com [172.24.64.15]) by dlelxv22.itg.ti.com (8.13.8/8.13.8) with ESMTP id q9I9KSvB001381; Thu, 18 Oct 2012 04:20:40 -0500 From: Tero Kristo To: , , CC: Subject: [PATCHv9 7/8] ARM: OMAP: PM: update target fpwrst to what pwrdm can reach Date: Thu, 18 Oct 2012 12:20:09 +0300 Message-ID: <1350552010-28760-8-git-send-email-t-kristo@ti.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1350552010-28760-1-git-send-email-t-kristo@ti.com> References: <1350552010-28760-1-git-send-email-t-kristo@ti.com> MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org As the code within pwrdm_set_fpwrst is updating powerstate and logic states according to powerdomain capabilities, it may alter the target fpwrst also. Update the target fpwrst status according to these checks, otherwise rest of the code in this function will malfunction. Signed-off-by: Tero Kristo --- arch/arm/mach-omap2/powerdomain.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index f5786b4..f92a867 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -711,6 +711,9 @@ int pwrdm_set_fpwrst(struct powerdomain *pwrdm, enum pwrdm_func_state fpwrst) return -EINVAL; } + /* Refresh target fprwst according to what we can reach */ + fpwrst = _pwrdm_pwrst_to_fpwrst(pwrdm, pwrst, logic); + pr_debug("%s: set fpwrst %0x to pwrdm %s\n", __func__, fpwrst, pwrdm->name);