Commit 9257091c authored by Florian Fainelli's avatar Florian Fainelli

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: default avatarFlorian Fainelli <f.fainelli@gmail.com>
parent 911e9322
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
static void __iomem *cpubiuctrl_base; static void __iomem *cpubiuctrl_base;
static bool mcp_wr_pairing_en; 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) static int __init mcp_write_pairing_set(void)
{ {
...@@ -34,15 +35,15 @@ static int __init mcp_write_pairing_set(void) ...@@ -34,15 +35,15 @@ static int __init mcp_write_pairing_set(void)
if (!cpubiuctrl_base) if (!cpubiuctrl_base)
return -1; 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) { if (mcp_wr_pairing_en) {
pr_info("MCP: Enabling write pairing\n"); pr_info("MCP: Enabling write pairing\n");
writel_relaxed(creds | CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK, 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) { } else if (creds & CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK) {
pr_info("MCP: Disabling write pairing\n"); pr_info("MCP: Disabling write pairing\n");
writel_relaxed(creds & ~CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK, writel_relaxed(creds & ~CPU_CREDIT_REG_MCPx_WR_PAIRING_EN_MASK,
cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); cpubiuctrl_base + cpu_credit_reg_offset);
} else { } else {
pr_info("MCP: Write pairing already disabled\n"); pr_info("MCP: Write pairing already disabled\n");
} }
...@@ -81,7 +82,7 @@ static int brcmstb_cpu_credit_reg_suspend(void) ...@@ -81,7 +82,7 @@ static int brcmstb_cpu_credit_reg_suspend(void)
{ {
if (cpubiuctrl_base) if (cpubiuctrl_base)
cpu_credit_reg_dump = cpu_credit_reg_dump =
readl_relaxed(cpubiuctrl_base + CPU_CREDIT_REG_OFFSET); readl_relaxed(cpubiuctrl_base + cpu_credit_reg_offset);
return 0; return 0;
} }
...@@ -89,7 +90,7 @@ static void brcmstb_cpu_credit_reg_resume(void) ...@@ -89,7 +90,7 @@ static void brcmstb_cpu_credit_reg_resume(void)
{ {
if (cpubiuctrl_base) if (cpubiuctrl_base)
writel_relaxed(cpu_credit_reg_dump, 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 = { static struct syscore_ops brcmstb_cpu_credit_syscore_ops = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment