rpms/kernel/F-8 linux-2.6-ps3-ehci-iso.patch, 1.2, 1.3 kernel.spec, 1.251, 1.252
David Woodhouse (dwmw2)
fedora-extras-commits at redhat.com
Sat Nov 3 16:58:01 UTC 2007
Author: dwmw2
Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv12369
Modified Files:
kernel.spec
Added Files:
linux-2.6-ps3-ehci-iso.patch
Log Message:
fix ps3 reboot
linux-2.6-ps3-ehci-iso.patch:
Index: linux-2.6-ps3-ehci-iso.patch
===================================================================
RCS file: linux-2.6-ps3-ehci-iso.patch
diff -N linux-2.6-ps3-ehci-iso.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ linux-2.6-ps3-ehci-iso.patch 3 Nov 2007 16:57:53 -0000 1.3
@@ -0,0 +1,80 @@
+From: Masashi Kimoto <Masashi_Kimoto at hq.scei.sony.co.jp>
+
+When we use Linux git tree on PS3 we face a error msg from
+ps3-ehci-driver,
+ ps3-ehci-driver sb_04: port 1 resume error -19
+ hub 2-0:1.0: hub_port_status failed (err = -32)
+ ...
+Built-in Bluetooth uses a USB isochronous and causes this error.
+
+USB host controller refers TD after echi driver modify it's Periodic Frame
+List.
+Because of this, NULLed TD is asscessed and causes USB error.
+
+In this patch the driver holds the TD while host controller refers the
+list after Active bit=0.
+
+From: Masashi Kimoto <Masashi_Kimoto at hq.scei.sony.co.jp>
+Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
+
+---
+ drivers/usb/host/ehci-sched.c | 30 ++++++++++++++++++++++++++++++
+ 1 files changed, 30 insertions(+)
+
+--- a/drivers/usb/host/ehci-sched.c
++++ b/drivers/usb/host/ehci-sched.c
+@@ -21,6 +21,10 @@
+
+ /*-------------------------------------------------------------------------*/
+
++#ifdef CONFIG_PPC_PS3
++#include <asm/firmware.h>
++#endif
++
+ /*
+ * EHCI scheduled transaction support: interrupt, iso, split iso
+ * These are called "periodic" transactions in the EHCI spec.
+@@ -1302,8 +1306,21 @@ itd_urb_transaction (
+ if (likely (!list_empty(&stream->free_list))) {
+ itd = list_entry (stream->free_list.prev,
+ struct ehci_itd, itd_list);
++#ifdef CONFIG_PPC_PS3
++ /* Fix for Cell SCC ISO transfer (PS3 Bluetooth). */
++ if (firmware_has_feature(FW_FEATURE_PS3_LV1)
++ && itd->frame == ((ehci_readl(ehci,
++ &ehci->regs->frame_index) >> 3)
++ % ehci->periodic_size))
++ itd = NULL;
++ else {
++ list_del (&itd->itd_list);
++ itd_dma = itd->itd_dma;
++ }
++#else
+ list_del (&itd->itd_list);
+ itd_dma = itd->itd_dma;
++#endif
+ } else
+ itd = NULL;
+
+@@ -1922,8 +1939,21 @@ sitd_urb_transaction (
+ if (!list_empty(&stream->free_list)) {
+ sitd = list_entry (stream->free_list.prev,
+ struct ehci_sitd, sitd_list);
++#ifdef CONFIG_PPC_PS3
++ /* Fix for Cell SCC ISO transfer (PS3 Bluetooth). */
++ if (firmware_has_feature(FW_FEATURE_PS3_LV1)
++ && sitd->frame == ((ehci_readl(ehci,
++ &ehci->regs->frame_index) >> 3)
++ % ehci->periodic_size))
++ sitd = NULL;
++ else {
++ list_del (&sitd->sitd_list);
++ sitd_dma = sitd->sitd_dma;
++ }
++#else
+ list_del (&sitd->sitd_list);
+ sitd_dma = sitd->sitd_dma;
++#endif
+ } else
+ sitd = NULL;
+
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.251
retrieving revision 1.252
diff -u -r1.251 -r1.252
--- kernel.spec 30 Oct 2007 16:48:32 -0000 1.251
+++ kernel.spec 3 Nov 2007 16:57:53 -0000 1.252
@@ -677,7 +677,7 @@
Patch1107: linux-2.6-x86_64-vdso-install-unstripped-copies-on-disk.patch
Patch1108: linux-2.6-pass-g-to-assembler-under-config_debug_info.patch
Patch1109: linux-2.6-powerpc-lparmap-g.patch
-Patch1200: linux-2.6-ps3-gelic-wireless.patch
+Patch1200: linux-2.6-ps3-ehci-iso.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
@@ -1071,8 +1071,7 @@
# Move pmac_zilog to its newly-registered device number
ApplyPatch linux-2.6-pmac-zilog.patch
# PlayStation support
-# Disable wireless (#343901)
-#ApplyPatch linux-2.6-ps3-gelic-wireless.patch
+ApplyPatch linux-2.6-ps3-ehci-iso.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
@@ -1890,6 +1889,9 @@
%changelog
+* Sat Nov 3 2007 David Woodhouse <dwmw2 at redhat.com>
+- Apply PS3 EHCI workaround to make rebooting work when hci_usb is loaded
+
* Tue Oct 30 2007 Dave Jones <davej at redhat.com>
- Disable PCI MMCONFIG by default. (Boot with pci=msi if you need it)
Works around bz 329241 amongst others.
More information about the fedora-extras-commits
mailing list