Re: [Cbe-oss-dev] [patch 1/5] spu_manage: use newer physical-id
From: Christian Krafft <hidden>
Date: 2007-08-28 14:21:04
Also in:
lkml
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