From mboxrd@z Thu Jan 1 00:00:00 1970 From: code@mmayer.net (Markus Mayer) Date: Mon, 2 Oct 2017 16:13:46 -0700 Subject: [PATCH 1/2] memory: brcmstb: dpfe: introduce is_dcpu_enabled() In-Reply-To: <20171002231347.8671-1-code@mmayer.net> References: <20171002231347.8671-1-code@mmayer.net> Message-ID: <20171002231347.8671-2-code@mmayer.net> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org From: Markus Mayer In order to check whether or not the DCPU is running, we introduce a function called is_dcpu_enabled(). Signed-off-by: Markus Mayer --- drivers/memory/brcmstb_dpfe.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c index 21242c4..3516ee8 100644 --- a/drivers/memory/brcmstb_dpfe.c +++ b/drivers/memory/brcmstb_dpfe.c @@ -202,17 +202,26 @@ static const u32 dpfe_commands[DPFE_CMD_MAX][MSG_FIELD_MAX] = { }, }; +static bool is_dcpu_enabled(void __iomem *regs) +{ + u32 val; + + val = readl_relaxed(regs + REG_DCPU_RESET); + + return !(val & DCPU_RESET_MASK); +} + static void __disable_dcpu(void __iomem *regs) { u32 val; - /* Check if DCPU is running */ + if (!is_dcpu_enabled(regs)) + return; + + /* Put DCPU in reset if it's running. */ val = readl_relaxed(regs + REG_DCPU_RESET); - if (!(val & DCPU_RESET_MASK)) { - /* Put DCPU in reset */ - val |= (1 << DCPU_RESET_SHIFT); - writel_relaxed(val, regs + REG_DCPU_RESET); - } + val |= (1 << DCPU_RESET_SHIFT); + writel_relaxed(val, regs + REG_DCPU_RESET); } static void __enable_dcpu(void __iomem *regs) -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Mayer Subject: [PATCH 1/2] memory: brcmstb: dpfe: introduce is_dcpu_enabled() Date: Mon, 2 Oct 2017 16:13:46 -0700 Message-ID: <20171002231347.8671-2-code@mmayer.net> References: <20171002231347.8671-1-code@mmayer.net> Return-path: In-Reply-To: <20171002231347.8671-1-code-7CzEARzsJhSsTnJN9+BGXg@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Florian Fainelli , Gregory Fong , Brian Norris Cc: Markus Mayer , Broadcom Kernel List , Device Tree List , ARM Kernel List , Linux Kernel Mailing List List-Id: devicetree@vger.kernel.org From: Markus Mayer In order to check whether or not the DCPU is running, we introduce a function called is_dcpu_enabled(). Signed-off-by: Markus Mayer --- drivers/memory/brcmstb_dpfe.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c index 21242c4..3516ee8 100644 --- a/drivers/memory/brcmstb_dpfe.c +++ b/drivers/memory/brcmstb_dpfe.c @@ -202,17 +202,26 @@ static const u32 dpfe_commands[DPFE_CMD_MAX][MSG_FIELD_MAX] = { }, }; +static bool is_dcpu_enabled(void __iomem *regs) +{ + u32 val; + + val = readl_relaxed(regs + REG_DCPU_RESET); + + return !(val & DCPU_RESET_MASK); +} + static void __disable_dcpu(void __iomem *regs) { u32 val; - /* Check if DCPU is running */ + if (!is_dcpu_enabled(regs)) + return; + + /* Put DCPU in reset if it's running. */ val = readl_relaxed(regs + REG_DCPU_RESET); - if (!(val & DCPU_RESET_MASK)) { - /* Put DCPU in reset */ - val |= (1 << DCPU_RESET_SHIFT); - writel_relaxed(val, regs + REG_DCPU_RESET); - } + val |= (1 << DCPU_RESET_SHIFT); + writel_relaxed(val, regs + REG_DCPU_RESET); } static void __enable_dcpu(void __iomem *regs) -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751525AbdJBXO2 (ORCPT ); Mon, 2 Oct 2017 19:14:28 -0400 Received: from smtp-out-so.shaw.ca ([64.59.136.138]:59885 "EHLO smtp-out-so.shaw.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbdJBXOZ (ORCPT ); Mon, 2 Oct 2017 19:14:25 -0400 X-Authority-Analysis: v=2.2 cv=e552ceh/ c=1 sm=1 tr=0 a=k5HOQ6ZN7M0zyjl8M7O1NA==:117 a=k5HOQ6ZN7M0zyjl8M7O1NA==:17 a=02M-m0pO-4AA:10 a=Q-fNiiVtAAAA:8 a=ARqTYPXHlEXjlNXjinkA:9 a=Fp8MccfUoT0GBdDC_Lng:22 From: Markus Mayer To: Florian Fainelli , Gregory Fong , Brian Norris Cc: Markus Mayer , Broadcom Kernel List , Device Tree List , ARM Kernel List , Linux Kernel Mailing List Subject: [PATCH 1/2] memory: brcmstb: dpfe: introduce is_dcpu_enabled() Date: Mon, 2 Oct 2017 16:13:46 -0700 Message-Id: <20171002231347.8671-2-code@mmayer.net> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20171002231347.8671-1-code@mmayer.net> References: <20171002231347.8671-1-code@mmayer.net> X-CMAE-Envelope: MS4wfLaP+h89BBBtCjKdyM3P13shFoR8eWI/eymXLEiP2utXom95BiHRL7o2ik3AHCE97JMy/U8M6glNiS7/0dglg5KuDGj9HsFzG30wYHlMj7vQoE0CnGsk 7/nHkYtRGs7mhNib/KP1wBZo2TT6y3foM1uLVSYqF9QLqa5JnEwIZ793HRY01Jz+LbUe5VlVE0r8NQ2i2iV3PEFFMnMSvOMbY7W3xl2kbOnUqRh/80Tntmbj +CT8w5t1HYnQzG86ZvjbjeR9N5PWmV9qiS4ozM3BmrpFJcz4Wu5DavYDh9SngwqbutssMsd9kzYaXX3JaKd1dSTxOUG9BOuOsQUt+YqH1nuR5eLHxK9Yjzyh AISNfZzw97w41ZcfNQeWuSBpkIJcOFYhZFWTa5tjuxdEC3HYRWCs866ucVh2lGHU9wCo4L1j3hHai6yIwOHasSxwEQH1ioouf6wFRQ6VOoxcHB8zmeY= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Mayer In order to check whether or not the DCPU is running, we introduce a function called is_dcpu_enabled(). Signed-off-by: Markus Mayer --- drivers/memory/brcmstb_dpfe.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/drivers/memory/brcmstb_dpfe.c b/drivers/memory/brcmstb_dpfe.c index 21242c4..3516ee8 100644 --- a/drivers/memory/brcmstb_dpfe.c +++ b/drivers/memory/brcmstb_dpfe.c @@ -202,17 +202,26 @@ static const u32 dpfe_commands[DPFE_CMD_MAX][MSG_FIELD_MAX] = { }, }; +static bool is_dcpu_enabled(void __iomem *regs) +{ + u32 val; + + val = readl_relaxed(regs + REG_DCPU_RESET); + + return !(val & DCPU_RESET_MASK); +} + static void __disable_dcpu(void __iomem *regs) { u32 val; - /* Check if DCPU is running */ + if (!is_dcpu_enabled(regs)) + return; + + /* Put DCPU in reset if it's running. */ val = readl_relaxed(regs + REG_DCPU_RESET); - if (!(val & DCPU_RESET_MASK)) { - /* Put DCPU in reset */ - val |= (1 << DCPU_RESET_SHIFT); - writel_relaxed(val, regs + REG_DCPU_RESET); - } + val |= (1 << DCPU_RESET_SHIFT); + writel_relaxed(val, regs + REG_DCPU_RESET); } static void __enable_dcpu(void __iomem *regs) -- 2.7.4