Skip to content
  1. Apr 19, 2017
    • Fu Wei's avatar
      clocksource: arm_arch_timer: split MMIO timer probing. · c389d701
      Fu Wei authored
      
      
      Currently the code to probe MMIO architected timers mixes DT parsing with
      actual poking of hardware. This makes the code harder than necessary to
      understand, and makes it difficult to add support for probing via ACPI.
      
      This patch splits the DT parsing from HW probing. The DT parsing now
      lives in arch_timer_mem_of_init(), which fills in an arch_timer_mem
      structure that it hands to probing functions that can be reused for ACPI
      support.
      
      Since the rate detection logic will be slight different when using ACPI,
      the probing is performed as a number of steps. This results in more code
      for the moment, and some arguably redundant work, but simplifies matters
      considerably when ACPI support is added.
      
      Signed-off-by: default avatarFu Wei <fu.wei@linaro.org>
      [Mark: refactor the probing split]
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      c389d701
    • Fu Wei's avatar
      clocksource: arm_arch_timer: add structs to describe MMIO timer · b3251b8f
      Fu Wei authored
      
      
      In preparation for ACPI GTDT support, this patch adds structs to
      describe the MMIO timers indepedent of the firmware interface.
      
      Subsequent patches will use these to split the FW/HW probing logic, so
      that the HW probing logic can be shared by ACPI and DT.
      
      Signed-off-by: default avatarFu Wei <fu.wei@linaro.org>
      Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      b3251b8f
    • Fu Wei's avatar
      clocksource: arm_arch_timer: move arch_timer_needs_of_probing into DT init call · ca0e1b52
      Fu Wei authored
      
      
      To cleanly split code paths specific to ACPI or DT at a higher level,
      this patch removes arch_timer_init(), folding the relevant
      parts of its logic into existing callers.
      
      This pathes the way for further rework, and saves a few lines.
      
      Signed-off-by: default avatarFu Wei <fu.wei@linaro.org>
      Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
      [Mark: reword commit message]
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      ca0e1b52
    • Fu Wei's avatar
      clocksource: arm_arch_timer: refactor arch_timer_needs_probing · 13bf6992
      Fu Wei authored
      
      
      When booting with DT, it's possible for timer nodes to be probed in any
      order. Some common initialisation needs to occur after all nodes have
      been probed, and arch_timer_common_init() has code to detect when this
      has happened.
      
      This logic is DT-specific, and it would be best to factor it out of the
      common code that will be shared with ACPI.
      
      This patch folds this into the existing arch_timer_needs_probing(),
      which is renamed to arch_timer_needs_of_probing(), and no longer takes
      any arguments. This is only called when using DT, and not when using
      ACPI, which will have a deterministic probe order.
      
      Signed-off-by: default avatarFu Wei <fu.wei@linaro.org>
      Reviewed-by: default avatarHanjun Guo <hanjun.guo@linaro.org>
      [Mark: reword commit message]
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      13bf6992
    • Fu Wei's avatar
      clocksource: arm_arch_timer: split dt-only rate handling · 5d3dfa96
      Fu Wei authored
      
      
      For historical reasons, rate detection when probing via DT is somewhat
      convoluted. We tried to package this up in arch_timer_detect_rate(), but
      with the addition of ACPI worse, and gets in the way of stringent rate
      checking when ACPI is used.
      
      This patch makes arch_timer_detect_rate() specific to DT, ripping out
      ACPI logic. In preparation for rework of the MMIO timer probing, the
      reading of the relevant CNTFRQ register is factored out to callers. The
      function is then renamed to arch_timer_of_configure_rate(), which better
      represents its new place in the world.
      
      Comments are added in the DT and ACPI probe paths to explain this.
      
      Signed-off-by: default avatarFu Wei <fu.wei@linaro.org>
      [Mark: reword commit message]
      Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
      5d3dfa96
  2. Apr 10, 2017
  3. Apr 07, 2017
  4. Mar 20, 2017
    • Linus Torvalds's avatar
      Linux 4.11-rc3 · 97da3854
      Linus Torvalds authored
      97da3854
    • Linus Torvalds's avatar
      mm/swap: don't BUG_ON() due to uninitialized swap slot cache · 452b94b8
      Linus Torvalds authored
      
      
      This BUG_ON() triggered for me once at shutdown, and I don't see a
      reason for the check.  The code correctly checks whether the swap slot
      cache is usable or not, so an uninitialized swap slot cache is not
      actually problematic afaik.
      
      I've temporarily just switched the BUG_ON() to a WARN_ON_ONCE(), since
      I'm not sure why that seemingly pointless check was there.  I suspect
      the real fix is to just remove it entirely, but for now we'll warn about
      it but not bring the machine down.
      
      Cc: "Huang, Ying" <ying.huang@intel.com>
      Cc: Tim Chen <tim.c.chen@linux.intel.com>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      452b94b8
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · a07a6e41
      Linus Torvalds authored
      Pull more powerpc fixes from Michael Ellerman:
       "A couple of minor powerpc fixes for 4.11:
      
         - wire up statx() syscall
      
         - don't print a warning on memory hotplug when HPT resizing isn't
           available
      
        Thanks to: David Gibson, Chandan Rajendra"
      
      * tag 'powerpc-4.11-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries: Don't give a warning when HPT resizing isn't available
        powerpc: Wire up statx() syscall
      a07a6e41
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 4571bc5a
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
      
       - Mikulas Patocka added support for R_PARISC_SECREL32 relocations in
         modules with CONFIG_MODVERSIONS.
      
       - Dave Anglin optimized the cache flushing for vmap ranges.
      
       - Arvind Yadav provided a fix for a potential NULL pointer dereference
         in the parisc perf code (and some code cleanups).
      
       - I wired up the new statx system call, fixed some compiler warnings
         with the access_ok() macro and fixed shutdown code to really halt a
         system at shutdown instead of crashing & rebooting.
      
      * 'parisc-4.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix system shutdown halt
        parisc: perf: Fix potential NULL pointer dereference
        parisc: Avoid compiler warnings with access_ok()
        parisc: Wire up statx system call
        parisc: Optimize flush_kernel_vmap_range and invalidate_kernel_vmap_range
        parisc: support R_PARISC_SECREL32 relocation in modules
      4571bc5a
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 8aa34172
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "The bulk of the changes are in qla2xxx target driver code to address
        various issues found during Cavium/QLogic's internal testing (stable
        CC's included), along with a few other stability and smaller
        miscellaneous improvements.
      
        There are also a couple of different patch sets from Mike Christie,
        which have been a result of his work to use target-core ALUA logic
        together with tcm-user backend driver.
      
        Finally, a patch to address some long standing issues with
        pass-through SCSI export of TYPE_TAPE + TYPE_MEDIUM_CHANGER devices,
        which will make folks using physical (or virtual) magnetic tape happy"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (28 commits)
        qla2xxx: Update driver version to 9.00.00.00-k
        qla2xxx: Fix delayed response to command for loop mode/direct connect.
        qla2xxx: Change scsi host lookup method.
        qla2xxx: Add DebugFS node to display Port Database
        qla2xxx: Use IOCB interface to submit non-critical MBX.
        qla2xxx: Add async new target notification
        qla2xxx: Export DIF stats via debugfs
        qla2xxx: Improve T10-DIF/PI handling in driver.
        qla2xxx: Allow relogin to proceed if remote login did not finish
        qla2xxx: Fix sess_lock & hardware_lock lock order problem.
        qla2xxx: Fix inadequate lock protection for ABTS.
        qla2xxx: Fix request queue corruption.
        qla2xxx: Fix memory leak for abts processing
        qla2xxx: Allow vref count to timeout on vport delete.
        tcmu: Convert cmd_time_out into backend device attribute
        tcmu: make cmd timeout configurable
        tcmu: add helper to check if dev was configured
        target: fix race during implicit transition work flushes
        target: allow userspace to set state to transitioning
        target: fix ALUA transition timeout handling
        ...
      8aa34172
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 1b8df619
      Linus Torvalds authored
      Pull device-dax fixes from Dan Williams:
       "The device-dax driver was not being careful to handle falling back to
        smaller fault-granularity sizes.
      
        The driver already fails fault attempts that are smaller than the
        device's alignment, but it also needs to handle the cases where a
        larger page mapping could be established. For simplicity of the
        immediate fix the implementation just signals VM_FAULT_FALLBACK until
        fault-size == device-alignment.
      
        One fix is for -stable to address pmd-to-pte fallback from the
        original implementation, another fix is for the new (introduced in
        4.11-rc1) pud-to-pmd regression, and a typo fix comes along for the
        ride.
      
        These have received a build success notification from the kbuild
        robot"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        device-dax: fix debug output typo
        device-dax: fix pud fault fallback handling
        device-dax: fix pmd/pte fault fallback handling
      1b8df619
  5. Mar 19, 2017