Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / arch / powerpc / platforms / cell / spufs / file.c
index 58e794f..366185e 100644 (file)
@@ -204,7 +204,7 @@ static int spufs_cntl_mmap(struct file *file, struct vm_area_struct *vma)
 
        vma->vm_flags |= VM_RESERVED;
        vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                    | _PAGE_NO_CACHE | _PAGE_GUARDED);
+                                    | _PAGE_NO_CACHE);
 
        vma->vm_ops = &spufs_cntl_mmap_vmops;
        return 0;
@@ -675,7 +675,7 @@ static int spufs_signal1_mmap(struct file *file, struct vm_area_struct *vma)
 
        vma->vm_flags |= VM_RESERVED;
        vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                    | _PAGE_NO_CACHE | _PAGE_GUARDED);
+                                    | _PAGE_NO_CACHE);
 
        vma->vm_ops = &spufs_signal1_mmap_vmops;
        return 0;
@@ -762,7 +762,7 @@ static int spufs_signal2_mmap(struct file *file, struct vm_area_struct *vma)
        /* FIXME: */
        vma->vm_flags |= VM_RESERVED;
        vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                    | _PAGE_NO_CACHE | _PAGE_GUARDED);
+                                    | _PAGE_NO_CACHE);
 
        vma->vm_ops = &spufs_signal2_mmap_vmops;
        return 0;
@@ -824,55 +824,6 @@ static u64 spufs_signal2_type_get(void *data)
 DEFINE_SIMPLE_ATTRIBUTE(spufs_signal2_type, spufs_signal2_type_get,
                                        spufs_signal2_type_set, "%llu");
 
-#ifdef CONFIG_SPUFS_MMAP
-static struct page *spufs_mss_mmap_nopage(struct vm_area_struct *vma,
-                                          unsigned long address, int *type)
-{
-       return spufs_ps_nopage(vma, address, type, 0x0000);
-}
-
-static struct vm_operations_struct spufs_mss_mmap_vmops = {
-       .nopage = spufs_mss_mmap_nopage,
-};
-
-/*
- * mmap support for problem state MFC DMA area [0x0000 - 0x0fff].
- * Mapping this area requires that the application have CAP_SYS_RAWIO,
- * as these registers require special care when read/writing.
- */
-static int spufs_mss_mmap(struct file *file, struct vm_area_struct *vma)
-{
-       if (!(vma->vm_flags & VM_SHARED))
-               return -EINVAL;
-
-       if (!capable(CAP_SYS_RAWIO))
-               return -EPERM;
-
-       vma->vm_flags |= VM_RESERVED;
-       vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                    | _PAGE_NO_CACHE | _PAGE_GUARDED);
-
-       vma->vm_ops = &spufs_mss_mmap_vmops;
-       return 0;
-}
-#endif
-
-static int spufs_mss_open(struct inode *inode, struct file *file)
-{
-       struct spufs_inode_info *i = SPUFS_I(inode);
-
-       file->private_data = i->i_ctx;
-       return nonseekable_open(inode, file);
-}
-
-static struct file_operations spufs_mss_fops = {
-       .open    = spufs_mss_open,
-#ifdef CONFIG_SPUFS_MMAP
-       .mmap    = spufs_mss_mmap,
-#endif
-};
-
-
 #ifdef CONFIG_SPUFS_MMAP
 static struct page *spufs_mfc_mmap_nopage(struct vm_area_struct *vma,
                                           unsigned long address, int *type)
@@ -899,7 +850,7 @@ static int spufs_mfc_mmap(struct file *file, struct vm_area_struct *vma)
 
        vma->vm_flags |= VM_RESERVED;
        vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-                                    | _PAGE_NO_CACHE | _PAGE_GUARDED);
+                                    | _PAGE_NO_CACHE);
 
        vma->vm_ops = &spufs_mfc_mmap_vmops;
        return 0;
@@ -1150,7 +1101,7 @@ static unsigned int spufs_mfc_poll(struct file *file,poll_table *wait)
        return mask;
 }
 
-static int spufs_mfc_flush(struct file *file, fl_owner_t id)
+static int spufs_mfc_flush(struct file *file)
 {
        struct spu_context *ctx = file->private_data;
        int ret;
@@ -1176,7 +1127,7 @@ out:
 static int spufs_mfc_fsync(struct file *file, struct dentry *dentry,
                           int datasync)
 {
-       return spufs_mfc_flush(file, NULL);
+       return spufs_mfc_flush(file);
 }
 
 static int spufs_mfc_fasync(int fd, struct file *file, int on)
@@ -1328,22 +1279,6 @@ static u64 spufs_srr0_get(void *data)
 DEFINE_SIMPLE_ATTRIBUTE(spufs_srr0_ops, spufs_srr0_get, spufs_srr0_set,
                        "%llx\n")
 
-static u64 spufs_id_get(void *data)
-{
-       struct spu_context *ctx = data;
-       u64 num;
-
-       spu_acquire(ctx);
-       if (ctx->state == SPU_STATE_RUNNABLE)
-               num = ctx->spu->number;
-       else
-               num = (unsigned int)-1;
-       spu_release(ctx);
-
-       return num;
-}
-DEFINE_SIMPLE_ATTRIBUTE(spufs_id_ops, spufs_id_get, 0, "0x%llx\n")
-
 struct tree_descr spufs_dir_contents[] = {
        { "mem",  &spufs_mem_fops,  0666, },
        { "regs", &spufs_regs_fops,  0666, },
@@ -1357,7 +1292,6 @@ struct tree_descr spufs_dir_contents[] = {
        { "signal2", &spufs_signal2_fops, 0666, },
        { "signal1_type", &spufs_signal1_type, 0666, },
        { "signal2_type", &spufs_signal2_type, 0666, },
-       { "mss", &spufs_mss_fops, 0666, },
        { "mfc", &spufs_mfc_fops, 0666, },
        { "cntl", &spufs_cntl_fops,  0666, },
        { "npc", &spufs_npc_ops, 0666, },
@@ -1367,6 +1301,5 @@ struct tree_descr spufs_dir_contents[] = {
        { "spu_tag_mask", &spufs_spu_tag_mask_ops, 0666, },
        { "event_mask", &spufs_event_mask_ops, 0666, },
        { "srr0", &spufs_srr0_ops, 0666, },
-       { "phys-id", &spufs_id_ops, 0666, },
        {},
 };