git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'egalax' into for-linus
[pandora-kernel.git]
/
arch
/
powerpc
/
sysdev
/
cpm2.c
diff --git
a/arch/powerpc/sysdev/cpm2.c
b/arch/powerpc/sysdev/cpm2.c
index
eb59272
..
8dc1e24
100644
(file)
--- a/
arch/powerpc/sysdev/cpm2.c
+++ b/
arch/powerpc/sysdev/cpm2.c
@@
-244,9
+244,6
@@
int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
return -EINVAL;
}
return -EINVAL;
}
- if (mode == CPM_CLK_RX)
- shift += 3;
-
for (i = 0; i < ARRAY_SIZE(clk_map); i++) {
if (clk_map[i][0] == target && clk_map[i][1] == clock) {
bits = clk_map[i][2];
for (i = 0; i < ARRAY_SIZE(clk_map); i++) {
if (clk_map[i][0] == target && clk_map[i][1] == clock) {
bits = clk_map[i][2];
@@
-259,6
+256,14
@@
int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode)
bits <<= shift;
mask <<= shift;
bits <<= shift;
mask <<= shift;
+ if (mode == CPM_CLK_RTX) {
+ bits |= bits << 3;
+ mask |= mask << 3;
+ } else if (mode == CPM_CLK_RX) {
+ bits <<= 3;
+ mask <<= 3;
+ }
+
out_be32(reg, (in_be32(reg) & ~mask) | bits);
cpm2_unmap(im_cpmux);
out_be32(reg, (in_be32(reg) & ~mask) | bits);
cpm2_unmap(im_cpmux);