28 Apr, 2017

1 commit

  • * pci/resource-mmap:
    ia64: Use generic pci_mmap_resource_range()
    ia64: Remove redundant checks for WC in pci_mmap_page_range()
    ia64: Remove redundant valid_mmap_phys_addr_range() from pci_mmap_page_range()
    PCI: Add I/O BAR support to generic pci_mmap_resource_range()
    x86/PCI: Use generic pci_mmap_resource_range()
    unicore32/PCI: Use generic pci_mmap_resource_range()
    sh/PCI: Use generic pci_mmap_resource_range()
    parisc: Use generic pci_mmap_resource_range()
    mn10300/PCI: Use generic pci_mmap_resource_range()
    MIPS: PCI: Use generic pci_mmap_resource_range()
    cris/PCI: Use generic pci_mmap_resource_range()
    ARM/PCI: Use generic pci_mmap_resource_range()
    PCI: Add pci_mmap_resource_range() and use it for ARM64
    PCI: Add BAR index argument to pci_mmap_page_range()
    PCI: Use BAR index in sysfs attr->private instead of resource pointer
    PCI: Add arch_can_pci_mmap_io() on architectures which can mmap() I/O space
    PCI: Move multiple declarations of pci_mmap_page_range() to
    PCI: Add arch_can_pci_mmap_wc() macro
    xtensa/PCI: Do not mmap PCI BARs to userspace as write-through
    PCI: Only allow WC mmap on prefetchable resources
    PCI: Fix another sanity check bug in /proc/pci mmap
    PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms

    Bjorn Helgaas
     

20 Apr, 2017

1 commit

  • Starting to leave behind the legacy of the pci_mmap_page_range() interface
    which takes "user-visible" BAR addresses. This takes just the resource and
    offset.

    For now, both APIs coexist and depending on the platform, one is
    implemented as a wrapper around the other.

    Signed-off-by: David Woodhouse
    Signed-off-by: Bjorn Helgaas

    David Woodhouse
     

07 Mar, 2017

