20 Jun, 2006

17 commits


18 Jun, 2006

1 commit

  • The page size encoding passed to tlbie is incorrect for new-style
    large pages. This fixes it. This doesn't affect anything on older
    machines because mmu_psize_defs[psize].penc (the page size encoding)
    is 0 for 4k and 16M pages (the two are distinguished by a separate "is
    a large page" bit).

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

13 Jun, 2006

3 commits


12 Jun, 2006

1 commit


11 Jun, 2006

4 commits


10 Jun, 2006

3 commits


09 Jun, 2006

9 commits

  • The IBM Cell blade firmware might confuse the kernel to think it's a
    pSeries machine. This fixes it for now. With a bit of luck, the firmware
    will be updated to avoid that in the future but currently that patch is
    needed.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Arnd Bergmann
     
  • The code in prom_init.c calling the firmware
    ibm,client-architecture-support method on pSeries has a bug where it
    fails to properly pass the instance handle of the firmware object when
    trying to call a method. Result ranges from the call doing nothing to
    the firmware crashing. (Found by Segher, thanks !)

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Segher Boessenkool
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • This fixes a bug found by Dave Jones that means that it is possible
    for userspace to provoke a machine check on 32-bit kernels. This
    also fixes a couple of other places where I found similar problems
    by inspection.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • From: Lennert Buytenhek

    The recent renaming of m48t86's ->readb() and ->writeb() platform driver
    methods (2d7b20c1884777e66009be1a533641c19c4705f6) to ->readbyte() and
    ->writebyte() to fix the ia64 build broke the build of the cirrus ep93xx
    ARM platform. This patch fixes it up.

    Signed-off-by: Lennert Buytenhek
    Cc: Alessandro Zummo
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lennert Buytenhek
     
  • From: "Andy Currid"

    This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
    that have HPET enabled.

    When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
    advertised as such in the ACPI APIC table - but an earlier workaround in the
    kernel was ignoring this override. The fix is to honor timer IRQ overrides
    from ACPI when HPET is detected on an NVIDIA platform.

    Signed-off-by: Andy Currid
    Cc: "Brown, Len"
    Cc: "Yu, Luming"
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Currid
     
  • From: "Andy Currid"

    This patch fixes a kernel panic during boot that occurs on NVIDIA platforms
    that have HPET enabled.

    When HPET is enabled, the standard timer IRQ is routed to IOAPIC pin 2 and is
    advertised as such in the ACPI APIC table - but an earlier workaround in the
    kernel was ignoring this override. The fix is to honor timer IRQ overrides
    from ACPI when HPET is detected on an NVIDIA platform.

    Signed-off-by: Andy Currid
    Cc: "Brown, Len"
    Cc: "Yu, Luming"
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Currid
     
  • Patch from Matt Reimer

    There is a subtle bug in the GPIO interrupt status register
    handling in arch/arm/mach-imx/irq.c:imx_gpio_ack_irq(). The
    documentation states that a 1 should be written to the relevant bit to
    acknowledge a GPIO interrupt, but that is not what the code does.

    The problem is that the |= writes back 1s for all the *other*
    interrupts represented in the register, so interrupts could get lost.
    For example, if interrupts are pending for GPIO B10 and B12, ISR_B
    would have the value 0x00001400. Then when the interrupt code handles
    GPIO B10, it eventually calls imx_gpio_ack_irq(IRQ_GPIOB(10)), which
    effectively does this:

    ISR_B |= 1 << 10;

    with the result that (0x00001400 | 0x00000400) is written, clearing
    the interrupt status bits for *both* GPIO B10 and B12.

    The fix is to write 1s only for the interrupts we want to clear.

    The same problem seems to be occurring in the DMA code; this patch
    does not address those issues.

    Acked-by: Sascha Hauer
    Signed-off-by: Matt Reimer
    Signed-off-by: Russell King

    Matt Reimer
     
  • Patch from Richard Purdie

    Add a power budget variable to the PXA OHCI platform data and add a
    default value for the spitz platform(s) which prevents known failures
    with certain USB devices.

    Signed-off-by: Richard Purdie
    Signed-off-by: Russell King

    Richard Purdie
     
  • While testing the genirq code on ARM, a condition was found whereby
    the Neponset IRQ handler was being re-entered, causing the system
    to deadlock.

    Under the ARM IRQ code, this would not have been a visible problem
    because the "simple" IRQ handling had no re-entrancy protection.

    Resolve this by acknowledging the parent interrupt after we mask it
    when we are going to handle one of our "special" level-based sources
    (from ethernet or USAR chip.)

    Signed-off-by: Russell King

    Russell King
     

06 Jun, 2006

2 commits