aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/platforms/cell/spufs/file.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c
index 64f8b0a9b9e1..514a1d508035 100644
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
@@ -102,12 +102,16 @@ spufs_mem_mmap_nopage(struct vm_area_struct *vma,
102 102
103 spu_acquire(ctx); 103 spu_acquire(ctx);
104 104
105 if (ctx->state == SPU_STATE_SAVED) 105 if (ctx->state == SPU_STATE_SAVED) {
106 vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
107 & ~(_PAGE_NO_CACHE | _PAGE_GUARDED));
106 page = vmalloc_to_page(ctx->csa.lscsa->ls + offset); 108 page = vmalloc_to_page(ctx->csa.lscsa->ls + offset);
107 else 109 } else {
110 vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
111 | _PAGE_NO_CACHE | _PAGE_GUARDED);
108 page = pfn_to_page((ctx->spu->local_store_phys + offset) 112 page = pfn_to_page((ctx->spu->local_store_phys + offset)
109 >> PAGE_SHIFT); 113 >> PAGE_SHIFT);
110 114 }
111 spu_release(ctx); 115 spu_release(ctx);
112 116
113 if (type) 117 if (type)