1 commit

  • Microsemi's "Switchtec" line of PCI switch devices is already well
    supported by the kernel with standard PCI switch drivers. However, the
    Switchtec device advertises a special management endpoint with a separate
    PCI function address and class code. This endpoint enables some additional
    functionality which includes:

    * Packet and Byte Counters
    * Switch Firmware Upgrades
    * Event and Error logs
    * Querying port link status
    * Custom user firmware commands

    Add a switchtec kernel module which provides PCI driver that exposes a char
    device. The char device provides userspace access to this interface
    through read, write and (optionally) poll calls.

    A userspace tool and library which utilizes this interface is available
    at [1]. This tool takes inspiration (and borrows some code) from
    nvme-cli [2]. The tool is largely complete at this time but additional
    features may be added in the future.

    [1] https://github.com/sbates130272/switchtec-user
    [2] https://github.com/linux-nvme/nvme-cli

    [Dan Carpenter : don't invert error codes]
    [Christophe JAILLET : fix
    switchtec_dev_open() error handling]
    Tested-by: Krishna Dhulipala
    Signed-off-by: Logan Gunthorpe
    Signed-off-by: Stephen Bates
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Wei Zhang
    Reviewed-by: Jens Axboe
    Reviewed-by: Greg Kroah-Hartman

    Logan Gunthorpe
     

15 Jun, 2016

1 commit

  • Add Power Management Unit driver to handle power states of South Complex
    devices on Intel Tangier. In the future it might be expanded to cover North
    Complex devices as well.

    With this driver the power state of the host controllers such as SPI, I2C,
    UART, eMMC, and DMA would be managed.

    Signed-off-by: Andy Shevchenko
    Cc: Bjorn Helgaas
    Cc: David Cohen
    Cc: Linus Torvalds
    Cc: Mika Westerberg
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-pci@vger.kernel.org
    Link: http://lkml.kernel.org/r/1465928985-12113-1-git-send-email-andriy.shevchenko@linux.intel.com
    [ Minor readability edits. ]
    Signed-off-by: Ingo Molnar

    Andy Shevchenko
     

12 May, 2016

1 commit

  • Add config option PCI_ECAM and file drivers/pci/ecam.c to provide generic
    functions for accessing memory-mapped PCI config space.

    The API is defined in drivers/pci/ecam.h and is written to replace the API
    in drivers/pci/host/pci-host-common.h. The file defines a new 'struct
    pci_config_window' to hold the information related to a PCI config area and
    its mapping. This structure is expected to be used as sysdata for
    controllers that have ECAM based mapping.

    Helper functions are provided to setup the mapping, free the mapping and to
    implement the map_bus method in 'struct pci_ops'

    Signed-off-by: Jayachandran C
    Signed-off-by: Bjorn Helgaas

    Jayachandran C
     

11 Mar, 2016

1 commit

  • Add PCI support to ARC and update drivers/pci Makefile enabling the ARC
    arch to use the generic PCI setup functions.

    [bhelgaas: fold in Joao's pci-dma-compat.h & pci-bridge.h build fix (I
    should have caught this myself, sorry]
    Signed-off-by: Joao Pinto
    Signed-off-by: Bjorn Helgaas
    Acked-by: Vineet Gupta

    Joao Pinto
     

21 Aug, 2015

1 commit

  • ARM64 requires setup-irq.o to provide pci_fixup_irqs() implementation. We
    are adding this now to support the pci-host-generic host controller, but we
    enable it for ARM64 PCI so that other host controllers can use this as
    well.

    Signed-off-by: Jayachandran C
    Signed-off-by: Bjorn Helgaas

    Jayachandran C
     

16 Dec, 2014

1 commit

  • To support IOAPIC hotplug on x86 and IA64 platforms, OS needs to figure
    out global interrupt source number(GSI) and IOAPIC enumeration ID
    through ACPI interfaces. So BIOS must implement an ACPI IOAPIC device
    with _GSB/_UID or _MAT method to support IOAPIC hotplug. OS also needs
    to figure out base physical address to access IOAPIC registers. OS may
    get the base physical address through PCI BARs if IOAPIC device is
    visible in PCI domain, otherwise OS may get the address by ACPI _CRS
    method if IOAPIC device is hidden from PCI domain by BIOS.

    When adding a PCI subtree, we need to add IOAPIC devices before enabling
    all other PCI devices because other PCI devices may use the IOAPIC to
    allocate PCI interrupts.

    So we plan to reimplement IOAPIC driver as an ACPI instead of PCI driver
    due to:
    1) hot-pluggable IOAPIC devices are always visible in ACPI domain,
    but may or may not be visible in PCI domain.
    2) we could explicitly control the order between IOAPIC and other PCI
    devices.

    We also have another choice to use a PCI driver to manage IOAPIC device
    if it's visible in PCI domain and use an ACPI driver if it's only
    visible in ACPI domain. But this solution is a little complex.

    It shouldn't cause serious backward compatibility issues because:
    1) IOAPIC hotplug is never supported on x86 yet because it hasn't
    implemented the required acpi_register_ioapic() and
    acpi_unregister_ioapic().
    2) Currently only ACPI based IOAPIC hotplug is possible on x86 and
    IA64, we don't know other specifications and interfaces to support
    IOAPIC hotplug yet.
    3) We will reimplement an ACPI IOAPIC driver to support IOAPIC hotplug.

    This change also helps to get rid of the false alarm on all current
    Linux distributions:
    [ 6.952497] ioapic: probe of 0000:00:05.4 failed with error -22
    [ 6.959542] ioapic: probe of 0000:80:05.4 failed with error -22

    Signed-off-by: Jiang Liu
    Cc: Konrad Rzeszutek Wilk
    Cc: Tony Luck
    Cc: Joerg Roedel
    Cc: Greg Kroah-Hartman
    Cc: Benjamin Herrenschmidt
    Cc: Rafael J. Wysocki
    Cc: Bjorn Helgaas
    Cc: Randy Dunlap
    Cc: Yinghai Lu
    Cc: Borislav Petkov
    Link: http://lkml.kernel.org/r/1414387308-27148-9-git-send-email-jiang.liu@linux.intel.com
    Signed-off-by: Thomas Gleixner

    Jiang Liu
     

