Revert USB: EHCI cpufreq fix

2007-08-21 Thread Linux Kernel Mailing List
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

2007-08-21 Thread Linux Kernel Mailing List
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

2007-08-21 Thread Linux Kernel Mailing List
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

2007-08-21 Thread Linux Kernel Mailing List
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

2007-08-21 Thread Linux Kernel Mailing List
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

2007-08-21 Thread Linux Kernel Mailing List
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