rpms/kernel/devel linux-2.6-powerpc-spu-vicinity.patch, NONE, 1.1 kernel.spec, 1.41, 1.42

David Woodhouse (dwmw2) fedora-extras-commits at redhat.com
Tue Jul 31 19:49:14 UTC 2007


Author: dwmw2

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv630

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-powerpc-spu-vicinity.patch 
Log Message:
fix PS3 booting

linux-2.6-powerpc-spu-vicinity.patch:

--- NEW FILE linux-2.6-powerpc-spu-vicinity.patch ---
From: Andre Detsch <adetsch at br.ibm.com>
To: cbe-oss-dev at ozlabs.org
Message-Id: <200707301213.40811.adetsch at br.ibm.com>
Cc: hch at lst.de, Arnd Bergmann <arnd at arndb.de>
Subject: [Cbe-oss-dev] [PATCH] cell: Safer of_has_vicinity routine

Subject: cell: Safer of_has_vicinity routine

From: Andre Detsch <adetsch at br.ibm.com>

This patch changes the way we check for the existence of
vicinity property in spe device nodes.

The new implementation does not depend on having an initialized
cbe_spu_info[0].spus, and checks for presence of vicinity in all
nodes, not only in the first one.

Basically a copy & paste from Arnd's suggestion sent to cbe-oss-dev.

Signed-off-by: Andre Detsch <adetsch at br.ibm.com>

--- linux-2.6.22.ppc64/arch/powerpc/platforms/cell/spu_base.c.orig	2007-07-31 20:44:53.000000000 +0100
+++ linux-2.6.22.ppc64/arch/powerpc/platforms/cell/spu_base.c	2007-07-31 20:47:06.000000000 +0100
@@ -676,10 +676,15 @@ static void init_aff_QS20_harcoded(void)
 
 static int of_has_vicinity(void)
 {
-	struct spu* spu;
+	struct device_node *dn;
 
-	spu = list_entry(cbe_spu_info[0].spus.next, struct spu, cbe_list);
-	return of_find_property(spu_devnode(spu), "vicinity", NULL) != NULL;
+	for_each_node_by_type(dn, "spe") {
+		if (of_find_property(dn, "vicinity", NULL))  {
+			of_node_put(dn);
+			return 1;
+		}
+	}
+	return 0;
 }
 
 static struct spu *aff_devnode_spu(int cbe, struct device_node *dn)


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- kernel.spec	31 Jul 2007 18:25:55 -0000	1.41
+++ kernel.spec	31 Jul 2007 19:48:41 -0000	1.42
@@ -596,6 +596,7 @@
 Patch1200: linux-2.6-ps3-gelic-wireless.patch
 Patch1210: linux-2.6-ps3-storage-alias.patch
 Patch1220: linux-2.6-ps3-legacy-bootloader-hack.patch
+Patch1230: linux-2.6-powerpc-spu-vicinity.patch
 %endif
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root-%{_target_cpu}
@@ -1109,6 +1110,7 @@
 ApplyPatch linux-2.6-ps3-gelic-wireless.patch
 ApplyPatch linux-2.6-ps3-storage-alias.patch
 ApplyPatch linux-2.6-ps3-legacy-bootloader-hack.patch
+ApplyPatch linux-2.6-powerpc-spu-vicinity.patch
 # Suspend through /sys/power/state
 ApplyPatch linux-2.6-powerpc-generic-suspend-1-remove-dead-code.patch
 ApplyPatch linux-2.6-powerpc-generic-suspend-2-remove-adb-sleep-notifier.patch
@@ -2160,6 +2162,9 @@
 %endif
 
 %changelog
+* Tue Jul 31 2007 David Woodhouse <dwmw2 at infradead.org>
+- Fix PS3 booting (spu init breakage)
+
 * Tue Jul 31 2007 Dave Jones <davej at redhat.com>
 - 2.6.23-rc1-git9
 




More information about the scm-commits mailing list