03 Apr, 2014

1 commit

  • Pull x86 old platform removal from Peter Anvin:
    "This patchset removes support for several completely obsolete
    platforms, where the maintainers either have completely vanished or
    acked the removal. For some of them it is questionable if there even
    exists functional specimens of the hardware"

    Geert Uytterhoeven apparently thought this was a April Fool's pull request ;)

    * 'x86-nuke-platforms-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, platforms: Remove NUMAQ
    x86, platforms: Remove SGI Visual Workstation
    x86, apic: Remove support for IBM Summit/EXA chipset
    x86, apic: Remove support for ia32-based Unisys ES7000

    Linus Torvalds
     

28 Feb, 2014

1 commit


13 Feb, 2014

1 commit


18 Dec, 2013

1 commit

  • While we don't really have any infrastructure for making use of VC
    support, the system BIOS can configure the topology to non-default
    VC values prior to boot. This may be due to silicon bugs, desire to
    reserve traffic classes, or perhaps just BIOS bugs. When we reset
    devices, the VC configuration may return to default values, which can
    be incompatible with devices upstream. For instance, Nvidia GRID
    cards provide a PCIe switch and some number of GPUs, all supporting
    VC. The power-on default for VC is to support TC0-7 across VC0,
    however some platforms will only enable TC0/VC0 mapping across the
    topology. When we do a secondary bus reset on the downstream switch
    port, the GPU is reset to a TC0-7/VC0 mapping while the opposite end
    of the link only enables TC0/VC0. If the GPU attempts to use TC1-7,
    it fails.

    This patch attempts to provide complete support for VC save/restore,
    even beyond the minimally required use case above. This includes
    save/restore and reload of the arbitration table, save/restore and
    reload of the port arbitration tables, and re-enabling of the
    channels for VC, VC9, and MFVC capabilities.

    Signed-off-by: Alex Williamson
    Signed-off-by: Bjorn Helgaas

    Alex Williamson
     

21 May, 2013

1 commit

  • This driver implements the support for the PCIe interfaces on the
    Marvell Armada 370/XP ARM SoCs. In the future, it might be extended to
    cover earlier families of Marvell SoCs, such as Dove, Orion and
    Kirkwood.

    The driver implements the hw_pci operations needed by the core ARM PCI
    code to setup PCI devices and get their corresponding IRQs, and the
    pci_ops operations that are used by the PCI core to read/write the
    configuration space of PCI devices.

    Since the PCIe interfaces of Marvell SoCs are completely separate and
    not linked together in a bus, this driver sets up an emulated PCI host
    bridge, with one PCI-to-PCI bridge as child for each hardware PCIe
    interface.

    In addition, this driver enumerates the different PCIe slots, and for
    those having a device plugged in, it sets up the necessary address
    decoding windows, using the mvebu-mbus driver.

    Signed-off-by: Thomas Petazzoni
    Acked-by: Bjorn Helgaas
    Signed-off-by: Jason Cooper

    Thomas Petazzoni
     

29 Nov, 2012

2 commits


13 Jul, 2012

1 commit

  • The ColdFire M54xx family of CPU cores (supported by the m68k arch code)
    have PCI bus hardware. We want to be able to use this and will need the
    setup-bus.c and setup-irq.c helper functions. So when CONFIG_M68K is
    enabled add them to the objs build list.

    Signed-off-by: Greg Ungerer
    Signed-off-by: Bjorn Helgaas

    Greg Ungerer
     

22 May, 2012

