Revert USB: EHCI cpufreq fix
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8eb891fc809b2300137bcd247025628c06c95a63 Commit: 8eb891fc809b2300137bcd247025628c06c95a63 Parent: 848c4dd5153c7a0de55470ce99a8e13a63b4703f Author: Linus Torvalds [EMAIL PROTECTED] AuthorDate: Mon Aug 20 23:38:44 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Mon Aug 20 23:38:44 2007 -0700 Revert USB: EHCI cpufreq fix This reverts commit 196705c9bbc03540429b0f7cf9ee35c2f928a534. It was reported to cause a regression by Daniel Exner, and Arjan van de Ven points out that we actually already have infrastructure in place for setting limits on acceptable DMA latency that would be the much more correct fix for the problem with some Broadcom EHCI controllers. Fixed up trivial conflicts due to the changes to support big-endian host controller descriptors in drivers/usb/host/{ehci-sched.c,ehci.h}. Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/usb/host/ehci-hcd.c | 67 - drivers/usb/host/ehci-mem.c |3 - drivers/usb/host/ehci-q.c |4 - drivers/usb/host/ehci-sched.c | 127 - drivers/usb/host/ehci.h | 14 - 5 files changed, 0 insertions(+), 215 deletions(-) diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index c4e15ed..35cdba1 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -275,58 +275,6 @@ static void ehci_work(struct ehci_hcd *ehci); /*-*/ -#ifdef CONFIG_CPU_FREQ - -#include linux/cpufreq.h - -static void ehci_cpufreq_pause (struct ehci_hcd *ehci) -{ - unsigned long flags; - - spin_lock_irqsave(ehci-lock, flags); - if (!ehci-cpufreq_changing++) - qh_inactivate_split_intr_qhs(ehci); - spin_unlock_irqrestore(ehci-lock, flags); -} - -static void ehci_cpufreq_unpause (struct ehci_hcd *ehci) -{ - unsigned long flags; - - spin_lock_irqsave(ehci-lock, flags); - if (!--ehci-cpufreq_changing) - qh_reactivate_split_intr_qhs(ehci); - spin_unlock_irqrestore(ehci-lock, flags); -} - -/* - * ehci_cpufreq_notifier is needed to avoid MMF errors that occur when - * EHCI controllers that don't cache many uframes get delayed trying to - * read main memory during CPU frequency transitions. This can cause - * split interrupt transactions to not be completed in the required uframe. - * This has been observed on the Broadcom/ServerWorks HT1000 controller. - */ -static int ehci_cpufreq_notifier(struct notifier_block *nb, unsigned long val, -void *data) -{ - struct ehci_hcd *ehci = container_of(nb, struct ehci_hcd, -cpufreq_transition); - - switch (val) { - case CPUFREQ_PRECHANGE: - ehci_cpufreq_pause(ehci); - break; - case CPUFREQ_POSTCHANGE: - ehci_cpufreq_unpause(ehci); - break; - } - return 0; -} - -#endif - -/*-*/ - static void ehci_watchdog (unsigned long param) { struct ehci_hcd *ehci = (struct ehci_hcd *) param; @@ -460,10 +408,6 @@ static void ehci_stop (struct usb_hcd *hcd) ehci_writel(ehci, 0, ehci-regs-intr_enable); spin_unlock_irq(ehci-lock); -#ifdef CONFIG_CPU_FREQ - cpufreq_unregister_notifier(ehci-cpufreq_transition, - CPUFREQ_TRANSITION_NOTIFIER); -#endif /* let companion controllers work when we aren't */ ehci_writel(ehci, 0, ehci-regs-configured_flag); @@ -569,17 +513,6 @@ static int ehci_init(struct usb_hcd *hcd) } ehci-command = temp; -#ifdef CONFIG_CPU_FREQ - INIT_LIST_HEAD(ehci-split_intr_qhs); - /* -* If the EHCI controller caches enough uframes, this probably -* isn't needed unless there are so many low/full speed devices -* that the controller's can't cache it all. -*/ - ehci-cpufreq_transition.notifier_call = ehci_cpufreq_notifier; - cpufreq_register_notifier(ehci-cpufreq_transition, - CPUFREQ_TRANSITION_NOTIFIER); -#endif return 0; } diff --git a/drivers/usb/host/ehci-mem.c b/drivers/usb/host/ehci-mem.c index 8816d09..0431397 100644 --- a/drivers/usb/host/ehci-mem.c +++ b/drivers/usb/host/ehci-mem.c @@ -94,9 +94,6 @@ static struct ehci_qh *ehci_qh_alloc (struct ehci_hcd *ehci, gfp_t flags) qh-qh_dma = dma; // INIT_LIST_HEAD (qh-qh_list); INIT_LIST_HEAD (qh-qtd_list); -#ifdef CONFIG_CPU_FREQ - INIT_LIST_HEAD (qh-split_intr_qhs); -#endif /* dummy td enables safe urb queuing */ qh-dummy = ehci_qtd_alloc (ehci, flags); diff --git
sky2: don't clear phy power bits
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f350339cbd0e8ed7751f98f0ef60cb3a0d410eda Commit: f350339cbd0e8ed7751f98f0ef60cb3a0d410eda Parent: d6c59c13c070cb9d043edf38b4639fdacdb0c18c Author: Stephen Hemminger [EMAIL PROTECTED] AuthorDate: Tue Aug 21 11:10:22 2007 -0700 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Aug 21 11:22:17 2007 -0700 sky2: don't clear phy power bits There are special PHY settings available on Yukon EC-U chip that should not get cleared. This should solve mysterious errors on some motherboards (like Gigabyte DS-3). Signed-off-by: Stephen Hemminger [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/net/sky2.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index e7a2ead..7575924 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -696,8 +696,8 @@ static void sky2_mac_init(struct sky2_hw *hw, unsigned port) int i; const u8 *addr = hw-dev[port]-dev_addr; - sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET); - sky2_write32(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR); + sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_SET); + sky2_write8(hw, SK_REG(port, GPHY_CTRL), GPC_RST_CLR); sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_RST_CLR); - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
i386: Mark NUMA support experimental
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36ce1514117b92b7372e1b041ccc686855454d33 Commit: 36ce1514117b92b7372e1b041ccc686855454d33 Parent: 8eb891fc809b2300137bcd247025628c06c95a63 Author: Andi Kleen [EMAIL PROTECTED] AuthorDate: Tue Aug 21 14:42:40 2007 +0200 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Aug 21 10:06:44 2007 -0700 i386: Mark NUMA support experimental I did some testing and found quite a lot of problems (doesn't boot at all on non NUMA and misassigns cores on Opteron systems). Mark it as experimental and warn against its use for now. It's still default y for SUMMIT/NUMAQ because it'll presumably work on these systems. Signed-off-by: Andi Kleen [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- arch/i386/Kconfig |8 ++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index f16a46e..97b64d7 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -614,10 +614,14 @@ config X86_PAE # Common NUMA Features config NUMA - bool Numa Memory Allocation and Scheduler Support - depends on SMP HIGHMEM64G (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) ACPI) + bool Numa Memory Allocation and Scheduler Support (EXPERIMENTAL) + depends on SMP HIGHMEM64G (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) ACPI) EXPERIMENTAL default n if X86_PC default y if (X86_NUMAQ || X86_SUMMIT) + help + NUMA support for i386. This is currently high experimental + and should be only used for kernel development. It might also + cause boot failures. comment NUMA (Summit) requires SMP, 64GB highmem support, ACPI depends on X86_SUMMIT (!HIGHMEM64G || !ACPI) - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
hisax: update hfc_usb driver
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6c59c13c070cb9d043edf38b4639fdacdb0c18c Commit: d6c59c13c070cb9d043edf38b4639fdacdb0c18c Parent: 36ce1514117b92b7372e1b041ccc686855454d33 Author: Martin Bachem [EMAIL PROTECTED] AuthorDate: Tue Aug 21 14:26:21 2007 +0200 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Aug 21 10:14:28 2007 -0700 hisax: update hfc_usb driver This fixes handling of USB ISO completion error -EXDEV and includes several other changes to current CVS version at isdn4linux.de (changes in debug flags, style of code remarks, etc) Signed-off-by: Martin Bachem [EMAIL PROTECTED] Acked-by: Karsten Keil [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- drivers/isdn/hisax/hfc_usb.c | 603 -- drivers/isdn/hisax/hfc_usb.h | 130 -- 2 files changed, 288 insertions(+), 445 deletions(-) diff --git a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c index b1a26e0..60843b3 100644 --- a/drivers/isdn/hisax/hfc_usb.c +++ b/drivers/isdn/hisax/hfc_usb.c @@ -1,12 +1,12 @@ /* * hfc_usb.c * - * $Id: hfc_usb.c,v 2.3.2.13 2006/02/17 17:17:22 mbachem Exp $ + * $Id: hfc_usb.c,v 2.3.2.20 2007/08/20 14:07:54 mbachem Exp $ * * modular HiSax ISDN driver for Colognechip HFC-S USB chip * - * Authors : Peter Sprenger ([EMAIL PROTECTED]) - * Martin Bachem ([EMAIL PROTECTED]) + * Authors : Peter Sprenger ([EMAIL PROTECTED]) + * Martin Bachem ([EMAIL PROTECTED], [EMAIL PROTECTED]) * * based on the first hfc_usb driver of * Werner Cornelius ([EMAIL PROTECTED]) @@ -37,24 +37,25 @@ #include linux/kernel_stat.h #include linux/usb.h #include linux/kernel.h +#include linux/smp_lock.h +#include linux/sched.h +#include linux/moduleparam.h #include hisax.h #include hisax_if.h #include hfc_usb.h static const char *hfcusb_revision = -$Revision: 2.3.2.13 $ $Date: 2006/02/17 17:17:22 $ ; +$Revision: 2.3.2.20 $ $Date: 2007/08/20 14:07:54 $ ; /* Hisax debug support -* use modprobe debug=x where x is bitfield of USB_DBG ISDN_DBG +* debug flags defined in hfc_usb.h as HFCUSB_DBG_[*] */ -#ifdef CONFIG_HISAX_DEBUG -#include linux/moduleparam.h #define __debug_variable hfc_debug #include hisax_debug.h static u_int debug; module_param(debug, uint, 0); static int hfc_debug; -#endif + /* private vendor specific data */ typedef struct { @@ -63,9 +64,7 @@ typedef struct { char *vend_name;// device name } hfcsusb_vdata; -// -/* data defining the devices to be used */ -// +/* VID/PID device list */ static struct usb_device_id hfcusb_idtab[] = { { USB_DEVICE(0x0959, 0x2bd0), @@ -90,49 +89,47 @@ static struct usb_device_id hfcusb_idtab[] = { .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {4, 0, 2, 1}, Stollmann USB TA}), -}, + }, { USB_DEVICE(0x0742, 0x2009), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {4, 0, 2, 1}, Aceex USB ISDN TA}), -}, + }, { USB_DEVICE(0x0742, 0x200A), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {4, 0, 2, 1}, OEM USB ISDN TA}), -}, + }, { USB_DEVICE(0x08e3, 0x0301), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {2, 0, 1, 4}, Olitec USB RNIS}), -}, + }, { USB_DEVICE(0x07fa, 0x0846), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {0x80, -64, -32, -16}, Bewan Modem RNIS USB}), -}, + }, { USB_DEVICE(0x07fa, 0x0847), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {0x80, -64, -32, -16}, Djinn Numeris USB}), -}, + }, { USB_DEVICE(0x07b0, 0x0006), .driver_info = (unsigned long) ((hfcsusb_vdata) {LED_SCHEME1, {0x80, -64, -32, -16}, Twister ISDN TA}), -}, + }, { } }; -/***/ /* structure defining input+output fifos (interrupt/bulk mode) */ -/***/ struct usb_fifo; /* forward definition */ typedef struct iso_urb_struct { struct urb *purb; @@ -140,8 +137,8 @@ typedef struct iso_urb_struct { struct usb_fifo *owner_fifo;/* pointer to owner fifo */ } iso_urb_struct;
[POWERPC] Fix PCI Device ID for MPC8544/8533 processors
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 Commit: 15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 Parent: f350339cbd0e8ed7751f98f0ef60cb3a0d410eda Author: Kumar Gala [EMAIL PROTECTED] AuthorDate: Tue Aug 21 19:15:31 2007 -0500 Committer: Kumar Gala [EMAIL PROTECTED] CommitDate: Tue Aug 21 19:15:31 2007 -0500 [POWERPC] Fix PCI Device ID for MPC8544/8533 processors The initial user manuals for MPC8544/8533 had some issues with properly documenting the device IDs for MPC8544/8533. These processors are almost identical and both show up on the reference boards. Fix up the quirks for PCIe support to handle MPC8533/E. Signed-off-by: Kumar Gala [EMAIL PROTECTED] --- arch/powerpc/sysdev/fsl_pci.c |2 ++ include/linux/pci_ids.h |6 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index 9fb0ce5..114c90f 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -251,6 +251,8 @@ DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8568E, quirk_fsl_pcie_transpare DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8568, quirk_fsl_pcie_transparent); DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8567E, quirk_fsl_pcie_transparent); DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8567, quirk_fsl_pcie_transparent); +DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8533E, quirk_fsl_pcie_transparent); +DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8533, quirk_fsl_pcie_transparent); DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8544E, quirk_fsl_pcie_transparent); DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8544, quirk_fsl_pcie_transparent); DECLARE_PCI_FIXUP_EARLY(0x1957, PCI_DEVICE_ID_MPC8641, quirk_fsl_pcie_transparent); diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 07fc574..8938d59 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -2092,8 +2092,10 @@ #define PCI_DEVICE_ID_MPC8568 0x0021 #define PCI_DEVICE_ID_MPC8567E 0x0022 #define PCI_DEVICE_ID_MPC8567 0x0023 -#define PCI_DEVICE_ID_MPC8544E 0x0030 -#define PCI_DEVICE_ID_MPC8544 0x0031 +#define PCI_DEVICE_ID_MPC8533E 0x0030 +#define PCI_DEVICE_ID_MPC8533 0x0031 +#define PCI_DEVICE_ID_MPC8544E 0x0032 +#define PCI_DEVICE_ID_MPC8544 0x0033 #define PCI_DEVICE_ID_MPC8641 0x7010 #define PCI_DEVICE_ID_MPC8641D 0x7011 - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
fix - ensure we don't use bootconsoles after init has been released
Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb00e99c0abd844b884c64c6b54aa3b7d345ebb1 Commit: cb00e99c0abd844b884c64c6b54aa3b7d345ebb1 Parent: 15f6ddc7d9cf96f2ee88897c7164198ed6e45a77 Author: Robin Getz [EMAIL PROTECTED] AuthorDate: Tue Aug 21 23:14:58 2007 -0400 Committer: Linus Torvalds [EMAIL PROTECTED] CommitDate: Tue Aug 21 20:23:53 2007 -0700 fix - ensure we don't use bootconsoles after init has been released Gerd Hoffmann pointed out that my patch from yesterday can lead to a null pointer dereference if the kernel is booted with no console, and no earlyprintk defined. This fixes that issue. Signed-off-by: Robin Getz [EMAIL PROTECTED] Signed-off-by: Linus Torvalds [EMAIL PROTECTED] --- kernel/printk.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c index 5c7c325..8451dfc 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -1085,10 +1085,12 @@ EXPORT_SYMBOL(unregister_console); static int __init disable_boot_consoles(void) { - if (console_drivers-flags CON_BOOT) { - printk(KERN_INFO turn off boot console %s%d\n, - console_drivers-name, console_drivers-index); - return unregister_console(console_drivers); + if (console_drivers != NULL) { + if (console_drivers-flags CON_BOOT) { + printk(KERN_INFO turn off boot console %s%d\n, + console_drivers-name, console_drivers-index); + return unregister_console(console_drivers); + } } return 0; } - To unsubscribe from this list: send the line unsubscribe git-commits-head in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html