On Thursday 23 August 2007, kou.ishizaki@toshiba.co.jp wrote:
Please check "unit-id" if "physical-id" doesn't exist. Because Celleb
uses "unit-id" to provide spe_id.
Ok, I need to discuss this with Christian then, to make sure we get to
a version that works everywhere. Paul, please ignore this patch for now.
I've update the git repository to only have the other four patches.
Arnd <><
On Thu, 23 Aug 2007 18:12:19 +0200
Arnd Bergmann [off-list ref] wrote:
On Thursday 23 August 2007, kou.ishizaki@toshiba.co.jp wrote:
quoted
Please check "unit-id" if "physical-id" doesn't exist. Because Celleb
uses "unit-id" to provide spe_id.
Sorry for the late answer, wasn't on cc
and had to receive all mails of the last 6 month once again :-(
Can you check if the patch below is working with celleb device tree ?
------
Subject: spu_manage: fix spu_unit_number for celleb device tree
From: Christian Krafft <redacted>
New device trees provide "physical-id".
Celleb device tree provide the "unit-id".
Legacy device tree used the reg property for the physical id of an spe.
This patch fixes find_spu_unit_number to look for the spu id in that order.
The length is checked to avoid misinterpretation in case the attributes
unit-id or reg do not contain the id.
Signed-off-by: Christian Krafft <redacted>
Index: linux/arch/powerpc/platforms/cell/spu_manage.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- linux.orig/arch/powerpc/platforms/cell/spu_manage.c
+++ linux/arch/powerpc/platforms/cell/spu_manage.c
@@ -48,10 +48,18 @@ static u64 __init find_spu_unit_number(s
{
const unsigned int *prop;
int proplen;
+
+ /* new device trees should provide the physical-id attribute */
prop =3D of_get_property(spe, "physical-id", &proplen);
if (proplen =3D=3D 4)
return (u64)*prop;=20
+ /* celleb device tree provides the unit-id */
+ prop =3D of_get_property(spe, "unit-id", &proplen);
+ if (proplen =3D=3D 4)
+ return (u64)*prop;
+
+ /* legacy device trees provide the id in the reg attribute */
prop =3D of_get_property(spe, "reg", &proplen);
if (proplen =3D=3D 4)
return (u64)*prop;
--=20
Mit freundlichen Gr=FCssen,
kind regards,
Christian Krafft
IBM Systems & Technology Group,=20
Linux Kernel Development
IT Specialist
Christian Krafft wrote:
On Thu, 23 Aug 2007 18:12:19 +0200
Arnd Bergmann [off-list ref] wrote:
quoted
On Thursday 23 August 2007, kou.ishizaki@toshiba.co.jp wrote:
quoted
Please check "unit-id" if "physical-id" doesn't exist. Because
Celleb
quoted
quoted
uses "unit-id" to provide spe_id.
Sorry for the late answer, wasn't on cc
and had to receive all mails of the last 6 month once again :-(
Can you check if the patch below is working with celleb device tree ?
------
Subject: spu_manage: fix spu_unit_number for celleb device tree
From: Christian Krafft <redacted>
New device trees provide "physical-id".
Celleb device tree provide the "unit-id".
Legacy device tree used the reg property for the physical id of an
spe.
This patch fixes find_spu_unit_number to look for the spu id in that
order.
The length is checked to avoid misinterpretation in case the
attributes
unit-id or reg do not contain the id.
Signed-off-by: Christian Krafft <redacted>
Acked-by: Kou Ishizaki <redacted>
It works good on Celleb, thanks. Please apply it to 2.6.23.
Best regards,
Kou Ishizaki