1 commit

  • Pull PCI changes from Bjorn Helgaas:
    - Host bridge cleanups from Yinghai
    - Disable Bus Master bit on PCI device shutdown (kexec-related)
    - Stratus ftServer fix
    - pci_dev_reset() locking fix
    - IvyBridge graphics erratum workaround

    * tag 'pci-for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (21 commits)
    microblaze/PCI: fix "io_offset undeclared" error
    x86/PCI: only check for spinlock being held in SMP kernels
    resources: add resource_overlaps()
    PCI: fix uninitialized variable 'cap_mask'
    MAINTAINERS: update PCI git tree and patchwork
    PCI: disable Bus Master on PCI device shutdown
    PCI: work around IvyBridge internal graphics FLR erratum
    x86/PCI: fix unused variable warning in amd_bus.c
    PCI: move mutex locking out of pci_dev_reset function
    PCI: work around Stratus ftServer broken PCIe hierarchy
    x86/PCI: merge pcibios_scan_root() and pci_scan_bus_on_node()
    x86/PCI: dynamically allocate pci_root_info for native host bridge drivers
    x86/PCI: embed pci_sysdata into pci_root_info on ACPI path
    x86/PCI: embed name into pci_root_info struct
    x86/PCI: add host bridge resource release for _CRS path
    x86/PCI: refactor get_current_resources()
    PCI: add host bridge release support
    PCI: add generic device into pci_host_bridge struct
    PCI: rename pci_host_bridge() to find_pci_root_bridge()
    x86/PCI: fix memleak with get_current_resources()
    ...

    Linus Torvalds
     

01 May, 2012

1 commit


27 Apr, 2012

