diff options
| author | Axel Lin <axel.lin@gmail.com> | 2012-09-19 21:32:53 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-26 17:04:09 -0400 |
| commit | e0f21e6d52cc245e7d4f7e02ca4b7b6571660ec2 (patch) | |
| tree | fd4744e4d93c0530730c0ed07c3782483ee16c36 /drivers | |
| parent | 0a18b05043acc01d1d6a4bac459e62c79628881c (diff) | |
memory: tegra{20,30}-mc: Fix reading incorrect register in mc_readl()
The code reading the register does not match the code writing to the register,
fix it.
Also fix the coding style in mc_writel() for better readability.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/memory/tegra20-mc.c | 10 | ||||
| -rw-r--r-- | drivers/memory/tegra30-mc.c | 22 |
2 files changed, 10 insertions, 22 deletions
diff --git a/drivers/memory/tegra20-mc.c b/drivers/memory/tegra20-mc.c index 3ed49c1c2b91..e6764bb41cb9 100644 --- a/drivers/memory/tegra20-mc.c +++ b/drivers/memory/tegra20-mc.c | |||
| @@ -57,7 +57,7 @@ static inline u32 mc_readl(struct tegra20_mc *mc, u32 offs) | |||
| 57 | 57 | ||
| 58 | if (offs < 0x24) | 58 | if (offs < 0x24) |
| 59 | val = readl(mc->regs[0] + offs); | 59 | val = readl(mc->regs[0] + offs); |
| 60 | if (offs < 0x400) | 60 | else if (offs < 0x400) |
| 61 | val = readl(mc->regs[1] + offs - 0x3c); | 61 | val = readl(mc->regs[1] + offs - 0x3c); |
| 62 | 62 | ||
| 63 | return val; | 63 | return val; |
| @@ -65,14 +65,10 @@ static inline u32 mc_readl(struct tegra20_mc *mc, u32 offs) | |||
| 65 | 65 | ||
| 66 | static inline void mc_writel(struct tegra20_mc *mc, u32 val, u32 offs) | 66 | static inline void mc_writel(struct tegra20_mc *mc, u32 val, u32 offs) |
| 67 | { | 67 | { |
| 68 | if (offs < 0x24) { | 68 | if (offs < 0x24) |
| 69 | writel(val, mc->regs[0] + offs); | 69 | writel(val, mc->regs[0] + offs); |
| 70 | return; | 70 | else if (offs < 0x400) |
| 71 | } | ||
| 72 | if (offs < 0x400) { | ||
| 73 | writel(val, mc->regs[1] + offs - 0x3c); | 71 | writel(val, mc->regs[1] + offs - 0x3c); |
| 74 | return; | ||
| 75 | } | ||
| 76 | } | 72 | } |
| 77 | 73 | ||
| 78 | static const char * const tegra20_mc_client[] = { | 74 | static const char * const tegra20_mc_client[] = { |
diff --git a/drivers/memory/tegra30-mc.c b/drivers/memory/tegra30-mc.c index e56ff04eb5cc..802b9ea431fa 100644 --- a/drivers/memory/tegra30-mc.c +++ b/drivers/memory/tegra30-mc.c | |||
| @@ -95,11 +95,11 @@ static inline u32 mc_readl(struct tegra30_mc *mc, u32 offs) | |||
| 95 | 95 | ||
| 96 | if (offs < 0x10) | 96 | if (offs < 0x10) |
| 97 | val = readl(mc->regs[0] + offs); | 97 | val = readl(mc->regs[0] + offs); |
| 98 | if (offs < 0x1f0) | 98 | else if (offs < 0x1f0) |
| 99 | val = readl(mc->regs[1] + offs - 0x3c); | 99 | val = readl(mc->regs[1] + offs - 0x3c); |
| 100 | if (offs < 0x228) | 100 | else if (offs < 0x228) |
| 101 | val = readl(mc->regs[2] + offs - 0x200); | 101 | val = readl(mc->regs[2] + offs - 0x200); |
| 102 | if (offs < 0x400) | 102 | else if (offs < 0x400) |
| 103 | val = readl(mc->regs[3] + offs - 0x284); | 103 | val = readl(mc->regs[3] + offs - 0x284); |
| 104 | 104 | ||
| 105 | return val; | 105 | return val; |
| @@ -107,22 +107,14 @@ static inline u32 mc_readl(struct tegra30_mc *mc, u32 offs) | |||
| 107 | 107 | ||
| 108 | static inline void mc_writel(struct tegra30_mc *mc, u32 val, u32 offs) | 108 | static inline void mc_writel(struct tegra30_mc *mc, u32 val, u32 offs) |
| 109 | { | 109 | { |
| 110 | if (offs < 0x10) { | 110 | if (offs < 0x10) |
| 111 | writel(val, mc->regs[0] + offs); | 111 | writel(val, mc->regs[0] + offs); |
| 112 | return; | 112 | else if (offs < 0x1f0) |
| 113 | } | ||
| 114 | if (offs < 0x1f0) { | ||
| 115 | writel(val, mc->regs[1] + offs - 0x3c); | 113 | writel(val, mc->regs[1] + offs - 0x3c); |
| 116 | return; | 114 | else if (offs < 0x228) |
| 117 | } | ||
| 118 | if (offs < 0x228) { | ||
| 119 | writel(val, mc->regs[2] + offs - 0x200); | 115 | writel(val, mc->regs[2] + offs - 0x200); |
| 120 | return; | 116 | else if (offs < 0x400) |
| 121 | } | ||
| 122 | if (offs < 0x400) { | ||
| 123 | writel(val, mc->regs[3] + offs - 0x284); | 117 | writel(val, mc->regs[3] + offs - 0x284); |
| 124 | return; | ||
| 125 | } | ||
| 126 | } | 118 | } |
| 127 | 119 | ||
| 128 | static const char * const tegra30_mc_client[] = { | 120 | static const char * const tegra30_mc_client[] = { |
