diff options
Diffstat (limited to 'arch/powerpc/platforms/cell')
-rw-r--r-- | arch/powerpc/platforms/cell/beat_htab.c | 26 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/pmu.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/file.c | 2 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/inode.c | 1 |
4 files changed, 16 insertions, 15 deletions
diff --git a/arch/powerpc/platforms/cell/beat_htab.c b/arch/powerpc/platforms/cell/beat_htab.c index 0f6f83988b3d..246e1d8b3af3 100644 --- a/arch/powerpc/platforms/cell/beat_htab.c +++ b/arch/powerpc/platforms/cell/beat_htab.c | |||
@@ -90,7 +90,7 @@ static inline unsigned int beat_read_mask(unsigned hpte_group) | |||
90 | static long beat_lpar_hpte_insert(unsigned long hpte_group, | 90 | static long beat_lpar_hpte_insert(unsigned long hpte_group, |
91 | unsigned long vpn, unsigned long pa, | 91 | unsigned long vpn, unsigned long pa, |
92 | unsigned long rflags, unsigned long vflags, | 92 | unsigned long rflags, unsigned long vflags, |
93 | int psize, int ssize) | 93 | int psize, int apsize, int ssize) |
94 | { | 94 | { |
95 | unsigned long lpar_rc; | 95 | unsigned long lpar_rc; |
96 | u64 hpte_v, hpte_r, slot; | 96 | u64 hpte_v, hpte_r, slot; |
@@ -103,9 +103,9 @@ static long beat_lpar_hpte_insert(unsigned long hpte_group, | |||
103 | "rflags=%lx, vflags=%lx, psize=%d)\n", | 103 | "rflags=%lx, vflags=%lx, psize=%d)\n", |
104 | hpte_group, va, pa, rflags, vflags, psize); | 104 | hpte_group, va, pa, rflags, vflags, psize); |
105 | 105 | ||
106 | hpte_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M) | | 106 | hpte_v = hpte_encode_v(vpn, psize, apsize, MMU_SEGSIZE_256M) | |
107 | vflags | HPTE_V_VALID; | 107 | vflags | HPTE_V_VALID; |
108 | hpte_r = hpte_encode_r(pa, psize) | rflags; | 108 | hpte_r = hpte_encode_r(pa, psize, apsize) | rflags; |
109 | 109 | ||
110 | if (!(vflags & HPTE_V_BOLTED)) | 110 | if (!(vflags & HPTE_V_BOLTED)) |
111 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); | 111 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); |
@@ -191,7 +191,7 @@ static long beat_lpar_hpte_updatepp(unsigned long slot, | |||
191 | u64 dummy0, dummy1; | 191 | u64 dummy0, dummy1; |
192 | unsigned long want_v; | 192 | unsigned long want_v; |
193 | 193 | ||
194 | want_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M); | 194 | want_v = hpte_encode_avpn(vpn, psize, MMU_SEGSIZE_256M); |
195 | 195 | ||
196 | DBG_LOW(" update: " | 196 | DBG_LOW(" update: " |
197 | "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ", | 197 | "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ", |
@@ -228,7 +228,7 @@ static long beat_lpar_hpte_find(unsigned long vpn, int psize) | |||
228 | unsigned long want_v, hpte_v; | 228 | unsigned long want_v, hpte_v; |
229 | 229 | ||
230 | hash = hpt_hash(vpn, mmu_psize_defs[psize].shift, MMU_SEGSIZE_256M); | 230 | hash = hpt_hash(vpn, mmu_psize_defs[psize].shift, MMU_SEGSIZE_256M); |
231 | want_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M); | 231 | want_v = hpte_encode_avpn(vpn, psize, MMU_SEGSIZE_256M); |
232 | 232 | ||
233 | for (j = 0; j < 2; j++) { | 233 | for (j = 0; j < 2; j++) { |
234 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; | 234 | slot = (hash & htab_hash_mask) * HPTES_PER_GROUP; |
@@ -283,7 +283,7 @@ static void beat_lpar_hpte_invalidate(unsigned long slot, unsigned long vpn, | |||
283 | 283 | ||
284 | DBG_LOW(" inval : slot=%lx, va=%016lx, psize: %d, local: %d\n", | 284 | DBG_LOW(" inval : slot=%lx, va=%016lx, psize: %d, local: %d\n", |
285 | slot, va, psize, local); | 285 | slot, va, psize, local); |
286 | want_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M); | 286 | want_v = hpte_encode_avpn(vpn, psize, MMU_SEGSIZE_256M); |
287 | 287 | ||
288 | raw_spin_lock_irqsave(&beat_htab_lock, flags); | 288 | raw_spin_lock_irqsave(&beat_htab_lock, flags); |
289 | dummy1 = beat_lpar_hpte_getword0(slot); | 289 | dummy1 = beat_lpar_hpte_getword0(slot); |
@@ -314,7 +314,7 @@ void __init hpte_init_beat(void) | |||
314 | static long beat_lpar_hpte_insert_v3(unsigned long hpte_group, | 314 | static long beat_lpar_hpte_insert_v3(unsigned long hpte_group, |
315 | unsigned long vpn, unsigned long pa, | 315 | unsigned long vpn, unsigned long pa, |
316 | unsigned long rflags, unsigned long vflags, | 316 | unsigned long rflags, unsigned long vflags, |
317 | int psize, int ssize) | 317 | int psize, int apsize, int ssize) |
318 | { | 318 | { |
319 | unsigned long lpar_rc; | 319 | unsigned long lpar_rc; |
320 | u64 hpte_v, hpte_r, slot; | 320 | u64 hpte_v, hpte_r, slot; |
@@ -327,9 +327,9 @@ static long beat_lpar_hpte_insert_v3(unsigned long hpte_group, | |||
327 | "rflags=%lx, vflags=%lx, psize=%d)\n", | 327 | "rflags=%lx, vflags=%lx, psize=%d)\n", |
328 | hpte_group, vpn, pa, rflags, vflags, psize); | 328 | hpte_group, vpn, pa, rflags, vflags, psize); |
329 | 329 | ||
330 | hpte_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M) | | 330 | hpte_v = hpte_encode_v(vpn, psize, apsize, MMU_SEGSIZE_256M) | |
331 | vflags | HPTE_V_VALID; | 331 | vflags | HPTE_V_VALID; |
332 | hpte_r = hpte_encode_r(pa, psize) | rflags; | 332 | hpte_r = hpte_encode_r(pa, psize, apsize) | rflags; |
333 | 333 | ||
334 | if (!(vflags & HPTE_V_BOLTED)) | 334 | if (!(vflags & HPTE_V_BOLTED)) |
335 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); | 335 | DBG_LOW(" hpte_v=%016lx, hpte_r=%016lx\n", hpte_v, hpte_r); |
@@ -372,8 +372,8 @@ static long beat_lpar_hpte_updatepp_v3(unsigned long slot, | |||
372 | unsigned long want_v; | 372 | unsigned long want_v; |
373 | unsigned long pss; | 373 | unsigned long pss; |
374 | 374 | ||
375 | want_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M); | 375 | want_v = hpte_encode_avpn(vpn, psize, MMU_SEGSIZE_256M); |
376 | pss = (psize == MMU_PAGE_4K) ? -1UL : mmu_psize_defs[psize].penc; | 376 | pss = (psize == MMU_PAGE_4K) ? -1UL : mmu_psize_defs[psize].penc[psize]; |
377 | 377 | ||
378 | DBG_LOW(" update: " | 378 | DBG_LOW(" update: " |
379 | "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ", | 379 | "avpnv=%016lx, slot=%016lx, psize: %d, newpp %016lx ... ", |
@@ -402,8 +402,8 @@ static void beat_lpar_hpte_invalidate_v3(unsigned long slot, unsigned long vpn, | |||
402 | 402 | ||
403 | DBG_LOW(" inval : slot=%lx, vpn=%016lx, psize: %d, local: %d\n", | 403 | DBG_LOW(" inval : slot=%lx, vpn=%016lx, psize: %d, local: %d\n", |
404 | slot, vpn, psize, local); | 404 | slot, vpn, psize, local); |
405 | want_v = hpte_encode_v(vpn, psize, MMU_SEGSIZE_256M); | 405 | want_v = hpte_encode_avpn(vpn, psize, MMU_SEGSIZE_256M); |
406 | pss = (psize == MMU_PAGE_4K) ? -1UL : mmu_psize_defs[psize].penc; | 406 | pss = (psize == MMU_PAGE_4K) ? -1UL : mmu_psize_defs[psize].penc[psize]; |
407 | 407 | ||
408 | lpar_rc = beat_invalidate_htab_entry3(0, slot, want_v, pss); | 408 | lpar_rc = beat_invalidate_htab_entry3(0, slot, want_v, pss); |
409 | 409 | ||
diff --git a/arch/powerpc/platforms/cell/pmu.c b/arch/powerpc/platforms/cell/pmu.c index 59c1a1694104..348a27b12512 100644 --- a/arch/powerpc/platforms/cell/pmu.c +++ b/arch/powerpc/platforms/cell/pmu.c | |||
@@ -382,7 +382,7 @@ static int __init cbe_init_pm_irq(void) | |||
382 | unsigned int irq; | 382 | unsigned int irq; |
383 | int rc, node; | 383 | int rc, node; |
384 | 384 | ||
385 | for_each_node(node) { | 385 | for_each_online_node(node) { |
386 | irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI | | 386 | irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI | |
387 | (node << IIC_IRQ_NODE_SHIFT)); | 387 | (node << IIC_IRQ_NODE_SHIFT)); |
388 | if (irq == NO_IRQ) { | 388 | if (irq == NO_IRQ) { |
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index d43d2d0b90e3..90986923a53a 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c | |||
@@ -351,7 +351,7 @@ static unsigned long spufs_get_unmapped_area(struct file *file, | |||
351 | 351 | ||
352 | /* Else, try to obtain a 64K pages slice */ | 352 | /* Else, try to obtain a 64K pages slice */ |
353 | return slice_get_unmapped_area(addr, len, flags, | 353 | return slice_get_unmapped_area(addr, len, flags, |
354 | MMU_PAGE_64K, 1, 0); | 354 | MMU_PAGE_64K, 1); |
355 | } | 355 | } |
356 | #endif /* CONFIG_SPU_FS_64K_LS */ | 356 | #endif /* CONFIG_SPU_FS_64K_LS */ |
357 | 357 | ||
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 3f3bb4cdbbec..35f77a42bedf 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
@@ -99,6 +99,7 @@ spufs_new_inode(struct super_block *sb, umode_t mode) | |||
99 | if (!inode) | 99 | if (!inode) |
100 | goto out; | 100 | goto out; |
101 | 101 | ||
102 | inode->i_ino = get_next_ino(); | ||
102 | inode->i_mode = mode; | 103 | inode->i_mode = mode; |
103 | inode->i_uid = current_fsuid(); | 104 | inode->i_uid = current_fsuid(); |
104 | inode->i_gid = current_fsgid(); | 105 | inode->i_gid = current_fsgid(); |