1. 15 Feb, 2017 8 commits
    • Bjorn Helgaas's avatar
      Merge branch 'pci/msi' into next · 3ec2574e
      Bjorn Helgaas authored
      * pci/msi:
        PCI/MSI: Update MSI/MSI-X bits in PCIEBUS-HOWTO
        PCI/MSI: Document pci_alloc_irq_vectors(), deprecate pci_enable_msi()
        PCI/MSI: Return -ENOSPC if pci_enable_msi_range() can't get enough vectors
        PCI/portdrv: Use pci_irq_alloc_vectors()
        PCI/MSI: Check that we have a legacy interrupt line before using it
        PCI/MSI: Remove pci_msi_domain_{alloc,free}_irqs()
        PCI/MSI: Remove unused pci_msi_create_default_irq_domain()
        PCI/MSI: Return failure when msix_setup_entries() fails
        PCI/MSI: Remove pci_enable_msi_{exact,range}()
        amd-xgbe: Update PCI support to use new IRQ functions
        [media] cobalt: use pci_irq_allocate_vectors()
        PCI/MSI: Fix msi_capability_init() kernel-doc warnings
      3ec2574e
    • Bjorn Helgaas's avatar
      Merge branch 'pci/hotplug' into next · 906c1426
      Bjorn Helgaas authored
      * pci/hotplug:
        PCI: acpiphp_ibm: Make ibm_apci_table_attr __ro_after_init
        PCI: rpadlpar: Remove unnecessary return statement
      906c1426
    • Bjorn Helgaas's avatar
      Merge branch 'pci/enumeration' into next · 63ab93f0
      Bjorn Helgaas authored
      * pci/enumeration:
        PCI: Remove duplicate check for positive return value from probe() functions
        PCI: Enable PCIe Extended Tags if supported
        PCI: Avoid possible deadlock on pci_lock and p->pi_lock
        PCI/ACPI: Fix bus range comparison in pci_mcfg_lookup()
        PCI: Apply _HPX settings only to relevant devices
      63ab93f0
    • Bjorn Helgaas's avatar
      Merge branch 'pci/dpc' into next · af3a2ab5
      Bjorn Helgaas authored
      * pci/dpc:
        PCI/DPC: Wait for Root Port busy to clear
        PCI/DPC: Decode extended reasons
      af3a2ab5
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aspm' into next · 8f417ca9
      Bjorn Helgaas authored
      * pci/aspm:
        PCI/ASPM: Add comment about L1 substate latency
        PCI/ASPM: Configure L1 substate settings
        PCI/ASPM: Calculate and save the L1.2 timing parameters
        PCI/ASPM: Read and set up L1 substate capabilities
        PCI/ASPM: Add support for L1 substates
        PCI/ASPM: Add L1 substate capability structure register definitions
      8f417ca9
    • Bjorn Helgaas's avatar
      Merge branch 'pci/aer' into next · ca0ef7fe
      Bjorn Helgaas authored
      * pci/aer:
        PCI/AER: Remove unused .link_reset() callback
      ca0ef7fe
    • Christoph Hellwig's avatar
      PCI/MSI: Update MSI/MSI-X bits in PCIEBUS-HOWTO · e4e7d597
      Christoph Hellwig authored
      Update the MSI/MSI-X bits in PCIEBUS-HOWTO.  Stop talking about low-level
      details that mention deprecated APIs and concentrate on what service
      drivers should do and why.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      e4e7d597
    • Christoph Hellwig's avatar
      PCI/MSI: Document pci_alloc_irq_vectors(), deprecate pci_enable_msi() · c3cf2c61
      Christoph Hellwig authored
      Document pci_alloc_irq_vectors() instead of the deprecated pci_enable_msi()
      and pci_enable_msix() APIs.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      c3cf2c61
  2. 14 Feb, 2017 5 commits
  3. 10 Feb, 2017 10 commits
  4. 09 Feb, 2017 2 commits
  5. 30 Jan, 2017 1 commit
    • Bjorn Helgaas's avatar
      PCI: Avoid possible deadlock on pci_lock and p->pi_lock · cdcb33f9
      Bjorn Helgaas authored
      pci_lock is an IRQ-safe spinlock that protects all accesses to PCI
      configuration space (see PCI_OP_READ() and PCI_OP_WRITE() in pci/access.c).
      
      The pci_cfg_access_unlock() path acquires pci_lock, then p->pi_lock (inside
      wake_up_all()).  According to lockdep, there is a possible path involving
      snbep_uncore_pci_read_counter() that could acquire them in the reverse
      order: acquiring p->pi_lock, then pci_lock, which could result in a
      deadlock.  Lockdep details are in the bugzilla below.
      
      Avoid the possible deadlock by dropping pci_lock before waking up any
      config access waiters.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=192901Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      cdcb33f9
  6. 13 Jan, 2017 3 commits
  7. 12 Jan, 2017 1 commit
  8. 11 Jan, 2017 3 commits
  9. 02 Jan, 2017 1 commit
    • Bjorn Helgaas's avatar
      PCI: Apply _HPX settings only to relevant devices · 977509f7
      Bjorn Helgaas authored
      Previously we didn't check the type of device before trying to apply Type 1
      (PCI-X) or Type 2 (PCIe) Setting Records from _HPX.
      
      We don't support PCI-X Setting Records, so this was harmless, but the
      warning was useless.
      
      We do support PCIe Setting Records, and we didn't check whether a device
      was PCIe before applying settings.  I don't think anything bad happened on
      non-PCIe devices because pcie_capability_clear_and_set_word(),
      pcie_cap_has_lnkctl(), etc., would fail before doing any harm.  But it's
      ugly to depend on those internals.
      
      Check the device type before attempting to apply Type 1 and Type 2 Setting
      Records (Type 0 records are applicable to PCI, PCI-X, and PCIe devices).
      
      A side benefit is that this prevents useless "not supported" warnings when
      a BIOS supplies a Type 1 (PCI-X) Setting Record and we try to apply it to
      every single device:
      
        pci 0000:00:00.0: PCI-X settings not supported
      
      After this patch, we'll get the warning only when a BIOS supplies a Type 1
      record and we have a PCI-X device to which it should be applied.
      
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=187731Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      977509f7
  10. 26 Dec, 2016 2 commits
    • Linus Torvalds's avatar
      Linux 4.10-rc1 · 7ce7d89f
      Linus Torvalds authored
      7ce7d89f
    • Larry Finger's avatar
      powerpc: Fix build warning on 32-bit PPC · 8ae679c4
      Larry Finger authored
      I am getting the following warning when I build kernel 4.9-git on my
      PowerBook G4 with a 32-bit PPC processor:
      
          AS      arch/powerpc/kernel/misc_32.o
        arch/powerpc/kernel/misc_32.S:299:7: warning: "CONFIG_FSL_BOOKE" is not defined [-Wundef]
      
      This problem is evident after commit 989cea5c ("kbuild: prevent
      lib-ksyms.o rebuilds"); however, this change in kbuild only exposes an
      error that has been in the code since 2005 when this source file was
      created.  That was with commit 9994a338 ("powerpc: Introduce
      entry_{32,64}.S, misc_{32,64}.S, systbl.S").
      
      The offending line does not make a lot of sense.  This error does not
      seem to cause any errors in the executable, thus I am not recommending
      that it be applied to any stable versions.
      
      Thanks to Nicholas Piggin for suggesting this solution.
      
      Fixes: 9994a338 ("powerpc: Introduce entry_{32,64}.S, misc_{32,64}.S, systbl.S")
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Nicholas Piggin <npiggin@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: linuxppc-dev@lists.ozlabs.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8ae679c4
  11. 25 Dec, 2016 4 commits
    • Linus Torvalds's avatar
      avoid spurious "may be used uninitialized" warning · d33d5a6c
      Linus Torvalds authored
      The timer type simplifications caused a new gcc warning:
      
        drivers/base/power/domain.c: In function ‘genpd_runtime_suspend’:
        drivers/base/power/domain.c:562:14: warning: ‘time_start’ may be used uninitialized in this function [-Wmaybe-uninitialized]
           elapsed_ns = ktime_to_ns(ktime_sub(ktime_get(), time_start));
      
      despite the actual use of "time_start" not having changed in any way.
      It appears that simply changing the type of ktime_t from a union to a
      plain scalar type made gcc check the use.
      
      The variable wasn't actually used uninitialized, but gcc apparently
      failed to notice that the conditional around the use was exactly the
      same as the conditional around the initialization of that variable.
      
      Add an unnecessary initialization just to shut up the compiler.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d33d5a6c
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3ddc76df
      Linus Torvalds authored
      Pull timer type cleanups from Thomas Gleixner:
       "This series does a tree wide cleanup of types related to
        timers/timekeeping.
      
         - Get rid of cycles_t and use a plain u64. The type is not really
           helpful and caused more confusion than clarity
      
         - Get rid of the ktime union. The union has become useless as we use
           the scalar nanoseconds storage unconditionally now. The 32bit
           timespec alike storage got removed due to the Y2038 limitations
           some time ago.
      
           That leaves the odd union access around for no reason. Clean it up.
      
        Both changes have been done with coccinelle and a small amount of
        manual mopping up"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        ktime: Get rid of ktime_equal()
        ktime: Cleanup ktime_set() usage
        ktime: Get rid of the union
        clocksource: Use a plain u64 instead of cycle_t
      3ddc76df
    • Linus Torvalds's avatar
      Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b272f732
      Linus Torvalds authored
      Pull SMP hotplug notifier removal from Thomas Gleixner:
       "This is the final cleanup of the hotplug notifier infrastructure. The
        series has been reintgrated in the last two days because there came a
        new driver using the old infrastructure via the SCSI tree.
      
        Summary:
      
         - convert the last leftover drivers utilizing notifiers
      
         - fixup for a completely broken hotplug user
      
         - prevent setup of already used states
      
         - removal of the notifiers
      
         - treewide cleanup of hotplug state names
      
         - consolidation of state space
      
        There is a sphinx based documentation pending, but that needs review
        from the documentation folks"
      
      * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/armada-xp: Consolidate hotplug state space
        irqchip/gic: Consolidate hotplug state space
        coresight/etm3/4x: Consolidate hotplug state space
        cpu/hotplug: Cleanup state names
        cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions
        staging/lustre/libcfs: Convert to hotplug state machine
        scsi/bnx2i: Convert to hotplug state machine
        scsi/bnx2fc: Convert to hotplug state machine
        cpu/hotplug: Prevent overwriting of callbacks
        x86/msr: Remove bogus cleanup from the error path
        bus: arm-ccn: Prevent hotplug callback leak
        perf/x86/intel/cstate: Prevent hotplug callback leak
        ARM/imx/mmcd: Fix broken cpu hotplug handling
        scsi: qedi: Convert to hotplug state machine
      b272f732
    • Linus Torvalds's avatar
      Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux · 10bbe759
      Linus Torvalds authored
      Pull turbostat updates from Len Brown.
      
      * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
        tools/power turbostat: remove obsolete -M, -m, -C, -c options
        tools/power turbostat: Make extensible via the --add parameter
        tools/power turbostat: Denverton uses a 25 MHz crystal, not 19.2 MHz
        tools/power turbostat: line up headers when -M is used
        tools/power turbostat: fix SKX PKG_CSTATE_LIMIT decoding
        tools/power turbostat: Support Knights Mill (KNM)
        tools/power turbostat: Display HWP OOB status
        tools/power turbostat: fix Denverton BCLK
        tools/power turbostat: use intel-family.h model strings
        tools/power/turbostat: Add Denverton RAPL support
        tools/power/turbostat: Add Denverton support
        tools/power/turbostat: split core MSR support into status + limit
        tools/power turbostat: fix error case overflow read of slm_freq_table[]
        tools/power turbostat: Allocate correct amount of fd and irq entries
        tools/power turbostat: switch to tab delimited output
        tools/power turbostat: Gracefully handle ACPI S3
        tools/power turbostat: tidy up output on Joule counter overflow
      10bbe759