1 commit

  • Otherwise we get this link failure for frv's defconfig:

    LD .tmp_vmlinux1
    drivers/built-in.o: In function `pci_assign_resource':
    (.text+0xbf0c): undefined reference to `pci_cardbus_resource_alignment'
    drivers/built-in.o: In function `pci_setup':
    pci.c:(.init.text+0x174): undefined reference to `pci_realloc_get_opt'
    pci.c:(.init.text+0x1a0): undefined reference to `pci_realloc_get_opt'
    make[1]: *** [.tmp_vmlinux1] Error 1

    Cc: David Howells
    Acked-by: Bjorn Helgaas
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

15 Oct, 2011

1 commit

  • 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
     

23 Jul, 2011

2 commits

  • …/git/tip/linux-2.6-tip

    * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    iommu/core: Fix build with INTR_REMAP=y && CONFIG_DMAR=n
    iommu/amd: Don't use MSI address range for DMA addresses
    iommu/amd: Move missing parts to drivers/iommu
    iommu: Move iommu Kconfig entries to submenu
    x86/ia64: intel-iommu: move to drivers/iommu/
    x86: amd_iommu: move to drivers/iommu/
    msm: iommu: move to drivers/iommu/
    drivers: iommu: move to a dedicated folder
    x86/amd-iommu: Store device alias as dev_data pointer
    x86/amd-iommu: Search for existind dev_data before allocting a new one
    x86/amd-iommu: Allow dev_data->alias to be NULL
    x86/amd-iommu: Use only dev_data in low-level domain attach/detach functions
    x86/amd-iommu: Use only dev_data for dte and iotlb flushing routines
    x86/amd-iommu: Store ATS state in dev_data
    x86/amd-iommu: Store devid in dev_data
    x86/amd-iommu: Introduce global dev_data_list
    x86/amd-iommu: Remove redundant device_flush_dte() calls
    iommu-api: Add missing header file

    Fix up trivial conflicts (independent additions close to each other) in
    drivers/Makefile and include/linux/pci.h

    Linus Torvalds
     
  • * 'of-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    pci/of: Consolidate pci_bus_to_OF_node()
    pci/of: Consolidate pci_device_to_OF_node()
    x86/devicetree: Use generic PCI OF matching
    microblaze/pci: Move the remains of pci_32.c to pci-common.c
    microblaze/pci: Remove powermac originated cruft
    pci/of: Match PCI devices to OF nodes dynamically

    Linus Torvalds
     

21 Jun, 2011

1 commit

  • This should ease finding similarities with different platforms,
    with the intention of solving problems once in a generic framework
    which everyone can use.

    Note: to move intel-iommu.c, the declaration of pci_find_upstream_pcie_bridge()
    has to move from drivers/pci/pci.h to include/linux/pci.h. This is handled
    in this patch, too.

    As suggested, also drop DMAR's EXPERIMENTAL tag while we're at it.

    Compile-tested on x86_64.

    Signed-off-by: Ohad Ben-Cohen
    Signed-off-by: Joerg Roedel

    Ohad Ben-Cohen
     

08 Jun, 2011

1 commit

  • powerpc has two different ways of matching PCI devices to their
    corresponding OF node (if any) for historical reasons. The ppc64 one
    does a scan looking for matching bus/dev/fn, while the ppc32 one does a
    scan looking only for matching dev/fn on each level in order to be
    agnostic to busses being renumbered (which Linux does on some
    platforms).

    This removes both and instead moves the matching code to the PCI core
    itself. It's the most logical place to do it: when a pci_dev is created,
    we know the parent and thus can do a single level scan for the matching
    device_node (if any).

    The benefit is that all archs now get the matching for free. There's one
    hook the arch might want to provide to match a PHB bus to its device
    node. A default weak implementation is provided that looks for the
    parent device device node, but it's not entirely reliable on powerpc for
    various reasons so powerpc provides its own.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     

03 Jun, 2011

1 commit


12 Apr, 2011

1 commit


19 Mar, 2011

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: label: remove #include of ACPI header to avoid warnings
    PCI: label: Fix compilation error when CONFIG_ACPI is unset
    PCI: pre-allocate additional resources to devices only after successful allocation of essential resources.
    PCI: introduce reset_resource()
    PCI: data structure agnostic free list function
    PCI: refactor io size calculation code
    PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH
    PCI hotplug: acpiphp: set current_state to D0 in register_slot
    PCI: Export ACPI _DSM provided firmware instance number and string name to sysfs
    PCI: add more checking to ICH region quirks
    PCI: aer-inject: Override PCIe AER Mask Registers
    PCI: fix tlan build when CONFIG_PCI is not enabled
    PCI: remove quirk for pre-production systems
    PCI: Avoid potential NULL pointer dereference in pci_scan_bridge
    PCI/lpc: irq and pci_ids patch for Intel DH89xxCC DeviceIDs
    PCI: sysfs: Fix failure path for addition of "vpd" attribute

    Linus Torvalds
     

17 Mar, 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
     

25 Nov, 2010

1 commit

  • This change enables PCI root complex support for TILEPro. Unlike
    TILE-Gx, TILEPro has no support for memory-mapped I/O, so the PCI
    support consists of hypervisor upcalls for PIO, DMA, etc. However,
    the performance is fine for the devices we have tested with so far
    (1Gb Ethernet, SATA, etc.).

    The header was tweaked to be a little bit more aggressive
    about disabling attempts to map/unmap IO port space. The hacky
    header was rolled into the header
    and the result was simplified. Both of the latter two headers were
    preliminary versions not meant for release before now - oh well.

    There is one quirk for our TILEmpower platform, which accidentally
    negotiates up to 5GT and needs to be kicked down to 2.5GT.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

29 Oct, 2010

1 commit

  • and branch 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm

    * 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm:
    xen: register xen pci notifier
    xen: initialize cpu masks for pv guests in xen_smp_init
    xen: add a missing #include to arch/x86/pci/xen.c
    xen: mask the MTRR feature from the cpuid
    xen: make hvc_xen console work for dom0.
    xen: add the direct mapping area for ISA bus access
    xen: Initialize xenbus for dom0.
    xen: use vcpu_ops to setup cpu masks
    xen: map a dummy page for local apic and ioapic in xen_set_fixmap
    xen: remap MSIs into pirqs when running as initial domain
    xen: remap GSIs as pirqs when running as initial domain
    xen: introduce XEN_DOM0 as a silent option
    xen: map MSIs into pirqs
    xen: support GSI -> pirq remapping in PV on HVM guests
    xen: add xen hvm acpi_register_gsi variant
    acpi: use indirect call to register gsi in different modes
    xen: implement xen_hvm_register_pirq
    xen: get the maximum number of pirqs from xen
    xen: support pirq != irq

    * 'stable/xen-pcifront-0.8.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (27 commits)
    X86/PCI: Remove the dependency on isapnp_disable.
    xen: Update Makefile with CONFIG_BLOCK dependency for biomerge.c
    MAINTAINERS: Add myself to the Xen Hypervisor Interface and remove Chris Wright.
    x86: xen: Sanitse irq handling (part two)
    swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it.
    MAINTAINERS: Add myself for Xen PCI and Xen SWIOTLB maintainer.
    xen/pci: Request ACS when Xen-SWIOTLB is activated.
    xen-pcifront: Xen PCI frontend driver.
    xenbus: prevent warnings on unhandled enumeration values
    xenbus: Xen paravirtualised PCI hotplug support.
    xen/x86/PCI: Add support for the Xen PCI subsystem
    x86: Introduce x86_msi_ops
    msi: Introduce default_[teardown|setup]_msi_irqs with fallback.
    x86/PCI: Export pci_walk_bus function.
    x86/PCI: make sure _PAGE_IOMAP it set on pci mappings
    x86/PCI: Clean up pci_cache_line_size
    xen: fix shared irq device passthrough
    xen: Provide a variant of xen_poll_irq with timeout.
    xen: Find an unbound irq number in reverse order (high to low).
    xen: statically initialize cpu_evtchn_mask_p
    ...

    Fix up trivial conflicts in drivers/pci/Makefile

    Linus Torvalds
     

18 Oct, 2010

2 commits

  • 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
     
  • Replace EXTRA_CFLAGS with ccflags-y.

    Signed-off-by: matt mooney
    Signed-off-by: Jesse Barnes

    matt mooney
     

31 Jul, 2010

1 commit

  • This patch exports SMBIOS provided firmware instance and label of
    onboard PCI devices to sysfs. New files are:
    /sys/bus/pci/devices/.../label which contains the firmware name for
    the device in question, and
    /sys/bus/pci/devices/.../index which contains the firmware device type
    instance for the given device.

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

    Narendra K
     

11 Mar, 2010

1 commit

  • There are two parts of changes. The first is just enable
    PCI in Makefiles and in Kconfig. The second is the rest of
    missing files. I didn't want to add it with previous patch
    because that patch is too big.

    Current Microblaze toolchain has problem with weak symbols
    that's why is necessary to apply this changes to be possible
    to compile pci support.
    Xilinx knows about this problem.

    Signed-off-by: Michal Simek

    Michal Simek
     

01 Mar, 2010

1 commit


28 Feb, 2010

1 commit


23 Feb, 2010

2 commits

  • 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
     
  • Currently, drivers/pci/quirks.c is built unconditionally, but if
    CONFIG_PCI_QUIRKS is unset, the only things actually built in this
    file are definitions of global variables and empty functions (due to
    the #ifdef CONFIG_PCI_QUIRKS embracing all of the code inside the
    file). This is not particularly nice and if someone overlooks
    the #ifdef CONFIG_PCI_QUIRKS, build errors are introduced.

    To clean that up, move the definitions of the global variables in
    quirks.c that are always built to pci.c, move the definitions of
    the empty functions (compiled when CONFIG_PCI_QUIRKS is unset) to
    headers (additionally make these functions static inline) and modify
    drivers/pci/Makefile so that quirks.c is only built if
    CONFIG_PCI_QUIRKS is set.

    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     

05 Nov, 2009

1 commit

  • 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