1. 21 Apr, 2015 14 commits
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Move vcore preemption point up into kvmppc_run_vcpu · 25fedfca
      Paul Mackerras authored
      Rather than calling cond_resched() in kvmppc_run_core() before doing
      the post-processing for the vcpus that we have just run (that is,
      calling kvmppc_handle_exit_hv(), kvmppc_set_timer(), etc.), we now do
      that post-processing before calling cond_resched(), and that post-
      processing is moved out into its own function, post_guest_process().
      
      The reschedule point is now in kvmppc_run_vcpu() and we define a new
      vcore state, VCORE_PREEMPT, to indicate that that the vcore's runner
      task is runnable but not running.  (Doing the reschedule with the
      vcore in VCORE_INACTIVE state would be bad because there are potentially
      other vcpus waiting for the runner in kvmppc_wait_for_exec() which
      then wouldn't get woken up.)
      
      Also, we make use of the handy cond_resched_lock() function, which
      unlocks and relocks vc->lock for us around the reschedule.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      25fedfca
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Minor cleanups · 1f09c3ed
      Paul Mackerras authored
      * Remove unused kvmppc_vcore::n_busy field.
      * Remove setting of RMOR, since it was only used on PPC970 and the
        PPC970 KVM support has been removed.
      * Don't use r1 or r2 in setting the runlatch since they are
        conventionally reserved for other things; use r0 instead.
      * Streamline the code a little and remove the ext_interrupt_to_host
        label.
      * Add some comments about register usage.
      * hcall_try_real_mode doesn't need to be global, and can't be
        called from C code anyway.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      1f09c3ed
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Simplify handling of VCPUs that need a VPA update · d911f0be
      Paul Mackerras authored
      Previously, if kvmppc_run_core() was running a VCPU that needed a VPA
      update (i.e. one of its 3 virtual processor areas needed to be pinned
      in memory so the host real mode code can update it on guest entry and
      exit), we would drop the vcore lock and do the update there and then.
      Future changes will make it inconvenient to drop the lock, so instead
      we now remove it from the list of runnable VCPUs and wake up its
      VCPU task.  This will have the effect that the VCPU task will exit
      kvmppc_run_vcpu(), go around the do loop in kvmppc_vcpu_run_hv(), and
      re-enter kvmppc_run_vcpu(), whereupon it will do the necessary call
      to kvmppc_update_vpas() and then rejoin the vcore.
      
      The one complication is that the runner VCPU (whose VCPU task is the
      current task) might be one of the ones that gets removed from the
      runnable list.  In that case we just return from kvmppc_run_core()
      and let the code in kvmppc_run_vcpu() wake up another VCPU task to be
      the runner if necessary.
      
      This all means that the VCORE_STARTING state is no longer used, so we
      remove it.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      d911f0be
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Accumulate timing information for real-mode code · b6c295df
      Paul Mackerras authored
      This reads the timebase at various points in the real-mode guest
      entry/exit code and uses that to accumulate total, minimum and
      maximum time spent in those parts of the code.  Currently these
      times are accumulated per vcpu in 5 parts of the code:
      
      * rm_entry - time taken from the start of kvmppc_hv_entry() until
        just before entering the guest.
      * rm_intr - time from when we take a hypervisor interrupt in the
        guest until we either re-enter the guest or decide to exit to the
        host.  This includes time spent handling hcalls in real mode.
      * rm_exit - time from when we decide to exit the guest until the
        return from kvmppc_hv_entry().
      * guest - time spend in the guest
      * cede - time spent napping in real mode due to an H_CEDE hcall
        while other threads in the same vcore are active.
      
      These times are exposed in debugfs in a directory per vcpu that
      contains a file called "timings".  This file contains one line for
      each of the 5 timings above, with the name followed by a colon and
      4 numbers, which are the count (number of times the code has been
      executed), the total time, the minimum time, and the maximum time,
      all in nanoseconds.
      
      The overhead of the extra code amounts to about 30ns for an hcall that
      is handled in real mode (e.g. H_SET_DABR), which is about 25%.  Since
      production environments may not wish to incur this overhead, the new
      code is conditional on a new config symbol,
      CONFIG_KVM_BOOK3S_HV_EXIT_TIMING.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      b6c295df
    • Paul Mackerras's avatar
      KVM: PPC: Book3S HV: Create debugfs file for each guest's HPT · e23a808b
      Paul Mackerras authored
      This creates a debugfs directory for each HV guest (assuming debugfs
      is enabled in the kernel config), and within that directory, a file
      by which the contents of the guest's HPT (hashed page table) can be
      read.  The directory is named vmnnnn, where nnnn is the PID of the
      process that created the guest.  The file is named "htab".  This is
      intended to help in debugging problems in the host's management
      of guest memory.
      
      The contents of the file consist of a series of lines like this:
      
        3f48 4000d032bf003505 0000000bd7ff1196 00000003b5c71196
      
      The first field is the index of the entry in the HPT, the second and
      third are the HPT entry, so the third entry contains the real page
      number that is mapped by the entry if the entry's valid bit is set.
      The fourth field is the guest's view of the second doubleword of the
      entry, so it contains the guest physical address.  (The format of the
      second through fourth fields are described in the Power ISA and also
      in arch/powerpc/include/asm/mmu-hash64.h.)
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      e23a808b
    • Suresh Warrier's avatar
      KVM: PPC: Book3S HV: Add ICP real mode counters · 6e0365b7
      Suresh Warrier authored
      Add two counters to count how often we generate real-mode ICS resend
      and reject events. The counters provide some performance statistics
      that could be used in the future to consider if the real mode functions
      need further optimizing. The counters are displayed as part of IPC and
      ICP state provided by /sys/debug/kernel/powerpc/kvm* for each VM.
      
      Also added two counters that count (approximately) how many times we
      don't find an ICP or ICS we're looking for. These are not currently
      exposed through sysfs, but can be useful when debugging crashes.
      Signed-off-by: default avatarSuresh Warrier <warrier@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      6e0365b7
    • Suresh Warrier's avatar
      KVM: PPC: Book3S HV: Move virtual mode ICP functions to real-mode · b0221556
      Suresh Warrier authored
      Interrupt-based hypercalls return H_TOO_HARD to inform KVM that it needs
      to switch to the host to complete the rest of hypercall function in
      virtual mode. This patch ports the virtual mode ICS/ICP reject and resend
      functions to be runnable in hypervisor real mode, thus avoiding the need
      to switch to the host to execute these functions in virtual mode. However,
      the hypercalls continue to return H_TOO_HARD for vcpu_wakeup and notify
      events - these events cannot be done in real mode and they will still need
      a switch to host virtual mode.
      
      There are sufficient differences between the real mode code and the
      virtual mode code for the ICS/ICP resend and reject functions that
      for now the code has been duplicated instead of sharing common code.
      In the future, we can look at creating common functions.
      Signed-off-by: default avatarSuresh Warrier <warrier@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      b0221556
    • Suresh Warrier's avatar
      KVM: PPC: Book3S HV: Convert ICS mutex lock to spin lock · 34cb7954
      Suresh Warrier authored
      Replaces the ICS mutex lock with a spin lock since we will be porting
      these routines to real mode. Note that we need to disable interrupts
      before we take the lock in anticipation of the fact that on the guest
      side, we are running in the context of a hard irq and interrupts are
      disabled (EE bit off) when the lock is acquired. Again, because we
      will be acquiring the lock in hypervisor real mode, we need to use
      an arch_spinlock_t instead of a normal spinlock here as we want to
      avoid running any lockdep code (which may not be safe to execute in
      real mode).
      Signed-off-by: default avatarSuresh Warrier <warrier@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      34cb7954
    • Suresh E. Warrier's avatar
      KVM: PPC: Book3S HV: Add guest->host real mode completion counters · 878610fe
      Suresh E. Warrier authored
      Add counters to track number of times we switch from guest real mode
      to host virtual mode during an interrupt-related hyper call because the
      hypercall requires actions that cannot be completed in real mode. This
      will help when making optimizations that reduce guest-host transitions.
      
      It is safe to use an ordinary increment rather than an atomic operation
      because there is one ICP per virtual CPU and kvmppc_xics_rm_complete()
      only works on the ICP for the current VCPU.
      
      The counters are displayed as part of IPC and ICP state provided by
      /sys/debug/kernel/powerpc/kvm* for each VM.
      Signed-off-by: default avatarSuresh Warrier <warrier@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      878610fe
    • Aneesh Kumar K.V's avatar
      KVM: PPC: Book3S HV: Add helpers for lock/unlock hpte · a4bd6eb0
      Aneesh Kumar K.V authored
      This adds helper routines for locking and unlocking HPTEs, and uses
      them in the rest of the code.  We don't change any locking rules in
      this patch.
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      a4bd6eb0
    • Aneesh Kumar K.V's avatar
      KVM: PPC: Book3S HV: Remove RMA-related variables from code · 31037eca
      Aneesh Kumar K.V authored
      We don't support real-mode areas now that 970 support is removed.
      Remove the remaining details of rma from the code.  Also rename
      rma_setup_done to hpte_setup_done to better reflect the changes.
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      31037eca
    • Michael Ellerman's avatar
      KVM: PPC: Book3S HV: Add fast real-mode H_RANDOM implementation. · e928e9cb
      Michael Ellerman authored
      Some PowerNV systems include a hardware random-number generator.
      This HWRNG is present on POWER7+ and POWER8 chips and is capable of
      generating one 64-bit random number every microsecond.  The random
      numbers are produced by sampling a set of 64 unstable high-frequency
      oscillators and are almost completely entropic.
      
      PAPR defines an H_RANDOM hypercall which guests can use to obtain one
      64-bit random sample from the HWRNG.  This adds a real-mode
      implementation of the H_RANDOM hypercall.  This hypercall was
      implemented in real mode because the latency of reading the HWRNG is
      generally small compared to the latency of a guest exit and entry for
      all the threads in the same virtual core.
      
      Userspace can detect the presence of the HWRNG and the H_RANDOM
      implementation by querying the KVM_CAP_PPC_HWRNG capability.  The
      H_RANDOM hypercall implementation will only be invoked when the guest
      does an H_RANDOM hypercall if userspace first enables the in-kernel
      H_RANDOM implementation using the KVM_CAP_PPC_ENABLE_HCALL capability.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      e928e9cb
    • David Gibson's avatar
      kvmppc: Implement H_LOGICAL_CI_{LOAD,STORE} in KVM · 99342cf8
      David Gibson authored
      On POWER, storage caching is usually configured via the MMU - attributes
      such as cache-inhibited are stored in the TLB and the hashed page table.
      
      This makes correctly performing cache inhibited IO accesses awkward when
      the MMU is turned off (real mode).  Some CPU models provide special
      registers to control the cache attributes of real mode load and stores but
      this is not at all consistent.  This is a problem in particular for SLOF,
      the firmware used on KVM guests, which runs entirely in real mode, but
      which needs to do IO to load the kernel.
      
      To simplify this qemu implements two special hypercalls, H_LOGICAL_CI_LOAD
      and H_LOGICAL_CI_STORE which simulate a cache-inhibited load or store to
      a logical address (aka guest physical address).  SLOF uses these for IO.
      
      However, because these are implemented within qemu, not the host kernel,
      these bypass any IO devices emulated within KVM itself.  The simplest way
      to see this problem is to attempt to boot a KVM guest from a virtio-blk
      device with iothread / dataplane enabled.  The iothread code relies on an
      in kernel implementation of the virtio queue notification, which is not
      triggered by the IO hcalls, and so the guest will stall in SLOF unable to
      load the guest OS.
      
      This patch addresses this by providing in-kernel implementations of the
      2 hypercalls, which correctly scan the KVM IO bus.  Any access to an
      address not handled by the KVM IO bus will cause a VM exit, hitting the
      qemu implementation as before.
      
      Note that a userspace change is also required, in order to enable these
      new hcall implementations with KVM_CAP_PPC_ENABLE_HCALL.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      [agraf: fix compilation]
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      99342cf8
    • Suresh E. Warrier's avatar
      powerpc: Export __spin_yield · ae75116e
      Suresh E. Warrier authored
      Export __spin_yield so that the arch_spin_unlock() function can
      be invoked from a module. This will be required for modules where
      we want to take a lock that is also is acquired in hypervisor
      real mode. Because we want to avoid running any lockdep code
      (which may not be safe in real mode), this lock needs to be
      an arch_spinlock_t instead of a normal spinlock.
      Signed-off-by: default avatarSuresh Warrier <warrier@linux.vnet.ibm.com>
      Acked-by: default avatarPaul Mackerras <paulus@samba.org>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
      ae75116e
  2. 14 Apr, 2015 3 commits
    • Linus Torvalds's avatar
      Merge tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b79013b2
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the big staging driver patchset for 4.1-rc1.
      
        There's a lot of patches here, the Outreachy application period
        happened during this development cycle, so that means that there was a
        lot of cleanup patches accepted.  Other than the normal coding style
        and sparse fixes here, there are some driver updates and work toward
        making some of the drivers into "mergable" shape (like the Unisys
        drivers.)
      
        All of these have been in linux-next for a while"
      
      * tag 'staging-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1214 commits)
        staging: lustre: orthography & coding style
        staging: lustre: lnet: lnet: fix error return code
        staging: lustre: fix sparse warning
        Revert "Staging: sm750fb: Fix C99 Comments"
        Staging: rtl8192u: use correct array for debug output
        staging: rtl8192e: Remove dead code
        staging: rtl8192e: Comment cleanup (style/format)
        staging: rtl8192e: Fix indentation in rtllib_rx_auth_resp()
        staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()
        staging: rtl8192e: Divide rtllib_rx_auth()
        staging: rtl8192e: Fix PRINTK_WITHOUT_KERN_LEVEL warnings
        staging: rtl8192e: Fix DO_WHILE_MACRO_WITH_TRAILING_SEMICOLON warning
        staging: rtl8192e: Fix BRACES warning
        staging: rtl8192e: Fix LINE_CONTINUATIONS warning
        staging: rtl8192e: Fix UNNECESSARY_PARENTHESES warnings
        staging: rtl8192e: remove unused EXPORT_SYMBOL_RSL macro
        staging: rtl8192e: Fix RETURN_VOID warnings
        staging: rtl8192e: Fix UNNECESSARY_ELSE warning
        staging: rtl8723au: Remove unneeded comments
        staging: rtl8723au: Use __func__ in trace logs
        ...
      b79013b2
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c4be50ee
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here's the driver-core / kobject / lz4 tree update for 4.1-rc1.
      
        Everything here has been in linux-next for a while with no reported
        issues.  It's mostly just coding style cleanups, with other minor
        changes in here as well, nothing big"
      
      * tag 'driver-core-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
        debugfs: allow bad parent pointers to be passed in
        stable_kernel_rules: Add clause about specification of kernel versions to patch.
        kobject: WARN as tip when call kobject_get() to a kobject not initialized
        lib/lz4: Pull out constant tables
        drivers: platform: parse IRQ flags from resources
        driver core: Make probe deferral more quiet
        drivers/core/of: Add symlink to device-tree from devices with an OF node
        device: Add dev_of_node() accessor
        drivers: base: fw: fix ret value when loading fw
        firmware: Avoid manual device_create_file() calls
        drivers/base: cacheinfo: validate device node for all the caches
        drivers/base: use tabs where possible in code indentation
        driver core: add missing blank line after declaration
        drivers: base: node: Delete space after pointer declaration
        drivers: base: memory: Use tabs instead of spaces
        firmware_class: Fix whitespace and indentation
        drivers: base: dma-mapping: Erase blank space after pointer
        drivers: base: class: Add a blank line after declarations
        attribute_container: fix missing blank lines after declarations
        drivers: base: memory: Fix switch indent
        ...
      c4be50ee
    • Linus Torvalds's avatar
      Merge tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 42e3a58b
      Linus Torvalds authored
      Pull USB driver updates from Greg KH:
       "Here's the big USB (and PHY) driver patchset for 4.1-rc1.
      
        Everything here has been in linux-next, and the full details are below
        in the shortlog.  Nothing major, just the normal round of new
        drivers,api updates, and other changes, mostly in the USB gadget area,
        as usual"
      
      * tag 'usb-4.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (252 commits)
        drivers/usb/core: devio.c: Removed an uneeded space before tab
        usb: dwc2: host: sleep USB_RESUME_TIMEOUT during resume
        usb: chipidea: debug: add low power mode check before print registers
        usb: chipidea: udc: bypass pullup DP when gadget connect in OTG fsm mode
        usb: core: hub: use new USB_RESUME_TIMEOUT
        usb: isp1760: hcd: use new USB_RESUME_TIMEOUT
        usb: dwc2: hcd: use new USB_RESUME_TIMEOUT
        usb: host: sl811: use new USB_RESUME_TIMEOUT
        usb: host: r8a66597: use new USB_RESUME_TIMEOUT
        usb: host: oxu210hp: use new USB_RESUME_TIMEOUT
        usb: host: fusbh200: use new USB_RESUME_TIMEOUT
        usb: host: fotg210: use new USB_RESUME_TIMEOUT
        usb: host: isp116x: use new USB_RESUME_TIMEOUT
        usb: musb: use new USB_RESUME_TIMEOUT
        usb: host: uhci: use new USB_RESUME_TIMEOUT
        usb: host: ehci: use new USB_RESUME_TIMEOUT
        usb: host: xhci: use new USB_RESUME_TIMEOUT
        usb: define a generic USB_RESUME_TIMEOUT macro
        usb: musb: dsps: fix build on i386 when COMPILE_TEST is set
        ehci-hub: use USB_DT_HUB
        ...
      42e3a58b
  3. 13 Apr, 2015 23 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 4fd48b45
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Nothing too interesting.  Rik made cpuset cooperate better with
        isolcpus and there are several other cleanup patches"
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset, isolcpus: document relationship between cpusets & isolcpus
        cpusets, isolcpus: exclude isolcpus from load balancing in cpusets
        sched, isolcpu: make cpu_isolated_map visible outside scheduler
        cpuset: initialize cpuset a bit early
        cgroup: Use kvfree in pidlist_free()
        cgroup: call cgroup_subsys->bind on cgroup subsys initialization
      4fd48b45
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · a1480a16
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
      
       - Hannes's patchset implements support for better error reporting
         introduced by the new ATA command spec.
      
       - the deperecated pci_ dma API usages have been replaced by dma_ ones.
      
       - a bunch of hardware specific updates and some cleanups.
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ata: remove deprecated use of pci api
        ahci: st: st_configure_oob must be called after IP is clocked.
        ahci: st: Update the ahci_st DT documentation
        ahci: st: Update the DT example for how to obtain the PHY.
        sata_dwc_460ex: indent an if statement
        libata: Add tracepoints
        libata-eh: Set 'information' field for autosense
        libata: Implement support for sense data reporting
        libata: Implement NCQ autosense
        libata: use status bit definitions in ata_dump_status()
        ide,ata: Rename ATA_IDX to ATA_SENSE
        libata: whitespace fixes in ata_to_sense_error()
        libata: whitespace cleanup in ata_get_cmd_descript()
        libata: use READ_LOG_DMA_EXT
        libata: remove ATA_FLAG_LOWTAG
        sata_dwc_460ex: re-use hsdev->dev instead of dwc_dev
        sata_dwc_460ex: move to generic DMA driver
        sata_dwc_460ex: join messages back
        sata: xgene: add ACPI support for APM X-Gene SATA ports
        ata: sata_mv: add proper definitions for LP_PHY_CTL register values
      a1480a16
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 45141eea
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
       "Workqueue now prints debug information at the end of sysrq-t which
        should be helpful when tracking down suspected workqueue stalls.  It
        only prints out the ones with something currently going on so it
        shouldn't add much output in most cases"
      
      * 'for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Reorder sysfs code
        percpu: Fix trivial typos in comments
        workqueue: dump workqueues on sysrq-t
        workqueue: keep track of the flushing task and pool manager
        workqueue: make the workqueues list RCU walkable
      45141eea
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8954672d
      Linus Torvalds authored
      Pull irq core updates from Thomas Gleixner:
       "Managerial summary:
      
        Core code:
         - final removal of IRQF_DISABLED
         - new state save/restore functions for virtualization support
         - wakeup support for stacked irqdomains
         - new function to solve the netpoll synchronization problem
      
       irqchips:
         - new driver for STi based devices
         - new driver for Vybrid MSCM
         - massive cleanup of the GIC driver by moving the GIC-addons to
           stacked irqdomains
         - the usual pile of fixes and updates to the various chip drivers"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        irqchip: GICv3: Add support for irq_[get, set]_irqchip_state()
        irqchip: GIC: Add support for irq_[get, set]_irqchip_state()
        genirq: Allow the irqchip state of an IRQ to be save/restored
        genirq: MSI: Fix freeing of unallocated MSI
        irqchip: renesas-irqc: Add wake-up support
        irqchip: armada-370-xp: Allow using wakeup source
        irqchip: mips-gic: Add new functions to start/stop the GIC counter
        irqchip: tegra: Add Tegra210 support
        irqchip: digicolor: Move digicolor_set_gc to init section
        irqchip: renesas-irqc: Add functional clock to bindings
        irqchip: renesas-irqc: Add minimal runtime PM support
        irqchip: renesas-irqc: Add more register documentation
        DT: exynos: update PMU binding
        ARM: exynos4/5: convert pmu wakeup to stacked domains
        irqchip: gic: Don't complain in gic_get_cpumask() if UP system
        ARM: zynq: switch from gic_arch_extn to gic_set_irqchip_flags
        ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags
        ARM: shmobile: remove use of gic_arch_extn.irq_set_wake
        irqchip: gic: Add an entry point to set up irqchip flags
        ARM: omap: convert wakeupgen to stacked domains
        ...
      8954672d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 3be1b98e
      Linus Torvalds authored
      Pull PCI changes from Bjorn Helgaas:
       "Enumeration
          - Read capability list as dwords, not bytes (Sean O. Stalley)
      
        Resource management
          - Don't check for PNP overlaps with unassigned PCI BARs (Bjorn Helgaas)
          - Mark invalid BARs as unassigned (Bjorn Helgaas)
          - Show driver, BAR#, and resource on pci_ioremap_bar() failure (Bjorn Helgaas)
          - Fail pci_ioremap_bar() on unassigned resources (Bjorn Helgaas)
          - Assign resources before drivers claim devices (Yijing Wang)
          - Claim bus resources before pci_bus_add_devices() (Yijing Wang)
      
        Power management
          - Optimize device state transition delays (Aaron Lu)
          - Don't clear ASPM bits when the FADT declares it's unsupported (Matthew Garrett)
      
        Virtualization
          - Add ACS quirks for Intel 1G NICs (Alex Williamson)
      
        IOMMU
          - Add ptr to OF node arg to of_iommu_configure() (Murali Karicheri)
          - Move of_dma_configure() to device.c to help re-use (Murali Karicheri)
          - Fix size when dma-range is not used (Murali Karicheri)
          - Add helper functions pci_get[put]_host_bridge_device() (Murali Karicheri)
          - Add of_pci_dma_configure() to update DMA configuration (Murali Karicheri)
          - Update DMA configuration from DT (Murali Karicheri)
          - dma-mapping: limit IOMMU mapping size (Murali Karicheri)
          - Calculate device DMA masks based on DT dma-range size (Murali Karicheri)
      
        ARM Versatile host bridge driver
          - Check for devm_ioremap_resource() failures (Jisheng Zhang)
      
        Broadcom iProc host bridge driver
          - Add Broadcom iProc PCIe driver (Ray Jui)
      
        Marvell MVEBU host bridge driver
          - Add suspend/resume support (Thomas Petazzoni)
      
        Renesas R-Car host bridge driver
          - Fix position of MSI enable bit (Nobuhiro Iwamatsu)
          - Write zeroes to reserved PCIEPARL bits (Nobuhiro Iwamatsu)
          - Change PCIEPARL and PCIEPARH to PCIEPALR and PCIEPAUR (Nobuhiro Iwamatsu)
          - Verify that mem_res is 64K-aligned (Nobuhiro Iwamatsu)
      
        Samsung Exynos host bridge driver
          - Fix INTx enablement statement termination error (Jaehoon Chung)
      
        Miscellaneous
          - Make a shareable UUID for PCI firmware ACPI _DSM (Aaron Lu)
          - Clarify policy for vendor IDs in pci.txt (Michael S. Tsirkin)"
      
      * tag 'pci-v4.1-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (36 commits)
        PCI: Read capability list as dwords, not bytes
        PCI: layerscape: Simplify platform_get_resource_byname() failure checking
        PCI: keystone: Don't dereference possible NULL pointer
        PCI: versatile: Check for devm_ioremap_resource() failures
        PCI: Don't clear ASPM bits when the FADT declares it's unsupported
        PCI: Clarify policy for vendor IDs in pci.txt
        PCI/ACPI: Optimize device state transition delays
        PCI: Export pci_find_host_bridge() for use inside PCI core
        PCI: Make a shareable UUID for PCI firmware ACPI _DSM
        PCI: Fix typo in Thunderbolt kernel message
        PCI: exynos: Fix INTx enablement statement termination error
        PCI: iproc: Add Broadcom iProc PCIe support
        PCI: iproc: Add DT docs for Broadcom iProc PCIe driver
        PCI: Export symbols required for loadable host driver modules
        PCI: Add ACS quirks for Intel 1G NICs
        PCI: mvebu: Add suspend/resume support
        PCI: Cleanup control flow
        sparc/PCI: Claim bus resources before pci_bus_add_devices()
        PCI: Assign resources before drivers claim devices (pci_scan_root_bus())
        PCI: Fail pci_ioremap_bar() on unassigned resources
        ...
      3be1b98e
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 392b46f3
      Linus Torvalds authored
      Pull HSI changes from Sebastian Reichel:
      
       - nokia-modem: support speech data
       - misc fixes
      
      * tag 'hsi-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: cmt_speech: fix error return code
        HSI: nokia-modem: Add cmt-speech support
        HSI: cmt_speech: Add cmt-speech driver
        HSI: nokia-modem: fix error return code
      392b46f3
    • Linus Torvalds's avatar
      Merge tag 'for-v4.1' of git://git.infradead.org/battery-2.6 · a21c1ea6
      Linus Torvalds authored
      Pull power supply and reset changes from Sebastian Reichel:
      
       - new API for safe access of power supply function attrs
      
       - devres support for power supply (un)registration
      
       - new drivers / chips:
           - generic syscon based poweroff driver
           - iio & charger driver for da9150
           - fuel gauge driver for axp288
           - bq27x00: add support for bq27510
           - bq2415x: add support for bq24157s
      
       - twl4030-madc-battery: convert to iio consumer
      
       - misc fixes
      
      * tag 'for-v4.1' of git://git.infradead.org/battery-2.6: (66 commits)
        power: twl4030_madc_battery: Add missing MODULE_ALIAS
        power: twl4030-madc-battery: Convert to iio consumer.
        dt: power: Add docs for generic SYSCON poweroff driver.
        power: reset: Add generic SYSCON register mapped poweroff.
        power: max17042_battery: add missed blank
        power: max17042_battery: Use reg type instead of chip type
        power/reset: at91: big endian fixes for atsama5d3x
        power_supply: charger-manager: Fix dereferencing of ERR_PTR
        HID: input: Fix NULL pointer dereference when power_supply_register fails
        power: constify of_device_id array
        power/reset/rmobile-reset.c: Fix !HAS_IOMEM build
        power_supply: 88pm860x_charger: Fix possible NULL pointer dereference and use of initialized variable
        arm: mach-pxa: Decrement the power supply's device reference counter
        mfd: ab8500: Decrement the power supply's device reference counter
        power_supply: bq2415x_charger: Decrement the power supply's device reference counter
        power_supply: 88pm860x_charger: Decrement the power supply's device reference counter
        x86/olpc/xo15/sci: Use newly added power_supply_put API
        x86/olpc/xo1/sci: Use newly added power_supply_put API
        power_supply: charger-manager: Decrement the power supply's device reference counter
        power_supply: Increment power supply use counter when obtaining references
        ...
      a21c1ea6
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · d700b056
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Another release, another set of regulator updates.  Not much of it is
        showing up in the code yet but there's been a lot of discussion going
        on about how to enhance the regulator API to work better with modern
        SoCs which have a microcontroller sitting between Linux and the
        hardware.
      
        I'm hopeful that'll start to come through into mainline for v4.2 but
        it's not quite there for v4.1 - what we do have (along with the usual
        small updates is) is:
      
         - work from Bjorn Andersson on refactoring the configuration of
           regulator loading interfaces to be useful for use with
           microcontrollers, the existing interfaces were never actually
           useful for anything as-is since nobody was willing to put enough
           data into public code.
      
         - a summary tree display in debugfs from Heiko Stübner.
      
         - support for act6000 regulators"
      
      * tag 'regulator-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (34 commits)
        regulator: max8660: Handle empty regulator data
        regulator: output current-limit for all regulators in summary
        regulator: add a summary tree in debugfs
        regulator: qcom: Tidy up probe()
        regulator: qcom: Rework to single platform device
        regulator: qcom: Refactor of-parsing code
        regulator: qcom: Don't enable DRMS in driver
        regulator: max8660: fix assignment of pdata to data that becomes dead
        regulator: Defer lookup of supply to regulator_get
        mfd: max77693: Remove unused structures
        regulator: max77693: Let core parse DT and drop board files support
        regulator: Ensure unique regulator debugfs directory names
        regulator: stw481x: Remove unused fields from struct stw481x
        regulator: palmas: Add has_regen3 check for TPS659038
        regulator: constify of_device_id array
        regulator: fixes for regulator_set_optimum_mode name change
        regulator: Drop temporary regulator_set_optimum_mode wrapper
        usb: phy: phy-msm-usb: Rename regulator_set_optimum_mode
        usb: phy: ab8500-usb: Rename regulator_set_optimum_mode
        ufs: Rename of regulator_set_optimum_mode
        ...
      d700b056
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 0055dc5b
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "Only one framework update this time around, a change from Lars-Peter
        to move full to pm_ops and remove the legacy bus PM ops.  Otherwise
        it's all driver updates:
      
         - make the spidev driver complain loudly if registered as spidev with
           DT rather than with a compatible string, hopefully helping people
           avoid making that mistake.
      
         - error handling and robustness fixes for the Designware and Intel
           MID drivers from Andy Shevchenko.
      
         - substantial performance improvements for the Raspberry Pi driver
           from Martin Sperl.
      
         - several new features for spidev_test from Adrian Remonda and Ian
           Abbott"
      
      * tag 'spi-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (75 commits)
        spi: bcm2835: enabling polling mode for transfers shorter than 30us
        spi: bcm2835: transform native-cs to gpio-cs on first spi_setup
        spi: img-spfi: Control CS lines with GPIO
        spi: img-spfi: Reset controller after each message
        spi: img-spfi: Implement a handle_err() callback
        spi: img-spfi: Setup TRANSACTION register before CONTROL register
        spi: Make master->handle_err() callback optional to avoid crashes
        spi: img-spfi: Limit bit clock to 1/4th of input clock
        spi: img-spfi: Implement a prepare_message() callback
        spi: fsl-dspi: Add ~50ns delay between cs and sck
        spi: fsl-dspi: Add cs-sck delays
        spi: fsl-dspi: Fix clock rate scale values
        spi: signedness bug in qspi_trigger_transfer_out_int()
        spi: imx: read back the RX/TX watermark levels earlier
        spi: spi-bfin5xx: Initialize cr_width in bfin_spi_pump_transfers()
        spi: bitbang: only toggle bitchanges
        spi: pxa2xx: missing break in pxa2xx_ssp_get_clk_div()
        spi: fsl-dspi: Fix clock rate scale values
        spi: Using Trigger number to transmit/receive data
        spi: bcm2835: fill FIFO before enabling interrupts to reduce interrupts/message
        ...
      0055dc5b
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 1b57c7c2
      Linus Torvalds authored
      Pull regmap update from Mark Brown:
       "Just one patch for regmap this time around, a change from Steven
        Rostedt to prettify the way we're making the regmap internal header
        available to the trace events (it turns out that the trace subsystem
        doesn't actually need to be in trace/events)"
      
      * tag 'regmap-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Move tracing header into drivers/base/regmap
      1b57c7c2
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc · 8d9095c6
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Add support for marking HPI as broken through devicetree
         - Enable runtime PM management of host devices
         - Remove the ->enable|disable() callbacks
         - Restructure code and cleanups
         - Refreshed some of the MMC sections in MAINTAINERS
      
        MMC host:
         - dw_mmc: HS400 mode support
         - dw_mmc: Add the cmd11 timer to detect a timeout
         - dw_mmc: Endian agnostic IO accessors
         - dw_mmc: Bugfixes
         - sh_mmcif: Add exclusion between cmd and interrupt
         - omap_hsmmc: Hibernation support
         - omap_hsmmc: Rework and simplify cover/card detect
         - omap_hsmmc: Stop using ->enable|disable() callbacks
         - atmel-mci: Endian agnostic IO
         - sunxi: Enable MMC_CAP_SDIO_IRQ
         - sdhci-st: Add support for the stih407 family silicon
         - sdhci-st: UHS card support in SDR104 mode
         - sdhci-st: HS200 mode support
         - sdhci-esdhc-imx: Use common mmc DT parser
         - sdhci-of-arasan: Use common mmc DT parser
         - sdhci-iproc: Add new driver for Broadcom IPROC SDHCI controller
         - sdhci-tegra: Convert to GPIO descriptors
         - sdhci-tegra: Optmize write_w path for tegra114 and later
         - sdhci-sirf: Update tuning procedure
         - sdhci: Fix card presence logic
         - sdhci: Cleanups and consolidation"
      
      * tag 'mmc-v4.1' of git://git.linaro.org/people/ulf.hansson/mmc: (79 commits)
        mmc: sdhci-st: Update ST SDHCI binding documentation.
        mmc: sdhci-st: Update the quirks for this controller.
        mmc: sdhci-st: Add sdhci_st_set_uhs_signaling function.
        mmc: sdhci-st: Add st_mmcss_cconfig function to configure mmcss glue registers.
        mmc: sdhci-st: Add delay management functions for top registers (eMMC).
        mmc: sdhci-st: Add support for de-asserting reset signal and top regs resource
        mmc: sdhci-st: Add macros for register offsets and bitfields for mmcss glue regs
        mmc: sdhci-esdhc-imx: Call mmc_of_parse()
        mmc: dw_mmc: Add locking around cmd11 timer
        mmc: dw_mmc: Add a return in an unexpected cmd11 timeout
        mmc: dw_mmc: Increase cmd11 timeout to 500ms
        mmc: dw_mmc: fix fifo ordering in big endian
        mmc: dw_mmc: change idmac descriptor files to __le32
        mmc: dw_mmc: make IO accessors endian agnostic
        mmc: core: Convert the error field in struct mmc_command|data into an int
        mmc: sdhci-of-arasan: Call OF parsing for MMC
        mmc: sdhci-pci: fix 64 BIT DMA quirks for rtsx
        mmc: Add support for marking hpi as broken through devicetree
        mmc: sdhci-tegra: convert to use GPIO descriptors
        mmc: omap_hsmmc: use generic slot-gpio isr to manage card detect pin
        ...
      8d9095c6
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 1a370f4c
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - convert a bunch of drivers to static attribute groups (Takashi Iwai)
      
       - misc cleanups
      
      * tag 'edac_for_4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC: Constify of_device_id array
        EDAC, i82443bxgx: Don't export static symbol
        EDAC, amd64_edac: Get rid of per-node driver instances
        EDAC: Properly unwind on failure path in edac_init()
        EDAC: highbank: Use static attribute groups for sysfs entries
        EDAC: octeon: Use static attribute groups for sysfs entries
        EDAC: mpc85xx: Use static attribute groups for sysfs entries
        EDAC: i7core: Use static attribute groups for sysfs entries
        EDAC: i7core: Return proper error codes for kzalloc() errors
        EDAC: amd64: Use static attribute groups
        EDAC: Allow to pass driver-specific attribute groups
        EDAC: Use static attribute groups for managing sysfs entries
        EDAC: Delete unnecessary checks before pci_dev_put()
      1a370f4c
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.1' of... · 4b5ca741
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "Support for new chips:
      
         - add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87
           driver
      
         - add driver for NCT7904
      
        Functional improvements:
      
         - support for new devicetree structure in ibmpowernv driver
      
         - register pwm-fan and gpio-fan drivers as thermal cooling devices
      
         - various minor cleanup and improvements to it87, nct6775, jc42,
           ibmpex, and coretemp drivers"
      
      * tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits)
        hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan
        hwmon: (it87) Use feature macros on sio_data
        hwmon: (ibmpowernv) Fix build error seen for some configurations
        hwmon: (gpio-fan) Move the thermal registration after registration is complete
        hwmon: (ibmpowernv) pretty print labels
        hwmon: (ibmpowernv) add a label attribute
        hwmon: (ibmpowernv) add support for the new device tree
        hwmon: (ibmpowernv) add a helper routine create_hwmon_attr
        hwmon: (it87) Add support for 6th fan of IT8620E
        hwmon: (it87) Add support for IT8620E
        hwmon: (it87) Add support for IT8790E
        hwmon: (it87) Introduce feature flag to reflect internal in7 sensor
        hwmon: (it87) Introduce configuration field for chip suffix
        hwmon: (it87) Fix PWM frequency display for chips with newer PWM control
        hwmon: (it87) Fix pwm sysfs attribute removal
        hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names
        hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype
        hwmon: (ibmpowernv) add a convert_opal_attr_name() routine
        hwmon: (ibmpowernv) add a get_sensor_type() routine
        hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP
        ...
      4b5ca741
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 · cb0fc55d
      Linus Torvalds authored
      Pull avr32 fix from Hans-Christian Egtvedt.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32:
        avr32: fix integer overflow in ELF_ET_DYN_BASE
      cb0fc55d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 5142ef1c
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mac: Fix out-of-bounds array index in OSS IRQ source initialization
        m68k/pci: Remove a superflous KERN_ERR
        m68k/defconfig: Update defconfigs for v4.0-rc1
        m68k/q40: Make NE2000 builtin instead of modular
        m68k: Remove FSF address
      5142ef1c
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6a16dda8
      Linus Torvalds authored
      Pull x86 vdso changes from Ingo Molnar:
       "Misc vDSO updates"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vdso: Remove x32 intermediates during 'make clean'
        x86/vdso: Teach 'make clean' to remove generated vdso-image-*.c files
        x86/vdso32/syscall.S: Do not load __USER32_DS to %ss
        x86/vdso: Fix the x86 vdso2c tool includes
      6a16dda8
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ec1bc8e4
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "Leftover from 4.0
      
        Fix a local stack variable corruption with certain kdump usage
        patterns (Dave Young)"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug()
      ec1bc8e4
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 07f2d8c6
      Linus Torvalds authored
      Pull x86 RAS changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Simplify the CMCI storm logic on Intel CPUs after yet another
           report about a race in the code (Borislav Petkov)
      
         - Enable the MCE threshold irq on AMD CPUs by default (Aravind
           Gopalakrishnan)
      
         - Add AMD-specific MCE-severity grading function.  Further error
           recovery actions will be based on its output (Aravind Gopalakrishnan)
      
         - Documentation updates (Borislav Petkov)
      
         - ... assorted fixes and cleanups"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce/severity: Fix warning about indented braces
        x86/mce: Define mce_severity function pointer
        x86/mce: Add an AMD severities-grading function
        x86/mce: Reindent __mcheck_cpu_apply_quirks() properly
        x86/mce: Use safe MSR accesses for AMD quirk
        x86/MCE/AMD: Enable thresholding interrupts by default if supported
        x86/MCE: Make mce_panic() fatal machine check msg in the same pattern
        x86/MCE/intel: Cleanup CMCI storm logic
        Documentation/acpi/einj: Correct and streamline text
        x86/MCE/AMD: Drop bogus const modifier from AMD's bank4_names()
      07f2d8c6
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ee799f41
      Linus Torvalds authored
      Pull x86 platform change from Ingo Molnar:
       "An Intel Quark SoC fix"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/intel/quark: Run IMR self-test on IMR capble hw only
      ee799f41
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6cf78d4b
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "The main changes in this cycle were:
      
         - reduce the x86/32 PAE per task PGD allocation overhead from 4K to
           0.032k (Fenghua Yu)
      
         - early_ioremap/memunmap() usage cleanups (Juergen Gross)
      
         - gbpages support cleanups (Luis R Rodriguez)
      
         - improve AMD Bulldozer (family 0x15) ASLR I$ aliasing workaround to
           increase randomization by 3 bits (per bootup) (Hector
           Marco-Gisbert)
      
         - misc fixlets"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Improve AMD Bulldozer ASLR workaround
        x86/mm/pat: Initialize __cachemode2pte_tbl[] and __pte2cachemode_tbl[] in a bit more readable fashion
        init.h: Clean up the __setup()/early_param() macros
        x86/mm: Simplify probe_page_size_mask()
        x86/mm: Further simplify 1 GB kernel linear mappings handling
        x86/mm: Use early_param_on_off() for direct_gbpages
        init.h: Add early_param_on_off()
        x86/mm: Simplify enabling direct_gbpages
        x86/mm: Use IS_ENABLED() for direct_gbpages
        x86/mm: Unexport set_memory_ro() and set_memory_rw()
        x86/mm, efi: Use early_ioremap() in arch/x86/platform/efi/efi-bgrt.c
        x86/mm: Use early_memunmap() instead of early_iounmap()
        x86/mm/pat: Ensure different messages in STRICT_DEVMEM and PAT cases
        x86/mm: Reduce PAE-mode per task pgd allocation overhead from 4K to 32 bytes
      6cf78d4b
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0ad5c6b3
      Linus Torvalds authored
      Pull x86 microcode changes from Ingo Molnar:
       "Microcode driver updates: mostly cleanups but also some fixes
        (Borislav Petkov)"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/amd: Drop the pci_ids.h dependency
        x86/microcode/intel: Fix printing of microcode blobs in show_saved_mc()
        x86/microcode/intel: Check scan_microcode()'s retval
        x86/microcode/intel: Sanitize microcode_pointer()
        x86/microcode/intel: Move mc arg last in get_matching_{microcode|sig}
        x86/microcode/intel: Simplify generic_load_microcode_early()
        x86/microcode: Consolidate family,model, ... code
        x86/microcode/intel: Rename update_match_revision()
        x86/microcode/intel: Sanitize _save_mc()
        x86/microcode/intel: Make _save_mc() return the updated saved count
        x86/microcode/intel: Simplify load_ucode_intel_bsp()
        x86/microcode/intel: Get rid of last arg to load_ucode_intel_bsp()
        x86/microcode/intel: Do the mc_saved_src NULL check first
        x86/microcode/intel: Check if microcode was found before applying
        x86/microcode/intel: Fix out of bounds memory access to the extended header
      0ad5c6b3
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 421ec901
      Linus Torvalds authored
      Pull x86 fpu changes from Ingo Molnar:
       "Various x86 FPU handling cleanups, refactorings and fixes (Borislav
        Petkov, Oleg Nesterov, Rik van Riel)"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/fpu: Kill eager_fpu_init_bp()
        x86/fpu: Don't allocate fpu->state for swapper/0
        x86/fpu: Rename drop_init_fpu() to fpu_reset_state()
        x86/fpu: Fold __drop_fpu() into its sole user
        x86/fpu: Don't abuse drop_init_fpu() in flush_thread()
        x86/fpu: Use restore_init_xstate() instead of math_state_restore() on kthread exec
        x86/fpu: Introduce restore_init_xstate()
        x86/fpu: Document user_fpu_begin()
        x86/fpu: Factor out memset(xstate, 0) in fpu_finit() paths
        x86/fpu: Change xstateregs_get()/set() to use ->xsave.i387 rather than ->fxsave
        x86/fpu: Don't abuse FPU in kernel threads if use_eager_fpu()
        x86/fpu: Always allow FPU in interrupt if use_eager_fpu()
        x86/fpu: __kernel_fpu_begin() should clear fpu_owner_task even if use_eager_fpu()
        x86/fpu: Also check fpu_lazy_restore() when use_eager_fpu()
        x86/fpu: Use task_disable_lazy_fpu_restore() helper
        x86/fpu: Use an explicit if/else in switch_fpu_prepare()
        x86/fpu: Introduce task_disable_lazy_fpu_restore() helper
        x86/fpu: Move lazy restore functions up a few lines
        x86/fpu: Change math_error() to use unlazy_fpu(), kill (now) unused save_init_fpu()
        x86/fpu: Don't do __thread_fpu_end() if use_eager_fpu()
        ...
      421ec901
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64f004a2
      Linus Torvalds authored
      Pull x86 debug changes from Ingo Molnar:
       "Stack printing fixlets"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kernel: Use kstack_end() in dumpstack_64.c
        x86/kernel: Fix output of show_stack_log_lvl()
      64f004a2