23 Feb, 2010

1 commit

  • The ISDN4Linux HiSax driver family contains the last remaining users
    of the deprecated pci_find_device() function. This patch creates a
    private copy of that function in HiSax, and removes the now unused
    global function together with its controlling configuration option,
    CONFIG_PCI_LEGACY.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Jesse Barnes

    Tilman Schmidt
     

05 Nov, 2009

2 commits

  • Commit 3b073eda has removed pci_find_slot, so there's no point in
    mentioning it in the config description as one of the deprecated APIs
    there are enabled by PCI_LEGACY and still used by some drivers.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Jesse Barnes

    Thadeu Lima de Souza Cascardo
     
  • This patch moves PCI I/O APIC support from acpiphp to a separate driver.

    Like pciehp and shpchp, acpiphp handles PCI hotplug, i.e., addition and
    removal of PCI adapters. But in addition, acpiphp handles some ACPI
    hotplug, such as the addition of new host bridges, and the I/O APIC
    support was tangled up with that.

    I don't think the I/O APIC support needs to be in acpiphp; PCI I/O APICs
    usually appear as a function on a PCI host bridge, and we'll enumerate the
    APIC before any of the devices behind the bridge that use it.

    As far as I know, nobody actually uses I/O APIC hotplug. It depends on
    acpi_register_ioapic(), which is only implemented for ia64, and I don't
    think any vendors have supported I/O chassis hotplug yet.

    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Kenji Kaneshige
    CC: Satoru Takeuchi
    CC: MUNEDA Takahiro
    Signed-off-by: Jesse Barnes

    Bjorn Helgaas
     

21 Mar, 2009

1 commit

  • If a device has the SR-IOV capability, initialize it (set the ARI
    Capable Hierarchy in the lowest numbered PF if necessary; calculate
    the System Page Size for the VF MMIO, probe the VF Offset, Stride
    and BARs). A lock for the VF bus allocation is also initialized if
    a PF is the lowest numbered PF.

    Reviewed-by: Matthew Wilcox
    Signed-off-by: Yu Zhao
    Signed-off-by: Jesse Barnes

    Yu Zhao
     

08 Jan, 2009

1 commit

  • When doing device assignment with KVM there's currently nothing to
    protect the device from having a driver in the host as well as the guest.
    This trivial module just binds the pci device on the host to a stub
    driver so that a real host driver can't bind to the device. It has no
    pci id table, it supports only dynamic ids.

    # echo "8086 10f5" > /sys/bus/pci/drivers/pci-stub/new_id
    # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/e1000e/unbind
    # echo -n 0000:00:19.0 > /sys/bus/pci/drivers/pci-stub/bind
    # ls -l /sys/bus/pci/devices/0000:00:19.0/driver
    lrwxrwxrwx 1 root root 0 2008-11-25 19:10 /sys/bus/pci/devices/0000:00:19.0/driver -> ../../../bus/pci/drivers/pci-stub

    Cc: "Kay, Allen M"
    Cc: "Nakajima, Jun"
    Signed-off-by: Chris Wright
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Jesse Barnes

    Chris Wright
     

06 Nov, 2007

1 commit


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