diff options
author | Florian Fainelli <f.fainelli@gmail.com> | 2017-01-31 23:47:45 +0100 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2017-12-21 02:37:32 +0100 |
commit | 9257091cf6df707b64989f15c1e2d4311d694ad3 (patch) | |
tree | 57adac3e0618bd3d908b4b7f512719e660abd94e /drivers | |
parent | dt-bindings: arm: brcmstb: Correct BIUCTRL node documentation (diff) | |
download | linux-9257091cf6df707b64989f15c1e2d4311d694ad3.tar.xz linux-9257091cf6df707b64989f15c1e2d4311d694ad3.zip |
soc: brcmstb: Make CPU credit offset more parameterized
In preparation for fixing and changing values in the CPU_CREDIT_REG
register for B53-based systems, make the offset parameterized.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/soc/bcm/brcmstb/biuctrl.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/soc/bcm/brcmstb/biuctrl.c b/drivers/soc/bcm/brcmstb/biuctrl.c index 3c39415d484f..c3c548fcaa8c 100644 --- a/drivers/soc/bcm/brcmstb/biuctrl.c +++ b/drivers/soc/bcm/brcmstb/biuctrl.c @@ -26,6 +26,7 @@ static void __iomem *cpubiuctrl_base; static bool mcp_wr_pairing_en; +static unsigned int cpu_credit_reg_offset = CPU_CREDIT_REG_OFFSET; static int __init mcp_write_pairing_set(void) { @@ -34,15 +35,15 @@ static int __init mcp_write_pairing_set(void) if (!cpubiuctrl_base) return -1; - creds = readl_relaxed(cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); + creds = readl_relaxed(cpubiuctrl_base + cpu_credit_reg_offset); if (mcp_wr_pairing_en) { pr_info("MCP: Enabling write pairing\n"); writel_relaxed(creds | CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK, - cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); + cpubiuctrl_base + cpu_credit_reg_offset); } else if (creds & CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK) { pr_info("MCP: Disabling write pairing\n"); writel_relaxed(creds & ~CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK, - cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); + cpubiuctrl_base + cpu_credit_reg_offset); } else { pr_info("MCP: Write pairing already disabled\n"); } @@ -81,7 +82,7 @@ static int brcmstb_cpu_credit_reg_suspend(void) { if (cpubiuctrl_base) cpu_credit_reg_dump = - readl_relaxed(cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); + readl_relaxed(cpubiuctrl_base + cpu_credit_reg_offset); return 0; } @@ -89,7 +90,7 @@ static void brcmstb_cpu_credit_reg_resume(void) { if (cpubiuctrl_base) writel_relaxed(cpu_credit_reg_dump, - cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); + cpubiuctrl_base + cpu_credit_reg_offset); } static struct syscore_ops brcmstb_cpu_credit_syscore_ops = { |