diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/dcr-mmio.h | 4 | ||||
-rw-r--r-- | include/asm-powerpc/dcr-native.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-powerpc/dcr-mmio.h b/include/asm-powerpc/dcr-mmio.h index 6b82c3ba495a..a7d9eaf22702 100644 --- a/include/asm-powerpc/dcr-mmio.h +++ b/include/asm-powerpc/dcr-mmio.h | |||
@@ -37,12 +37,12 @@ extern void dcr_unmap(dcr_host_t host, unsigned int dcr_n, unsigned int dcr_c); | |||
37 | 37 | ||
38 | static inline u32 dcr_read(dcr_host_t host, unsigned int dcr_n) | 38 | static inline u32 dcr_read(dcr_host_t host, unsigned int dcr_n) |
39 | { | 39 | { |
40 | return in_be32(host.token + dcr_n * host.stride); | 40 | return in_be32(host.token + ((host.base + dcr_n) * host.stride)); |
41 | } | 41 | } |
42 | 42 | ||
43 | static inline void dcr_write(dcr_host_t host, unsigned int dcr_n, u32 value) | 43 | static inline void dcr_write(dcr_host_t host, unsigned int dcr_n, u32 value) |
44 | { | 44 | { |
45 | out_be32(host.token + dcr_n * host.stride, value); | 45 | out_be32(host.token + ((host.base + dcr_n) * host.stride), value); |
46 | } | 46 | } |
47 | 47 | ||
48 | extern u64 of_translate_dcr_address(struct device_node *dev, | 48 | extern u64 of_translate_dcr_address(struct device_node *dev, |
diff --git a/include/asm-powerpc/dcr-native.h b/include/asm-powerpc/dcr-native.h index f41058c0f6cb..3bc780f6513a 100644 --- a/include/asm-powerpc/dcr-native.h +++ b/include/asm-powerpc/dcr-native.h | |||
@@ -30,8 +30,8 @@ typedef struct { | |||
30 | 30 | ||
31 | #define dcr_map(dev, dcr_n, dcr_c) ((dcr_host_t){ .base = (dcr_n) }) | 31 | #define dcr_map(dev, dcr_n, dcr_c) ((dcr_host_t){ .base = (dcr_n) }) |
32 | #define dcr_unmap(host, dcr_n, dcr_c) do {} while (0) | 32 | #define dcr_unmap(host, dcr_n, dcr_c) do {} while (0) |
33 | #define dcr_read(host, dcr_n) mfdcr(dcr_n) | 33 | #define dcr_read(host, dcr_n) mfdcr(dcr_n + host.base) |
34 | #define dcr_write(host, dcr_n, value) mtdcr(dcr_n, value) | 34 | #define dcr_write(host, dcr_n, value) mtdcr(dcr_n + host.base, value) |
35 | 35 | ||
36 | /* Device Control Registers */ | 36 | /* Device Control Registers */ |
37 | void __mtdcr(int reg, unsigned int val); | 37 | void __mtdcr(int reg, unsigned int val); |