]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs
authorPaul Mackerras <paulus@samba.org>
Fri, 18 Apr 2008 03:33:43 +0000 (13:33 +1000)
committerPaul Mackerras <paulus@samba.org>
Fri, 18 Apr 2008 03:33:43 +0000 (13:33 +1000)
arch/powerpc/platforms/cell/spufs/coredump.c
arch/powerpc/platforms/cell/spufs/file.c
arch/powerpc/platforms/cell/spufs/run.c
arch/powerpc/platforms/cell/spufs/switch.c

index 0c6a96b82b2db9d22bfcd49c0e5df08a182e15f4..b962c3ab470cbe01f2f5a5d6e510866bd8a60e5a 100644 (file)
@@ -133,8 +133,6 @@ static struct spu_context *coredump_next_context(int *fd)
                if (ctx->flags & SPU_CREATE_NOSCHED)
                        continue;
 
-               /* start searching the next fd next time we're called */
-               (*fd)++;
                break;
        }
 
@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void)
                        break;
 
                size += rc;
+
+               /* start searching the next fd next time */
+               fd++;
        }
 
        return size;
@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(struct file *file, loff_t *foffset)
                }
 
                spu_release_saved(ctx);
+
+               /* start searching the next fd next time */
+               fd++;
        }
 
        return 0;
index f14d3a0a861598e1834a5c50108b431cbdc076bb..ba791e931bd645f427cc108c8628be0ee00949a5 100644 (file)
@@ -1337,7 +1337,7 @@ static u64 spufs_signal1_type_get(struct spu_context *ctx)
        return ctx->ops->signal1_type_get(ctx);
 }
 DEFINE_SPUFS_ATTRIBUTE(spufs_signal1_type, spufs_signal1_type_get,
-                      spufs_signal1_type_set, "%llu", SPU_ATTR_ACQUIRE);
+                      spufs_signal1_type_set, "%llu\n", SPU_ATTR_ACQUIRE);
 
 
 static int spufs_signal2_type_set(void *data, u64 val)
@@ -1359,7 +1359,7 @@ static u64 spufs_signal2_type_get(struct spu_context *ctx)
        return ctx->ops->signal2_type_get(ctx);
 }
 DEFINE_SPUFS_ATTRIBUTE(spufs_signal2_type, spufs_signal2_type_get,
-                      spufs_signal2_type_set, "%llu", SPU_ATTR_ACQUIRE);
+                      spufs_signal2_type_set, "%llu\n", SPU_ATTR_ACQUIRE);
 
 #if SPUFS_MMAP_4K
 static unsigned long spufs_mss_mmap_nopfn(struct vm_area_struct *vma,
index 5986d08115afb0da9bb97659352deba51f177cfc..96bf7c2b86fcf61ca6d241e9d222853ed7ba883b 100644 (file)
@@ -323,6 +323,10 @@ static int spu_process_callback(struct spu_context *ctx)
                        return -EINTR;
        }
 
+       /* need to re-get the ls, as it may have changed when we released the
+        * spu */
+       ls = (void __iomem *)ctx->ops->get_ls(ctx);
+
        /* write result, jump over indirect pointer */
        memcpy_toio(ls + ls_pointer, &spu_ret, sizeof(spu_ret));
        ctx->ops->npc_write(ctx, npc);
index e9dc7a55d1b9466d5f5e5597371a79789b46ed30..d2a1249d36dd2a7bc018727e09c3b7c57b88cf1c 100644 (file)
@@ -1815,6 +1815,7 @@ static void save_csa(struct spu_state *prev, struct spu *spu)
        save_mfc_csr_ato(prev, spu);    /* Step 24. */
        save_mfc_tclass_id(prev, spu);  /* Step 25. */
        set_mfc_tclass_id(prev, spu);   /* Step 26. */
+       save_mfc_cmd(prev, spu);        /* Step 26a - moved from 44. */
        purge_mfc_queue(prev, spu);     /* Step 27. */
        wait_purge_complete(prev, spu); /* Step 28. */
        setup_mfc_sr1(prev, spu);       /* Step 30. */
@@ -1831,7 +1832,6 @@ static void save_csa(struct spu_state *prev, struct spu *spu)
        save_ppuint_mb(prev, spu);      /* Step 41. */
        save_ch_part1(prev, spu);       /* Step 42. */
        save_spu_mb(prev, spu);         /* Step 43. */
-       save_mfc_cmd(prev, spu);        /* Step 44. */
        reset_ch(prev, spu);            /* Step 45. */
 }