From patchwork Sun May 15 20:20:30 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Wahren X-Patchwork-Id: 12850086 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 61DF1C433F5 for ; Sun, 15 May 2022 20:25:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RzLov583xMfm68T4XpK32p4LIWUBSbLNEgdIeMeBA0c=; b=HXm9tf0/vQMSwi y7SxdfGHBd2nWL3RwB5Lw1CeHeiDIBFmEcnowQWP9LvEnX1zzfxSfKe6dlhUNBeTUAL2hWBk8rcmF l3TEKklcR3oyxj1v7uQDcJZZnAR7X4thChHZ6FB7Gr0RC+MadpxVYf4I6b2Bb7mB5gMZauj7es0OH 7CIind6812urR4mG3yo1jdiT/yvU8CmtCPc2lv/wmtyA5d9AFYzds9LVq5RJI+tX0oPyw3mCANcFU W9idg4vVAU3dzHedL1htXaKaRxC/CpZKLzcbs9lPaXHZEIT/iHX04rKCduoh7ODlPqQVp7N5vPd1C bh11/cif+IUN/5U3MNUw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqKmq-004vbd-IS; Sun, 15 May 2022 20:24:20 +0000 Received: from mout.kundenserver.de ([212.227.126.135]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nqKk7-004uAu-AC; Sun, 15 May 2022 20:21:33 +0000 Received: from localhost.localdomain ([37.4.249.94]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1Mr8vG-1nW6xZ2jGo-00oITd; Sun, 15 May 2022 22:21:23 +0200 From: Stefan Wahren To: Florian Fainelli , Ray Jui , Scott Branden , Nicolas Saenz Julienne , Lee Jones Cc: Peter Robinson , Melissa Wen , Phil Elwell , bcm-kernel-feedback-list@broadcom.com, Maxime Ripard , devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Stefan Wahren Subject: [PATCH 09/11] soc: bcm: bcm2835-power: Resolve ASB register macros Date: Sun, 15 May 2022 22:20:30 +0200 Message-Id: <20220515202032.3046-10-stefan.wahren@i2se.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220515202032.3046-1-stefan.wahren@i2se.com> References: <20220515202032.3046-1-stefan.wahren@i2se.com> MIME-Version: 1.0 X-Provags-ID: V03:K1:tRuXr/NcWiagAyMCNC8Bv6us8sxURSZzdQ7aPD5wKLaX5A5J4tu OLs9ExQ9AtejcsXt40LVzIixorLLH8hTqLxhkRSKhYq7DjMDshq6n29tU0Unr073yve6jtK sJmSM8ztCdop11QII7iGllmf4Kvwwf5TxSE6JblAdL/5kxkh3eFrQf0oxdxJ6NyDqElxQNu Cg6H6TZYrOFJEBnztgM4g== X-UI-Out-Filterresults: notjunk:1;V03:K0:IArgAF7lIF0=:JUsiscSwkp1tfDbi/w9Cl8 gdvTqNLqq1nngmEjWFOoFtYxL9BoC+4PT6eTNbo1QdHevjiKZ6kYP+jH+m133sreOpg27p5RK HhTHD9tYMvTE5+rAOzd0sILq1rwtab/fWUhUmqcPmNW6fxXy97cAon84XUlvAzHDoqYYthR8j b1kBxDOMC2ozY7jAMWp5Yyw7eIUBxYUCocNPjYD0hEFYZXxmYuDlt2H0MbmlA0tc030fMdJWv LM3L3IkEwHHchLkwUEqudfBRx8xLHp+b0LN4FSVE8r1QMUGE7Iazd9LZ0GtLBegz3mTNhByHl mp5M4/Xa2x/RyMYeN1AzLNjW3K097COlLaOFq49ZrxL8+4CRGRdhx/d7jdS2dvEImc9pA30jN mO5OPqvxR8mWvJ8OeW63P0sX4+A7nDV+KC9UKtEyasve7wQlzc6Fmqu93BlmwYBVX7mvVIrka iItUekLxA6+PYiKFkaEbo1Z275ItQa7n90qpGUxcT73ZE2q0fKPww2Cw9m1wV4CQbAAinmUCk HTrGo2Z5n5lrxVZVJ1ArM1YlvXBykmwBMDhPLG/LALPvIDe2hisY6hb8Usw/Eur2lhonrww63 EbwH6cCjpeaf9uqtIojebkr8oLqnh3jbT6N2eW8tqV4CT51VbZSDZAYrnjXM/Rwsvb/8RpJyz RapkQcaXiqG/geDD03DFaEg7pqwSiC6O28z5V6OSciQdatOePXsUPzkst/4brVl7TxmQoO7yA FyZvRq1NowvaT/m0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220515_132131_718035_94185C09 X-CRM114-Status: GOOD ( 12.83 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The macros in order to access the ASB registers have a hard coded base address. So extending them for other platforms would make them harder to read. As a solution resolve these macros. Signed-off-by: Stefan Wahren Reviewed-by: Peter Robinson --- drivers/soc/bcm/bcm2835-power.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/soc/bcm/bcm2835-power.c b/drivers/soc/bcm/bcm2835-power.c index 77dc9e62b207..fa0a13035794 100644 --- a/drivers/soc/bcm/bcm2835-power.c +++ b/drivers/soc/bcm/bcm2835-power.c @@ -126,9 +126,6 @@ #define ASB_AXI_BRDG_ID 0x20 -#define ASB_READ(reg) readl(power->asb + (reg)) -#define ASB_WRITE(reg, val) writel(PM_PASSWORD | (val), power->asb + (reg)) - struct bcm2835_power_domain { struct generic_pm_domain base; struct bcm2835_power *power; @@ -150,7 +147,10 @@ struct bcm2835_power { static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable) { + void __iomem *base = power->asb; u64 start; + u32 val; + if (!reg) return 0; @@ -159,12 +159,13 @@ static int bcm2835_asb_control(struct bcm2835_power *power, u32 reg, bool enable /* Enable the module's async AXI bridges. */ if (enable) { - ASB_WRITE(reg, ASB_READ(reg) & ~ASB_REQ_STOP); + val = readl(base + reg) & ~ASB_REQ_STOP; } else { - ASB_WRITE(reg, ASB_READ(reg) | ASB_REQ_STOP); + val = readl(base + reg) | ASB_REQ_STOP; } + writel(PM_PASSWORD | val, base + reg); - while (ASB_READ(reg) & ASB_ACK) { + while (readl(base + reg) & ASB_ACK) { cpu_relax(); if (ktime_get_ns() - start >= 1000) return -ETIMEDOUT; @@ -622,7 +623,7 @@ static int bcm2835_power_probe(struct platform_device *pdev) power->base = pm->base; power->asb = pm->asb; - id = ASB_READ(ASB_AXI_BRDG_ID); + id = readl(power->asb + ASB_AXI_BRDG_ID); if (id != 0x62726467 /* "BRDG" */) { dev_err(dev, "ASB register ID returned 0x%08x\n", id); return -ENODEV;