public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] cell fixes 2.6.19
@ 2006-10-24 16:01 Arnd Bergmann
  2006-10-24 16:01 ` [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read Arnd Bergmann
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 16:01 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev, cbe-oss-dev, linux-kernel

A few small updates that I'd like to see get into 2.6.19.
tested against the powerpc.git merge branch.

Please apply,

	Arnd <><
--


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read
  2006-10-24 16:01 [PATCH 0/3] cell fixes 2.6.19 Arnd Bergmann
@ 2006-10-24 16:01 ` Arnd Bergmann
  2006-10-24 18:42   ` Pekka Enberg
  2006-10-24 16:01 ` [PATCH 3/3] cell: update defconfig Arnd Bergmann
  2006-10-24 16:27 ` [PATCH 1/3] spufs: fix signal2 file to report signal2 Arnd Bergmann
  2 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 16:01 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev, cbe-oss-dev, linux-kernel, Arnd Bergmann

[-- Attachment #1: spufs-mbox-fix-fix.diff --]
[-- Type: text/plain, Size: 664 bytes --]

Next try, the previous one did not do what I expected.

Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>

Index: linux-2.6/arch/powerpc/platforms/cell/spufs/file.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/spufs/file.c
+++ linux-2.6/arch/powerpc/platforms/cell/spufs/file.c
@@ -385,7 +385,7 @@ static ssize_t spufs_mbox_read(struct fi
 	udata = (void __user *)buf;
 
 	spu_acquire(ctx);
-	for (count = 0; count <= len; count += 4, udata++) {
+	for (count = 0; (count + 4) <= len; count += 4, udata++) {
 		int ret;
 		ret = ctx->ops->mbox_read(ctx, &mbox_data);
 		if (ret == 0)

--


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 3/3] cell: update defconfig
  2006-10-24 16:01 [PATCH 0/3] cell fixes 2.6.19 Arnd Bergmann
  2006-10-24 16:01 ` [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read Arnd Bergmann
@ 2006-10-24 16:01 ` Arnd Bergmann
  2006-10-24 16:27 ` [PATCH 1/3] spufs: fix signal2 file to report signal2 Arnd Bergmann
  2 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 16:01 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: linuxppc-dev, cbe-oss-dev, linux-kernel, Arnd Bergmann

[-- Attachment #1: cell-defconfig.diff --]
[-- Type: text/plain, Size: 2264 bytes --]

===================================================================
--- linux-2.6.orig/arch/powerpc/configs/cell_defconfig
+++ linux-2.6/arch/powerpc/configs/cell_defconfig
@@ -254,6 +254,7 @@ CONFIG_SYN_COOKIES=y
 CONFIG_INET_TUNNEL=y
 CONFIG_INET_XFRM_MODE_TRANSPORT=y
 CONFIG_INET_XFRM_MODE_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_BEET is not set
 CONFIG_INET_DIAG=y
 CONFIG_INET_TCP_DIAG=y
 # CONFIG_TCP_CONG_ADVANCED is not set
@@ -275,7 +276,9 @@ CONFIG_INET6_XFRM_TUNNEL=m
 CONFIG_INET6_TUNNEL=m
 CONFIG_INET6_XFRM_MODE_TRANSPORT=y
 CONFIG_INET6_XFRM_MODE_TUNNEL=y
+# CONFIG_INET6_XFRM_MODE_BEET is not set
 # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+# CONFIG_IPV6_SIT is not set
 CONFIG_IPV6_TUNNEL=m
 # CONFIG_IPV6_SUBTREES is not set
 # CONFIG_IPV6_MULTIPLE_TABLES is not set
@@ -406,6 +409,12 @@ CONFIG_BLK_DEV_INITRD=y
 # CONFIG_ATA_OVER_ETH is not set
 
 #
+# Misc devices
+#
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+
+#
 # ATA/ATAPI/MFM/RLL support
 #
 CONFIG_IDE=y
@@ -738,7 +747,6 @@ CONFIG_GEN_RTC=y
 # TPM devices
 #
 # CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
 
 #
 # I2C support
@@ -802,6 +810,7 @@ CONFIG_I2C_ALGOBIT=y
 #
 # Dallas's 1-wire bus
 #
+# CONFIG_W1 is not set
 
 #
 # Hardware Monitoring support
@@ -810,14 +819,9 @@ CONFIG_I2C_ALGOBIT=y
 # CONFIG_HWMON_VID is not set
 
 #
-# Misc devices
-#
-
-#
 # Multimedia devices
 #
 # CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
 
 #
 # Digital Video Broadcasting Devices
@@ -923,6 +927,7 @@ CONFIG_EXT3_FS=y
 CONFIG_EXT3_FS_XATTR=y
 # CONFIG_EXT3_FS_POSIX_ACL is not set
 # CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
 CONFIG_JBD=y
 # CONFIG_JBD_DEBUG is not set
 CONFIG_FS_MBCACHE=y
@@ -930,6 +935,7 @@ CONFIG_FS_MBCACHE=y
 # CONFIG_JFS_FS is not set
 CONFIG_FS_POSIX_ACL=y
 # CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_ROMFS_FS is not set
@@ -1129,6 +1135,7 @@ CONFIG_DEBUG_FS=y
 # CONFIG_DEBUG_VM is not set
 # CONFIG_DEBUG_LIST is not set
 # CONFIG_FORCED_INLINING is not set
+# CONFIG_HEADERS_CHECK is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 # CONFIG_DEBUG_STACKOVERFLOW is not set
 # CONFIG_DEBUG_STACK_USAGE is not set

--


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] spufs: fix signal2 file to report signal2
  2006-10-24 16:01 [PATCH 0/3] cell fixes 2.6.19 Arnd Bergmann
  2006-10-24 16:01 ` [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read Arnd Bergmann
  2006-10-24 16:01 ` [PATCH 3/3] cell: update defconfig Arnd Bergmann
@ 2006-10-24 16:27 ` Arnd Bergmann
  2 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 16:27 UTC (permalink / raw)
  To: Paul Mackerras
  Cc: linuxppc-dev, cbe-oss-dev, linux-kernel, Dwayne Grant Mcconnell,
	Arnd Bergmann

From: Dwayne Grant Mcconnell <decimal@us.ibm.com>

Here is a simple patch that fixes the /signal2 file to actually give
signal2 data.

Signed-off-by: Dwayne Grant Mcconnell <decimal@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>

Index: linux-2.6/arch/powerpc/platforms/cell/spufs/hw_ops.c
===================================================================
--- linux-2.6.orig/arch/powerpc/platforms/cell/spufs/hw_ops.c
+++ linux-2.6/arch/powerpc/platforms/cell/spufs/hw_ops.c
@@ -147,7 +147,7 @@ static void spu_hw_signal1_write(struct 
 
 static u32 spu_hw_signal2_read(struct spu_context *ctx)
 {
-	return in_be32(&ctx->spu->problem->signal_notify1);
+	return in_be32(&ctx->spu->problem->signal_notify2);
 }
 
 static void spu_hw_signal2_write(struct spu_context *ctx, u32 data)

--


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read
  2006-10-24 16:01 ` [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read Arnd Bergmann
@ 2006-10-24 18:42   ` Pekka Enberg
  2006-10-24 19:07     ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Pekka Enberg @ 2006-10-24 18:42 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Paul Mackerras, linuxppc-dev, cbe-oss-dev, linux-kernel,
	Arnd Bergmann

Hi Arnd,

On 10/24/06, Arnd Bergmann <arnd@arndb.de> wrote:
>         spu_acquire(ctx);
> -       for (count = 0; count <= len; count += 4, udata++) {
> +       for (count = 0; (count + 4) <= len; count += 4, udata++) {

Wouldn't this be more obvious as

  for (count = 0, count < (len / 4); count++, udata++) {

And then do count * 4 if you need the actual index somewhere. Hmm?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read
  2006-10-24 18:42   ` Pekka Enberg
@ 2006-10-24 19:07     ` Arnd Bergmann
  2006-10-24 19:53       ` Will Schmidt
  0 siblings, 1 reply; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 19:07 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Paul Mackerras, linuxppc-dev, cbe-oss-dev, linux-kernel,
	Arnd Bergmann

On Tuesday 24 October 2006 20:42, Pekka Enberg wrote:
> On 10/24/06, Arnd Bergmann <arnd@arndb.de> wrote:
> >         spu_acquire(ctx);
> > -       for (count = 0; count <= len; count += 4, udata++) {
> > +       for (count = 0; (count + 4) <= len; count += 4, udata++) {
>
> Wouldn't this be more obvious as
>
>   for (count = 0, count < (len / 4); count++, udata++) {
>
> And then do count * 4 if you need the actual index somewhere. Hmm?

Count is the return value from a write() file operation. I find it
more readable to update that every time I do one put_user(), to
the exact value, than calculating the return code later.

	Arnd <>< 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read
  2006-10-24 19:07     ` Arnd Bergmann
@ 2006-10-24 19:53       ` Will Schmidt
  2006-10-24 19:58         ` Arnd Bergmann
  0 siblings, 1 reply; 8+ messages in thread
From: Will Schmidt @ 2006-10-24 19:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Pekka Enberg, linuxppc-dev, Paul Mackerras, cbe-oss-dev,
	linux-kernel

On Tue, 2006-24-10 at 21:07 +0200, Arnd Bergmann wrote:
> On Tuesday 24 October 2006 20:42, Pekka Enberg wrote:
> > On 10/24/06, Arnd Bergmann <arnd@arndb.de> wrote:
> > >         spu_acquire(ctx);
> > > -       for (count = 0; count <= len; count += 4, udata++) {
> > > +       for (count = 0; (count + 4) <= len; count += 4, udata++) {
> >
> > Wouldn't this be more obvious as
> >
> >   for (count = 0, count < (len / 4); count++, udata++) {
> >
> > And then do count * 4 if you need the actual index somewhere. Hmm?
> 
> Count is the return value from a write() file operation. I find it
> more readable to update that every time I do one put_user(), to
> the exact value, than calculating the return code later.

Hey Arnd, 
   just curiosity..   What was the behavior before this patch?   just
leaving a few (0 - 3) characters behind?


> 
> 	Arnd <>< 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read
  2006-10-24 19:53       ` Will Schmidt
@ 2006-10-24 19:58         ` Arnd Bergmann
  0 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2006-10-24 19:58 UTC (permalink / raw)
  To: will_schmidt
  Cc: Pekka Enberg, linuxppc-dev, Paul Mackerras, cbe-oss-dev,
	linux-kernel

On Tuesday 24 October 2006 21:53, Will Schmidt wrote:
> Hey Arnd,
>    just curiosity..   What was the behavior before this patch?   just
> leaving a few (0 - 3) characters behind?

It transfers more bytes than requested on a read. If you asked for
four bytes, you got eight.

Note: one nasty property of this file in spufs is that you can only
read multiples of four bytes in the first place, there is no way to
atomically put back a few bytes into the hardware register, so reading
less than four bytes returns -EINVAL. Asking for more than four
should return the largest possible multiple of four.

	Arnd <><

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2006-10-24 19:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-24 16:01 [PATCH 0/3] cell fixes 2.6.19 Arnd Bergmann
2006-10-24 16:01 ` [PATCH 2/3] spufs: fix another off-by-one bug in mbox_read Arnd Bergmann
2006-10-24 18:42   ` Pekka Enberg
2006-10-24 19:07     ` Arnd Bergmann
2006-10-24 19:53       ` Will Schmidt
2006-10-24 19:58         ` Arnd Bergmann
2006-10-24 16:01 ` [PATCH 3/3] cell: update defconfig Arnd Bergmann
2006-10-24 16:27 ` [PATCH 1/3] spufs: fix signal2 file to report signal2 Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox