Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 42263
b: refs/heads/master
c: 17f88ce
h: refs/heads/master
i:
  42261: 9154777
  42259: 998c9c6
  42255: ff940eb
v: v3
  • Loading branch information
Dwayne Grant McConnell authored and Paul Mackerras committed Dec 4, 2006
1 parent 3a2db8e commit 2768333
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 69a2f00ce5d3a19a70b36f08eaf9049677277710
refs/heads/master: 17f88cebc2c3aff9d90f0d49f6e0628835eddc32
30 changes: 22 additions & 8 deletions trunk/arch/powerpc/platforms/cell/spufs/file.c
Original file line number Diff line number Diff line change
Expand Up @@ -723,19 +723,27 @@ static ssize_t spufs_signal1_read(struct file *file, char __user *buf,
size_t len, loff_t *pos)
{
struct spu_context *ctx = file->private_data;
int ret = 0;
u32 data;

if (len < 4)
return -EINVAL;

spu_acquire(ctx);
data = ctx->ops->signal1_read(ctx);
spu_acquire_saved(ctx);
if (ctx->csa.spu_chnlcnt_RW[3]) {
data = ctx->csa.spu_chnldata_RW[3];
ret = 4;
}
spu_release(ctx);

if (!ret)
goto out;

if (copy_to_user(buf, &data, 4))
return -EFAULT;

return 4;
out:
return ret;
}

static ssize_t spufs_signal1_write(struct file *file, const char __user *buf,
Expand Down Expand Up @@ -811,21 +819,27 @@ static int spufs_signal2_open(struct inode *inode, struct file *file)
static ssize_t spufs_signal2_read(struct file *file, char __user *buf,
size_t len, loff_t *pos)
{
struct spu_context *ctx;
struct spu_context *ctx = file->private_data;
int ret = 0;
u32 data;

ctx = file->private_data;

if (len < 4)
return -EINVAL;

spu_acquire(ctx);
data = ctx->ops->signal2_read(ctx);
spu_acquire_saved(ctx);
if (ctx->csa.spu_chnlcnt_RW[4]) {
data = ctx->csa.spu_chnldata_RW[4];
ret = 4;
}
spu_release(ctx);

if (!ret)
goto out;

if (copy_to_user(buf, &data, 4))
return -EFAULT;

out:
return 4;
}

Expand Down
12 changes: 0 additions & 12 deletions trunk/arch/powerpc/platforms/cell/spufs/hw_ops.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,21 +135,11 @@ static int spu_hw_wbox_write(struct spu_context *ctx, u32 data)
return ret;
}

static u32 spu_hw_signal1_read(struct spu_context *ctx)
{
return in_be32(&ctx->spu->problem->signal_notify1);
}

static void spu_hw_signal1_write(struct spu_context *ctx, u32 data)
{
out_be32(&ctx->spu->problem->signal_notify1, data);
}

static u32 spu_hw_signal2_read(struct spu_context *ctx)
{
return in_be32(&ctx->spu->problem->signal_notify2);
}

static void spu_hw_signal2_write(struct spu_context *ctx, u32 data)
{
out_be32(&ctx->spu->problem->signal_notify2, data);
Expand Down Expand Up @@ -294,9 +284,7 @@ struct spu_context_ops spu_hw_ops = {
.mbox_stat_poll = spu_hw_mbox_stat_poll,
.ibox_read = spu_hw_ibox_read,
.wbox_write = spu_hw_wbox_write,
.signal1_read = spu_hw_signal1_read,
.signal1_write = spu_hw_signal1_write,
.signal2_read = spu_hw_signal2_read,
.signal2_write = spu_hw_signal2_write,
.signal1_type_set = spu_hw_signal1_type_set,
.signal1_type_get = spu_hw_signal1_type_get,
Expand Down

0 comments on commit 2768333

Please sign in to comment.