03 May, 2007

2 commits


11 Feb, 2007

1 commit

  • This is kind of hokey, we could use the hardware provided facilities
    much better.

    MSIs are assosciated with MSI Queues. MSI Queues generate interrupts
    when any MSI assosciated with it is signalled. This suggests a
    two-tiered IRQ dispatch scheme:

    MSI Queue interrupt --> queue interrupt handler
    MSI dispatch --> driver interrupt handler

    But we just get one-level under Linux currently. What I'd like to do
    is possibly stick the IRQ actions into a per-MSI-Queue data structure,
    and dispatch them form there, but the generic IRQ layer doesn't
    provide a way to do that right now.

    So, the current kludge is to "ACK" the interrupt by processing the
    MSI Queue data structures and ACK'ing them, then we run the actual
    handler like normal.

    We are wasting a lot of useful information, for example the MSI data
    and address are provided with ever MSI, as well as a system tick if
    available. If we could pass this into the IRQ handler it could help
    with certain things, in particular for PCI-Express error messages.

    The MSI entries on sparc64 also tell you exactly which bus/device/fn
    sent the MSI, which would be great for error handling when no
    registered IRQ handler can service the interrupt.

    We override the disable/enable IRQ chip methods in sun4v_msi, so we
    have to call {mask,unmask}_msi_irq() directly from there. This is
    another ugly wart.

    Signed-off-by: David S. Miller

    David S. Miller
     

06 Jan, 2007

1 commit


02 Dec, 2006

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (28 commits)
    PCI: make arch/i386/pci/common.c:pci_bf_sort static
    PCI: ibmphp_pci.c: fix NULL dereference
    pciehp: remove unnecessary pci_disable_msi
    pciehp: remove unnecessary free_irq
    PCI: rpaphp: change device tree examination
    PCI: Change memory allocation for acpiphp slots
    i2c-i801: SMBus patch for Intel ICH9
    PCI: irq: irq and pci_ids patch for Intel ICH9
    PCI: pci_{enable,disable}_device() nestable ports
    PCI: switch pci_{enable,disable}_device() to be nestable
    PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap
    pci/i386: style cleanups
    PCI: Block on access to temporarily unavailable pci device
    pci: fix __pci_register_driver error handling
    pci: clear osc support flags if no _OSC method
    acpiphp: fix missing acpiphp_glue_exit()
    acpiphp: fix use of list_for_each macro
    Altix: Initial ACPI support - ROM shadowing.
    Altix: SN ACPI hotplug support.
    Altix: Add initial ACPI IO support
    ...

    Linus Torvalds
     
  • It's not really broken, but people keep running into other problems
    caused by it. Re-enable it so that the drivers get stress tested.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

30 Nov, 2006

2 commits


04 Nov, 2006

1 commit

  • PCI_MULTITHREAD_PROBE is an interesting feature, but in its current state
    it seems to be more of a trap for users who accidentally enable it.

    This patch lets PCI_MULTITHREAD_PROBE depend on BROKEN for 2.6.19.

    The intention is to get this patch reversed in -mm as soon as it's in
    Linus' tree, and reverse it for 2.6.20 or 2.6.21 after the fallout of
    in-kernel problems PCI_MULTITHREAD_PROBE causes got fixed.

    (akpm: I get enough bug reports already)

    Signed-off-by: Adrian Bunk
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     

12 Oct, 2006

1 commit

  • CONFIG_PCI=n, CONFIG_HT_IRQ=y results in the following compile error:

    ...
    LD vmlinux
    arch/i386/mach-generic/built-in.o: In function `apicid_to_node':
    summit.c:(.text+0x53): undefined reference to `apicid_2_node'
    arch/i386/kernel/built-in.o: In function `arch_setup_ht_irq':
    (.text+0xcf79): undefined reference to `write_ht_irq_low'
    arch/i386/kernel/built-in.o: In function `arch_setup_ht_irq':
    (.text+0xcf85): undefined reference to `write_ht_irq_high'
    arch/i386/kernel/built-in.o: In function `k7nops':
    alternative.c:(.data+0x1358): undefined reference to `mask_ht_irq'
    alternative.c:(.data+0x1360): undefined reference to `unmask_ht_irq'
    make[1]: *** [vmlinux] Error 1

    Bug report by Jesper Juhl.

    Signed-off-by: Adrian Bunk
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     

04 Oct, 2006

2 commits

  • This moves the declarations for the architecture helpers into
    include/linux/htirq.h from the generic include/linux/pci.h. Hopefully this
    will make this distinction clearer.

    htirq.h is included where it is needed.

    The dependency on the msi code is fixed and removed.

    The Makefile is tidied up.

    Signed-off-by: Eric W. Biederman
    Cc: Ingo Molnar
    Cc: Tony Luck
    Cc: Andi Kleen
    Cc: Thomas Gleixner
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • This patch implements two functions ht_create_irq and ht_destroy_irq for
    use by drivers. Several other functions are implemented as helpers for
    arch specific irq_chip handlers.

    The driver for the card I tested this on isn't yet ready to be merged.
    However this code is and hypertransport irqs are in use in a few other
    places in the kernel. Not that any of this will get merged before 2.6.19

    Because the ipath-ht400 is slightly out of spec this code will need to be
    generalized to work there.

    I think all of the powerpc uses are for a plain interrupt controller in a
    chipset so support for native hypertransport devices is a little less
    interesting.

    However I think this is a half way decent model on how to separate arch
    specific and generic helper code, and I think this is a functional model of
    how to get the architecture dependencies out of the msi code.

    [akpm@osdl.org: Kconfig fix]
    Signed-off-by: Eric W. Biederman
    Cc: Greg KH
    Cc: Andi Kleen
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

26 Sep, 2006

1 commit

  • This provides a build and run-time option to turn on multhreaded probe
    for all PCI drivers. It can cause bad problems on multi-processor
    machines that take a while to find their root disks, and play havoc on
    machines that don't use persistant device names for block or network
    devices.

    But it can cause speedups on some machines, my tiny laptop's boot goes
    up by 0.4 seconds, and my desktop boots up several seconds faster.

    Use at your own risk!!!

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

24 Mar, 2006

2 commits


09 Sep, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds