06 Dec, 2011

1 commit

  • This adjusts PCI_IOAPIC to be user configurable (possibly as a
    module) on x86, since the base architecture code for adding
    IO-APICs dynamically isn't there yet (and hence having the code
    present everywhere is pretty pointless).

    To make this consistent, a MODULE_DEVICE_TABLE() declaration
    gets added, the class specifications get corrected (by properly
    using PCI_DEVICE_CLASS() intended for purposes like this), and
    the probe and remove functions get their sections adjusted.

    Signed-off-by: Jan Beulich
    Acked-by: Jesse Barnes
    Cc: Bjorn Helgaas
    Link: http://lkml.kernel.org/r/4EDDD71A02000078000659F1@nat28.tlf.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

24 Nov, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:
    PCI hotplug: shpchp: don't blindly claim non-AMD 0x7450 device IDs
    PCI: pciehp: wait 100 ms after Link Training check
    PCI: pciehp: wait 1000 ms before Link Training check
    PCI: pciehp: Retrieve link speed after link is trained
    PCI: Let PCI_PRI depend on PCI
    PCI: Fix compile errors with PCI_ATS and !PCI_IOV
    PCI / ACPI: Make acpiphp ignore root bridges using PCIe native hotplug

    Linus Torvalds
     

07 Nov, 2011

1 commit

  • * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    scsi: drop unused Kconfig symbol
    pci: drop unused Kconfig symbol
    stmmac: drop unused Kconfig symbol
    x86: drop unused Kconfig symbol
    powerpc: drop unused Kconfig symbols
    powerpc: 40x: drop unused Kconfig symbol
    mips: drop unused Kconfig symbols
    openrisc: drop unused Kconfig symbols
    arm: at91: drop unused Kconfig symbol
    samples: drop unused Kconfig symbol
    m32r: drop unused Kconfig symbol
    score: drop unused Kconfig symbols
    sh: drop unused Kconfig symbol
    um: drop unused Kconfig symbol
    sparc: drop unused Kconfig symbol
    alpha: drop unused Kconfig symbol

    Fix up trivial conflict in drivers/net/ethernet/stmicro/stmmac/Kconfig
    as per Michal: the STMMAC_DUAL_MAC config variable is still unused and
    should be deleted.

    Linus Torvalds
     

01 Nov, 2011

2 commits


15 Oct, 2011

3 commits

  • Devices supporting Process Address Space Identifiers
    (PASIDs) can use an IOMMU to access multiple IO address
    spaces at the same time. A PCIe device indicates support for
    this feature by implementing the PASID capability. This
    patch adds support for the capability to the Linux kernel.

    Reviewed-by: Bjorn Helgaas
    Signed-off-by: Joerg Roedel
    Signed-off-by: Jesse Barnes

    Joerg Roedel
     
  • Implement the necessary functions to handle PRI capabilities
    on PCIe devices. With PRI devices behind an IOMMU can signal
    page fault conditions to software and recover from such
    faults.

    Reviewed-by: Bjorn Helgaas
    Signed-off-by: Joerg Roedel
    Signed-off-by: Jesse Barnes

    Joerg Roedel
     
  • ATS does not depend on IOV support, so move the code into
    its own file. This file will also include support for the
    PRI and PASID capabilities later.
    Also give ATS its own Kconfig variable to allow selecting it
    without IOV support.

    Reviewed-by: Bjorn Helgaas
    Signed-off-by: Joerg Roedel
    Signed-off-by: Jesse Barnes

    Joerg Roedel
     

12 Apr, 2011

1 commit


05 Mar, 2011

1 commit

  • This patch exports ACPI _DSM (Device Specific Method) provided firmware
    instance number and string name of PCI devices as defined by 'PCI
    Firmware Specification Revision 3.1' section 4.6.7.( DSM for Naming a
    PCI or PCI Express Device Under Operating Systems) to sysfs.

    New files created are:
    /sys/bus/pci/devices/.../label which contains the firmware name for
    the device in question, and
    /sys/bus/pci/devices/.../acpi_index which contains the firmware device type
    instance for the given device.

    cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/acpi_index
    1
    cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/label
    Embedded Broadcom 5709C NIC 1

    cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/acpi_index
    2
    cat /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.1/label
    Embedded Broadcom 5709C NIC 2

    The ACPI _DSM provided firmware 'instance number' and 'string name' will
    be given priority if the firmware also provides 'SMBIOS type 41 device
    type instance and string'.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Jordan Hargrave
    Signed-off-by: Narendra K
    Signed-off-by: Jesse Barnes

    Narendra_K@Dell.com
     

06 Jan, 2011

1 commit


18 Oct, 2010

1 commit

  • This is a port of the 2.6.18 Xen PCI front driver with fixes
    to make it build under 2.6.34 and later (for the full list of
    changes: git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git
    historic/xen-pcifront-0.1). It also includes the fixes
    to make it work properly.

    [v2: Updated Kconfig, removed crud, added Reviewed-by]
    [v3: Added 'static', fixed grant table leak, redid Kconfig]
    [v4: Added one more 'static' and removed comments]

    Signed-off-by: Konrad Rzeszutek Wilk
    Reviewed-by: Stefano Stabellini
    Reviewed-by: Jan Beulich

    Ryan Wilson
     

12 May, 2010

1 commit


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