21 Feb, 2014

1 commit


20 Feb, 2014

1 commit

  • This reverts commit 74bb1bcc7dbb ("PCI: handle SR-IOV Virtual Function
    Migration"), removing this exported interface:

    pci_sriov_migration()

    Since pci_sriov_migration() is unused, it is impossible to schedule
    sriov_migration_task() or use any of the other migration infrastructure.

    This is based on Stephen Hemminger's patch (see link below), but goes a bit
    further.

    Link: http://lkml.kernel.org/r/20131227132710.7190647c@nehalam.linuxnetplumber.net
    Signed-off-by: Bjorn Helgaas
    CC: Stephen Hemminger

    Bjorn Helgaas
     

14 Feb, 2014

2 commits


04 Feb, 2014

1 commit

  • We deprecated pci_enable_msi() in 302a2523c277 ("PCI/MSI: Add
    pci_enable_msi_range() and pci_enable_msix_range()").

    But we changed our minds after noticing that:

    - pci_enable_msi() doesn't have confusing return values like
    pci_enable_msi_block() and pci_enable_msix() did, and

    - pci_enable_msi() has a hundred or so callers that we don't want to
    change.

    This adds back the pci_enable_msi() documentation.

    [bhelgaas: changelog]
    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas

    Alexander Gordeev
     

08 Jan, 2014

3 commits


04 Jan, 2014

4 commits

  • This adds pci_enable_msi_range(), which supersedes the pci_enable_msi()
    and pci_enable_msi_block() MSI interfaces.

    It also adds pci_enable_msix_range(), which supersedes the
    pci_enable_msix() MSI-X interface.

    The old interfaces have three categories of return values:

    negative: failure; caller should not retry
    positive: failure; value indicates number of interrupts that *could*
    have been allocated, and caller may retry with a smaller request
    zero: success; at least as many interrupts allocated as requested

    It is error-prone to handle these three cases correctly in drivers.

    The new functions return either a negative error code or a number of
    successfully allocated MSI/MSI-X interrupts, which is expected to lead to
    clearer device driver code.

    pci_enable_msi(), pci_enable_msi_block() and pci_enable_msix() still exist
    unchanged, but are deprecated and may be removed after callers are updated.

    [bhelgaas: tweak changelog]
    Suggested-by: Ben Hutchings
    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Tejun Heo

    Alexander Gordeev
     
  • This creates an MSI-X counterpart for pci_msi_vec_count(). Device drivers
    can use this function to obtain maximum number of MSI-X interrupts the
    device supports and use that number in a subsequent call to
    pci_enable_msix().

    pci_msix_vec_count() supersedes pci_msix_table_size() and returns a
    negative errno if device does not support MSI-X interrupts. After this
    update, callers must always check the returned value.

    The only user of pci_msix_table_size() was the PCI-Express port driver,
    which is also updated by this change.

    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Tejun Heo

    Alexander Gordeev
     
  • The new pci_msi_vec_count() interface makes pci_enable_msi_block_auto()
    superfluous.

    Drivers can use pci_msi_vec_count() to learn the maximum number of MSIs
    supported by the device, and then call pci_enable_msi_block().

    pci_enable_msi_block_auto() was introduced recently, and its only user is
    the AHCI driver, which is also updated by this change.

    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas
    Acked-by: Tejun Heo

    Alexander Gordeev
     
  • Device drivers can use this interface to obtain the maximum number of MSI
    interrupts the device supports and use that number, e.g., in a subsequent
    call to pci_enable_msi_block().

    Signed-off-by: Alexander Gordeev
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Tejun Heo

    Alexander Gordeev
     

21 Dec, 2013

2 commits


14 Dec, 2013

1 commit

  • Prefer use of the direct definition of struct pci_device_id instead of
    indirection via macro DEFINE_PCI_DEVICE_TABLE.

    Update the PCI documentation to deprecate DEFINE_PCI_DEVICE_TABLE. Update
    checkpatch adding --fix option.

    Signed-off-by: Joe Perches
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Jingoo Han

    Joe Perches
     

26 Sep, 2013

1 commit


25 Jan, 2013

1 commit

  • The new function pci_enable_msi_block_auto() tries to allocate
    maximum possible number of MSIs up to the number the device
    supports. It generalizes a pattern when pci_enable_msi_block()
    is contiguously called until it succeeds or fails.

    Opposite to pci_enable_msi_block() which takes the number of
    MSIs to allocate as a input parameter,
    pci_enable_msi_block_auto() could be used by device drivers to
    obtain the number of assigned MSIs and the number of MSIs the
    device supports.

    Signed-off-by: Alexander Gordeev
    Acked-by: Bjorn Helgaas
    Cc: Suresh Siddha
    Cc: Yinghai Lu
    Cc: Matthew Wilcox
    Cc: Jeff Garzik
    Cc: Linus Torvalds
    Cc: Andrew Morton
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/c3de2419df94a0f95ca1a6f755afc421486455e6.1353324359.git.agordeev@redhat.com
    Signed-off-by: Ingo Molnar

    Alexander Gordeev
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, __devinitdata,
    __devinitconst, and __devexit from the kernel documentation.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

29 Nov, 2012

1 commit


28 Sep, 2011

1 commit

  • There are numerous broken references to Documentation files (in other
    Documentation files, in comments, etc.). These broken references are
    caused by typo's in the references, and by renames or removals of the
    Documentation files. Some broken references are simply odd.

    Fix these broken references, sometimes by dropping the irrelevant text
    they were part of.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jiri Kosina

    Paul Bolle
     

03 Aug, 2011

16 commits


31 Mar, 2011

1 commit


12 Jul, 2010

1 commit


22 May, 2010

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (36 commits)
    PCI: hotplug: pciehp: Removed check for hotplug of display devices
    PCI: read memory ranges out of Broadcom CNB20LE host bridge
    PCI: Allow manual resource allocation for PCI hotplug bridges
    x86/PCI: make ACPI MCFG reserved error messages ACPI specific
    PCI hotplug: Use kmemdup
    PM/PCI: Update PCI power management documentation
    PCI: output FW warning in pci_read/write_vpd
    PCI: fix typos pci_device_dis/enable to pci_dis/enable_device in comments
    PCI quirks: disable msi on AMD rs4xx internal gfx bridges
    PCI: Disable MSI for MCP55 on P5N32-E SLI
    x86/PCI: irq and pci_ids patch for additional Intel Cougar Point DeviceIDs
    PCI: aerdrv: trivial cleanup for aerdrv_core.c
    PCI: aerdrv: trivial cleanup for aerdrv.c
    PCI: aerdrv: introduce default_downstream_reset_link
    PCI: aerdrv: rework find_aer_service
    PCI: aerdrv: remove is_downstream
    PCI: aerdrv: remove magical ROOT_ERR_STATUS_MASKS
    PCI: aerdrv: redefine PCI_ERR_ROOT_*_SRC
    PCI: aerdrv: rework do_recovery
    PCI: aerdrv: rework get_e_source()
    ...

    Linus Torvalds
     

12 May, 2010

1 commit

  • I noticed that when I inject a fatal error to an endpoint via
    aer-inject, aer_root_reset() is called as reset_link for a
    downstream port at upstream of the endpoint:

    pcieport 0000:00:06.0: AER: Uncorrected (Fatal) error received: id=5401
    :
    pcieport 0000:52:02.0: Root Port link has been reset

    It externally appears to be working, but internally issues some
    accesses to PCI_ERR_ROOT_COMMAND/STATUS registers that is for
    root port so not available on downstream port.

    This patch introduces default_downstream_reset_link that is
    a version of aer_root_reset() with no accesses to root port's
    register. It is used for downstream ports that has no reset_link
    function its specific.

    This patch also updates related description in pcieaer-howto.txt.
    Some minor fixes are included.

    Signed-off-by: Hidetoshi Seto
    Reviewed-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Hidetoshi Seto