02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

08 Sep, 2017

1 commit


02 Sep, 2017

1 commit

  • Fix various typos and whitespace errors:

    s/Synopsis/Synopsys/
    s/Designware/DesignWare/
    s/Keystine/Keystone/
    s/gpio/GPIO/
    s/pcie/PCIe/
    s/phy/PHY/
    s/confgiruation/configuration/

    No functional change intended.

    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     

01 Aug, 2017

1 commit


03 May, 2016

1 commit


15 Nov, 2013

1 commit


18 Apr, 2013

1 commit


08 Sep, 2012

1 commit


05 Dec, 2009

2 commits

  • Remove 'port_type' field in struct pcie_port_data(), because we can
    get port type information from struct pci_dev. With this change, this
    patch also does followings:

    - Remove struct pcie_port_data because it no longer has any field.
    - Remove portdrv private definitions about port type (PCIE_RC_PORT,
    PCIE_SW_UPSTREAM_PORT and PCIE_SW_DOWNSTREAM_PORT), and use generic
    definitions instead.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Kenji Kaneshige
     
  • This patch cleans up the service irqs initialization as follows:

    - Remove 'irq_mode' field in pcie_port_data and related definitions,
    which is not needed because we can get the same information from
    'is_msix', 'is_msi' and 'pin' fields in struct pci_dev.

    - Change the name of 'vectors' argument of assign_interrupt_mode() to
    'irqs' because it holds irq numbers actually. People might confuse
    it with CPU vector or MSI/MSI-X vector.

    - Change function name assign_interrupt_mode() to init_service_irqs()
    becasuse we no longer have 'irq_mode' data structure, and new name
    is more straightforward (IMO).

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Jesse Barnes

    Kenji Kaneshige
     

21 Mar, 2009

1 commit


20 Mar, 2009

5 commits

  • If MSI-X interrupt mode is used by the PCI Express port driver, too
    many vectors are allocated and it is not ensured that the right
    vectors will be used for the right services. Namely, the PCI Express
    specification states that both PCI Express native PME and PCI Express
    hotplug will always use the same MSI or MSI-X message for signalling
    interrupts, which implies that the same vector will be used by both
    of them. Also, the VC service does not use interrupts at all.
    Moreover, is not clear which of the vectors allocated by
    pci_enable_msix() in the current code will be used for PME and
    hotplug and which of them will be used for AER if all of these
    services are configured.

    For these reasons, rework the allocation of interrupts for PCI
    Express ports so that if MSI-X are enabled, the right vectors will be
    used for the right purposes.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Hidetoshi Seto
    Signed-off-by: Jesse Barnes

    Rafael J. Wysocki
     
  • The PCI Express port driver uses 'struct pcie_port_service_id' for
    matching port service devices and drivers, but this structure
    contains fields that duplicate information from the port device
    itself (vendor, device, subvendor, subdevice) and fields that are not
    used by any existing port service driver (class, class_mask,
    drvier_data). Also, both existing port service drivers (AER and
    PCIe HP) don't even use the vendor and device fields for device
    matching. Therefore 'struct pcie_port_service_id' can be removed
    altogether and the only useful members of it (port_type, service) can
    be introduced directly into the port service device and port service
    driver structures. That simplifies the code quite a bit and reduces
    its size.

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

    Rafael J. Wysocki
     
  • The second argument of the ->probe() callback in
    struct pcie_port_service_driver is unnecessary and never used.
    Remove it.

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

    Rafael J. Wysocki
     
  • The PCI Express port driver should not attempt to register service
    devices that require the ability to generate interrupts if generating
    interrupts is not possible. Namely, if the port has no interrupt pin
    configured and we cannot set up MSI or MSI-X for it, there is no way
    it can generate interrupts and in such a case the port services that
    rely on interrupts (PME, PCIe HP, AER) should not be enabled for it.

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

    Rafael J. Wysocki
     
  • PCI Express port driver extension, as defined by struct
    pcie_port_device_ext in portdrv.h, is allocated and initialized, but
    never used (it also is never freed). Extend it to hold the PCI Express
    port type as well as the port interrupt mode, change its name and use it
    to simplify the code in portdrv_core.c .

    Additionally, remove the redundant interrupt_mode member of struct
    pcie_device defined in include/linux/pcieport_if.h .

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

    Rafael J. Wysocki
     

27 Sep, 2006

1 commit

  • Patch 3 implements the core part of PCI-Express AER and aerdrv
    port service driver.

    When a root port service device is probed, the aerdrv will call
    request_irq to register irq handler for AER error interrupt.

    When a device sends an PCI-Express error message to the root port,
    the root port will trigger an interrupt, by either MSI or IO-APIC,
    then kernel would run the irq handler. The handler collects root
    error status register and schedules a work. The work will call
    the core part to process the error based on its type
    (Correctable/non-fatal/fatal).

    As for Correctable errors, the patch chooses to just clear the correctable
    error status register of the device.

    As for the non-fatal error, the patch follows generic PCI error handler
    rules to call the error callback functions of the endpoint's driver. If
    the device is a bridge, the patch chooses to broadcast the error to
    downstream devices.

    As for the fatal error, the patch resets the pci-express link and
    follows generic PCI error handler rules to call the error callback
    functions of the endpoint's driver. If the device is a bridge, the patch
    chooses to broadcast the error to downstream devices.

    Signed-off-by: Zhang Yanmin
    Signed-off-by: Greg Kroah-Hartman

    Zhang, Yanmin
     

17 Apr, 2005

2 commits

  • This fixes drivers/pci (mostly pcie stuff).

    Signed-off-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Machek
     
  • 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