Re: [Cbe-oss-dev] [patch 1/5] spu_manage: use newer physical-id

From: Christian Krafft
Date: Tue Aug 28 2007 - 10:21:05 EST


On Thu, 23 Aug 2007 18:12:19 +0200
Arnd Bergmann <arnd@xxxxxxxx> wrote:

> On Thursday 23 August 2007, kou.ishizaki@xxxxxxxxxxxxx wrote:
> > 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 <krafft@xxxxxxxxxx>

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 <krafft@xxxxxxxxxx>

Index: linux/arch/powerpc/platforms/cell/spu_manage.c
===================================================================
--- 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 = of_get_property(spe, "physical-id", &proplen);
if (proplen == 4)
return (u64)*prop;

+ /* celleb device tree provides the unit-id */
+ prop = of_get_property(spe, "unit-id", &proplen);
+ if (proplen == 4)
+ return (u64)*prop;
+
+ /* legacy device trees provide the id in the reg attribute */
prop = of_get_property(spe, "reg", &proplen);
if (proplen == 4)
return (u64)*prop;


--
Mit freundlichen Grüssen,
kind regards,

Christian Krafft
IBM Systems & Technology Group,
Linux Kernel Development
IT Specialist
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/