1. 05 Jun, 2020 40 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.8/dm-changes' of... · b25c6644
      Linus Torvalds authored
      Merge tag 'for-5.8/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - The largest change for this cycle is the DM zoned target's metadata
         version 2 feature that adds support for pairing regular block devices
         with a zoned device to ease the performance impact associated with
         finite random zones of zoned device.
      
         The changes came in three batches: the first prepared for and then
         added the ability to pair a single regular block device, the second
         was a batch of fixes to improve zoned's reclaim heuristic, and the
         third removed the limitation of only adding a single additional
         regular block device to allow many devices.
      
         Testing has shown linear scaling as more devices are added.
      
       - Add new emulated block size (ebs) target that emulates a smaller
         logical_block_size than a block device supports
      
         The primary use-case is to emulate "512e" devices that have 512 byte
         logical_block_size and 4KB physical_block_size. This is useful to
         some legacy applications that otherwise wouldn't be able to be used
         on 4K devices because they depend on issuing IO in 512 byte
         granularity.
      
       - Add discard interfaces to DM bufio. First consumer of the interface
         is the dm-ebs target that makes heavy use of dm-bufio.
      
       - Fix DM crypt's block queue_limits stacking to not truncate
         logic_block_size.
      
       - Add Documentation for DM integrity's status line.
      
       - Switch DMDEBUG from a compile time config option to instead use
         dynamic debug via pr_debug.
      
       - Fix DM multipath target's hueristic for how it manages
         "queue_if_no_path" state internally.
      
         DM multipath now avoids disabling "queue_if_no_path" unless it is
         actually needed (e.g. in response to configure timeout or explicit
         "fail_if_no_path" message).
      
         This fixes reports of spurious -EIO being reported back to userspace
         application during fault tolerance testing with an NVMe backend.
         Added various dynamic DMDEBUG messages to assist with debugging
         queue_if_no_path in the future.
      
       - Add a new DM multipath "Historical Service Time" Path Selector.
      
       - Fix DM multipath's dm_blk_ioctl() to switch paths on IO error.
      
       - Improve DM writecache target performance by using explicit cache
         flushing for target's single-threaded usecase and a small cleanup to
         remove unnecessary test in persistent_memory_claim.
      
       - Other small cleanups in DM core, dm-persistent-data, and DM
         integrity.
      
      * tag 'for-5.8/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (62 commits)
        dm crypt: avoid truncating the logical block size
        dm mpath: add DM device name to Failing/Reinstating path log messages
        dm mpath: enhance queue_if_no_path debugging
        dm mpath: restrict queue_if_no_path state machine
        dm mpath: simplify __must_push_back
        dm zoned: check superblock location
        dm zoned: prefer full zones for reclaim
        dm zoned: select reclaim zone based on device index
        dm zoned: allocate zone by device index
        dm zoned: support arbitrary number of devices
        dm zoned: move random and sequential zones into struct dmz_dev
        dm zoned: per-device reclaim
        dm zoned: add metadata pointer to struct dmz_dev
        dm zoned: add device pointer to struct dm_zone
        dm zoned: allocate temporary superblock for tertiary devices
        dm zoned: convert to xarray
        dm zoned: add a 'reserved' zone flag
        dm zoned: improve logging messages for reclaim
        dm zoned: avoid unnecessary device recalulation for secondary superblock
        dm zoned: add debugging message for reading superblocks
        ...
      b25c6644
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 818dbde7
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       :This series consists of the usual driver updates (qla2xxx, ufs, zfcp,
        target, scsi_debug, lpfc, qedi, qedf, hisi_sas, mpt3sas) plus a host
        of other minor updates.
      
        There are no major core changes in this series apart from a
        refactoring in scsi_lib.c"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (207 commits)
        scsi: ufs: ti-j721e-ufs: Fix unwinding of pm_runtime changes
        scsi: cxgb3i: Fix some leaks in init_act_open()
        scsi: ibmvscsi: Make some functions static
        scsi: iscsi: Fix deadlock on recovery path during GFP_IO reclaim
        scsi: ufs: Fix WriteBooster flush during runtime suspend
        scsi: ufs: Fix index of attributes query for WriteBooster feature
        scsi: ufs: Allow WriteBooster on UFS 2.2 devices
        scsi: ufs: Remove unnecessary memset for dev_info
        scsi: ufs-qcom: Fix scheduling while atomic issue
        scsi: mpt3sas: Fix reply queue count in non RDPQ mode
        scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
        scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd()
        scsi: vhost: Notify TCM about the maximum sg entries supported per command
        scsi: qla2xxx: Remove return value from qla_nvme_ls()
        scsi: qla2xxx: Remove an unused function
        scsi: iscsi: Register sysfs for iscsi workqueue
        scsi: scsi_debug: Parser tables and code interaction
        scsi: core: Refactor scsi_mq_setup_tags function
        scsi: core: Fix incorrect usage of shost_for_each_device
        scsi: qla2xxx: Fix endianness annotations in source files
        ...
      818dbde7
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 242b2331
      Linus Torvalds authored
      Pull rdma updates from Jason Gunthorpe:
       "A more active cycle than most of the recent past, with a few large,
        long discussed works this time.
      
        The RNBD block driver has been posted for nearly two years now, and
        flowing through RDMA due to it also introducing a new ULP.
      
        The removal of FMR has been a recurring discussion theme for a long
        time.
      
        And the usual smattering of features and bug fixes.
      
        Summary:
      
         - Various small driver bugs fixes in rxe, mlx5, hfi1, and efa
      
         - Continuing driver cleanups in bnxt_re, hns
      
         - Big cleanup of mlx5 QP creation flows
      
         - More consistent use of src port and flow label when LAG is used and
           a mlx5 implementation
      
         - Additional set of cleanups for IB CM
      
         - 'RNBD' network block driver and target. This is a network block
           RDMA device specific to ionos's cloud environment. It brings strong
           multipath and resiliency capabilities.
      
         - Accelerated IPoIB for HFI1
      
         - QP/WQ/SRQ ioctl migration for uverbs, and support for multiple
           async fds
      
         - Support for exchanging the new IBTA defiend ECE data during RDMA CM
           exchanges
      
         - Removal of the very old and insecure FMR interface from all ULPs
           and drivers. FRWR should be preferred for at least a decade now"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (247 commits)
        RDMA/cm: Spurious WARNING triggered in cm_destroy_id()
        RDMA/mlx5: Return ECE DC support
        RDMA/mlx5: Don't rely on FW to set zeros in ECE response
        RDMA/mlx5: Return an error if copy_to_user fails
        IB/hfi1: Use free_netdev() in hfi1_netdev_free()
        RDMA/hns: Uninitialized variable in modify_qp_init_to_rtr()
        RDMA/core: Move and rename trace_cm_id_create()
        IB/hfi1: Fix hfi1_netdev_rx_init() error handling
        RDMA: Remove 'max_map_per_fmr'
        RDMA: Remove 'max_fmr'
        RDMA/core: Remove FMR device ops
        RDMA/rdmavt: Remove FMR memory registration
        RDMA/mthca: Remove FMR support for memory registration
        RDMA/mlx4: Remove FMR support for memory registration
        RDMA/i40iw: Remove FMR leftovers
        RDMA/bnxt_re: Remove FMR leftovers
        RDMA/mlx5: Remove FMR leftovers
        RDMA/core: Remove FMR pool API
        RDMA/rds: Remove FMR support for memory registration
        RDMA/srp: Remove support for FMR memory registration
        ...
      242b2331
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 3f7e8237
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v5.8 kernel cycle.
      
        Core changes:
      
         - A new GPIO aggregator driver has been merged: this can join a few
           select GPIO lines into a new aggregated GPIO chip. This can be used
           for security: a process can be granted access to only these lines,
           for example for industrial control. Another way to use this is to
           reexpose certain select lines to a virtual machine or container.
      
         - Warn if the gpio-line-names is too long in he DT parser core.
      
         - GPIO lines can now be looked up by line name in addition to being
           looked up by offset.
      
        New drivers:
      
         - A new generic regmap GPIO driver has been merged. Too many regmap
           drivers are starting to look like each other so we need to create
           some common ground and try to move drivers over to using that.
      
         - The F7188X driver now supports F81865.
      
        Driver improvements:
      
         - Large improvements to the PCA953x expander, get multiple lines and
           several cleanups.
      
         - Large improvements to the DesignWare DWAPB driver, and Sergey Semin
           has volunteered to maintain it.
      
         - PL061 can now be built as a module, this is part of a bigger effort
           to make the ARM platforms more modular"
      
      * tag 'gpio-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
        gpio: pca953x: Drop unneeded ACPI_PTR()
        MAINTAINERS: Add gpio regmap section
        gpio: add a reusable generic gpio_chip using regmap
        gpiolib: Introduce gpiochip_irqchip_add_domain()
        gpio: gpiolib: Allow GPIO IRQs to lazy disable
        gpiolib: Separate GPIO_GET_LINEINFO_WATCH_IOCTL conditional
        gpio: rcar: Fix runtime PM imbalance on error
        gpio: pca935x: Allow IRQ support for driver built as a module
        gpio: pxa: Add COMPILE_TEST support
        dt-bindings: gpio: Add renesas,em-gio bindings
        MAINTAINERS: Fix file name for DesignWare GPIO DT schema
        gpio: dwapb: Remove unneeded has_irq member in struct dwapb_port_property
        gpio: dwapb: Don't use IRQ 0 as valid Linux interrupt
        gpio: dwapb: avoid error message for optional IRQ
        gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
        gpio: max730x: bring gpiochip_add_data after port config
        MAINTAINERS: Add GPIO Aggregator section
        docs: gpio: Add GPIO Aggregator documentation
        gpio: Add GPIO Aggregator
        gpiolib: Add support for GPIO lookup by line name
        ...
      3f7e8237
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.8-1' of git://github.com/cminyard/linux-ipmi · 1f2dc7f5
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "A few small fixes for things, nothing earth shattering"
      
      * tag 'for-linus-5.8-1' of git://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Remove dynamic platform device handing
        Try to load acpi_ipmi when an SSIF ACPI IPMI interface is added
        ipmi_si: Load acpi_ipmi when ACPI IPMI interface added
        ipmi:bt-bmc: Fix error handling and status check
        ipmi: Replace guid_copy() with import_guid() where it makes sense
        ipmi: use vzalloc instead of kmalloc for user creation
        ipmi:bt-bmc: Fix some format issue of the code
        ipmi:bt-bmc: Avoid unnecessary check
      1f2dc7f5
    • Linus Torvalds's avatar
      Merge tag 'vfio-v5.8-rc1' of git://github.com/awilliam/linux-vfio · 5a36f0f3
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
      
       - Block accesses to disabled MMIO space (Alex Williamson)
      
       - VFIO device migration API (Kirti Wankhede)
      
       - type1 IOMMU dirty bitmap API and implementation (Kirti Wankhede)
      
       - PCI NULL capability masking (Alex Williamson)
      
       - Memory leak fixes (Qian Cai)
      
       - Reference leak fix (Qiushi Wu)
      
      * tag 'vfio-v5.8-rc1' of git://github.com/awilliam/linux-vfio:
        vfio iommu: typecast corrections
        vfio iommu: Use shift operation for 64-bit integer division
        vfio/mdev: Fix reference count leak in add_mdev_supported_type
        vfio: Selective dirty page tracking if IOMMU backed device pins pages
        vfio iommu: Add migration capability to report supported features
        vfio iommu: Update UNMAP_DMA ioctl to get dirty bitmap before unmap
        vfio iommu: Implementation of ioctl for dirty pages tracking
        vfio iommu: Add ioctl definition for dirty pages tracking
        vfio iommu: Cache pgsize_bitmap in struct vfio_iommu
        vfio iommu: Remove atomicity of ref_count of pinned pages
        vfio: UAPI for migration interface for device state
        vfio/pci: fix memory leaks of eventfd ctx
        vfio/pci: fix memory leaks in alloc_perm_bits()
        vfio-pci: Mask cap zero
        vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
        vfio-pci: Fault mmaps to enable vma tracking
        vfio/type1: Support faulting PFNMAP vmas
      5a36f0f3
    • Linus Torvalds's avatar
      Merge tag 'core_core_updates_for_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac7b3421
      Linus Torvalds authored
      Pull READ_IMPLIES_EXEC changes from Borislav Petkov:
       "Split the old READ_IMPLIES_EXEC workaround from executable
        PT_GNU_STACK now that toolchains long support PT_GNU_STACK marking and
        there's no need anymore to force modern programs into having all its
        user mappings executable instead of only the stack and the PROT_EXEC
        ones.
      
        Disable that automatic READ_IMPLIES_EXEC forcing on x86-64 and
        arm64.
      
        Add tables documenting how READ_IMPLIES_EXEC is handled on x86-64, arm
        and arm64.
      
        By Kees Cook"
      
      * tag 'core_core_updates_for_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arm64/elf: Disable automatic READ_IMPLIES_EXEC for 64-bit address spaces
        arm32/64/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK
        arm32/64/elf: Add tables to document READ_IMPLIES_EXEC
        x86/elf: Disable automatic READ_IMPLIES_EXEC on 64-bit
        x86/elf: Split READ_IMPLIES_EXEC from executable PT_GNU_STACK
        x86/elf: Add table to document READ_IMPLIES_EXEC
      ac7b3421
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 7ae77150
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
      
       - Support for userspace to send requests directly to the on-chip GZIP
         accelerator on Power9.
      
       - Rework of our lockless page table walking (__find_linux_pte()) to
         make it safe against parallel page table manipulations without
         relying on an IPI for serialisation.
      
       - A series of fixes & enhancements to make our machine check handling
         more robust.
      
       - Lots of plumbing to add support for "prefixed" (64-bit) instructions
         on Power10.
      
       - Support for using huge pages for the linear mapping on 8xx (32-bit).
      
       - Remove obsolete Xilinx PPC405/PPC440 support, and an associated sound
         driver.
      
       - Removal of some obsolete 40x platforms and associated cruft.
      
       - Initial support for booting on Power10.
      
       - Lots of other small features, cleanups & fixes.
      
      Thanks to: Alexey Kardashevskiy, Alistair Popple, Andrew Donnellan,
      Andrey Abramov, Aneesh Kumar K.V, Balamuruhan S, Bharata B Rao, Bulent
      Abali, Cédric Le Goater, Chen Zhou, Christian Zigotzky, Christophe
      JAILLET, Christophe Leroy, Dmitry Torokhov, Emmanuel Nicolet, Erhard F.,
      Gautham R. Shenoy, Geoff Levand, George Spelvin, Greg Kurz, Gustavo A.
      R. Silva, Gustavo Walbon, Haren Myneni, Hari Bathini, Joel Stanley,
      Jordan Niethe, Kajol Jain, Kees Cook, Leonardo Bras, Madhavan
      Srinivasan., Mahesh Salgaonkar, Markus Elfring, Michael Neuling, Michal
      Simek, Nathan Chancellor, Nathan Lynch, Naveen N. Rao, Nicholas Piggin,
      Oliver O'Halloran, Paul Mackerras, Pingfan Liu, Qian Cai, Ram Pai,
      Raphael Moreira Zinsly, Ravi Bangoria, Sam Bobroff, Sandipan Das, Segher
      Boessenkool, Stephen Rothwell, Sukadev Bhattiprolu, Tyrel Datwyler,
      Wolfram Sang, Xiongfeng Wang.
      
      * tag 'powerpc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (299 commits)
        powerpc/pseries: Make vio and ibmebus initcalls pseries specific
        cxl: Remove dead Kconfig options
        powerpc: Add POWER10 architected mode
        powerpc/dt_cpu_ftrs: Add MMA feature
        powerpc/dt_cpu_ftrs: Enable Prefixed Instructions
        powerpc/dt_cpu_ftrs: Advertise support for ISA v3.1 if selected
        powerpc: Add support for ISA v3.1
        powerpc: Add new HWCAP bits
        powerpc/64s: Don't set FSCR bits in INIT_THREAD
        powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
        powerpc/64s: Don't let DT CPU features set FSCR_DSCR
        powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
        powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
        powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel
        powerpc/module_64: Simplify check for -mprofile-kernel ftrace relocations
        powerpc/module_64: Consolidate ftrace code
        powerpc/32: Disable KASAN with pages bigger than 16k
        powerpc/uaccess: Don't set KUEP by default on book3s/32
        powerpc/uaccess: Don't set KUAP by default on book3s/32
        powerpc/8xx: Reduce time spent in allow_user_access() and friends
        ...
      7ae77150
    • Linus Torvalds's avatar
      Merge tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux · 084623e4
      Linus Torvalds authored
      Pull module updates from Jessica Yu:
      
       - Harden CONFIG_STRICT_MODULE_RWX by rejecting any module that has
         SHF_WRITE|SHF_EXECINSTR sections
      
       - Remove and clean up nested #ifdefs, as it makes code hard to read
      
      * tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
        module: Harden STRICT_MODULE_RWX
        module: break nested ARCH_HAS_STRICT_MODULE_RWX and STRICT_MODULE_RWX #ifdefs
      084623e4
    • Eric Biggers's avatar
      dm crypt: avoid truncating the logical block size · 64611a15
      Eric Biggers authored
      queue_limits::logical_block_size got changed from unsigned short to
      unsigned int, but it was forgotten to update crypt_io_hints() to use the
      new type.  Fix it.
      
      Fixes: ad6bf88a ("block: fix an integer overflow in logical block size")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Reviewed-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      64611a15
    • Mike Snitzer's avatar
      dm mpath: add DM device name to Failing/Reinstating path log messages · 04867370
      Mike Snitzer authored
      When there are many DM multipath devices it really helps to have
      additional context for which DM device a failed or reinstated path is
      part of.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      04867370
    • Mike Snitzer's avatar
      dm mpath: enhance queue_if_no_path debugging · 4c3f4838
      Mike Snitzer authored
      Add more DMDEBUG that shows arguments passed and caller, and another
      that shows state of related flags at end of queue_if_no_path().
      
      Also add queue_if_no_path DMDEBUG to multipath_resume().
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      4c3f4838
    • Mike Snitzer's avatar
      dm mpath: restrict queue_if_no_path state machine · 553ec94c
      Mike Snitzer authored
      Do not allow saving disabled queue_if_no_path if already saved as
      enabled; implies multiple suspends (which shouldn't ever happen).  Log
      if this unlikely scenario is ever triggered.
      
      Also, only write MPATHF_SAVED_QUEUE_IF_NO_PATH during presuspend or if
      "fail_if_no_path" message.  MPATHF_SAVED_QUEUE_IF_NO_PATH is no longer
      always modified, e.g.: even if queue_if_no_path()'s save_old_value
      argument wasn't set.  This just implies a bit tighter control over
      the management of MPATHF_SAVED_QUEUE_IF_NO_PATH.  Side-effect is
      multipath_resume() doesn't reset MPATHF_QUEUE_IF_NO_PATH unless
      MPATHF_SAVED_QUEUE_IF_NO_PATH was set (during presuspend); and at that
      time the MPATHF_SAVED_QUEUE_IF_NO_PATH bit gets cleared.  So
      MPATHF_SAVED_QUEUE_IF_NO_PATH's use is much more narrow in scope.
      
      Last, but not least, do _not_ disable queue_if_no_path during noflush
      suspend.  There is no need/benefit to saving off queue_if_no_path via
      MPATHF_SAVED_QUEUE_IF_NO_PATH and clearing MPATHF_QUEUE_IF_NO_PATH for
      noflush suspend -- by avoiding this needless queue_if_no_path flag
      churn there is less potential for MPATHF_QUEUE_IF_NO_PATH to get lost.
      Which avoids potential for IOs to be errored back up to userspace
      during DM multipath's handling of path failures.
      
      That said, this last change papers over a reported issue concerning
      request-based dm-multipath's interaction with blk-mq, relative to
      suspend and resume: multipath_endio is being called _before_
      multipath_resume.  This should never happen if DM suspend's
      blk_mq_quiesce_queue() + dm_wait_for_completion() is genuinely waiting
      for all inflight blk-mq requests to complete.  Similarly:
      drivers/md/dm.c:__dm_resume() clearly calls dm_table_resume_targets()
      _before_ dm_start_queue()'s blk_mq_unquiesce_queue() is called.  If
      the queue isn't even restarted until after multipath_resume(); the BIG
      question that still needs answering is: how can multipath_end_io beat
      multipath_resume in a race!?
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      553ec94c
    • Mike Snitzer's avatar
      dm mpath: simplify __must_push_back · a862e4e2
      Mike Snitzer authored
      Remove micro-optimization that infers device is between presuspend and
      resume (was done purely to avoid call to dm_noflush_suspending, which
      isn't expensive anyway).
      
      Remove flags argument since they are no longer checked.
      
      And remove must_push_back_bio() since it was simply a call to
      __must_push_back().
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      a862e4e2
    • Hannes Reinecke's avatar
      dm zoned: check superblock location · 27d49ac1
      Hannes Reinecke authored
      When specifying several devices the superblock location must be
      checked to ensure the devices are specified in the correct order.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      27d49ac1
    • Hannes Reinecke's avatar
      dm zoned: prefer full zones for reclaim · 2094045f
      Hannes Reinecke authored
      Prefer full zones when selecting the next zone for reclaim.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      2094045f
    • Hannes Reinecke's avatar
      dm zoned: select reclaim zone based on device index · 69875d44
      Hannes Reinecke authored
      per-device reclaim should select zones on that device only.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      69875d44
    • Hannes Reinecke's avatar
      dm zoned: allocate zone by device index · 22c1ef66
      Hannes Reinecke authored
      When allocating a zone, pass in an indicator on which device the zone
      should be allocated; this increases performance for a multi-device
      setup because reclaim will now allocate zones on the device for which
      reclaim is running.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      22c1ef66
    • Hannes Reinecke's avatar
      dm zoned: support arbitrary number of devices · 4dba1288
      Hannes Reinecke authored
      Remove the hard-coded limit of two devices and support an unlimited
      number of additional zoned devices.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      4dba1288
    • Hannes Reinecke's avatar
      dm zoned: move random and sequential zones into struct dmz_dev · bd82fdab
      Hannes Reinecke authored
      Random and sequential zones should be part of the respective
      device structure to make arbitration between devices possible.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      bd82fdab
    • Hannes Reinecke's avatar
      dm zoned: per-device reclaim · f97809ae
      Hannes Reinecke authored
      Instead of having one reclaim workqueue for the entire set we should
      be allocating a reclaim workqueue per device; doing so will reduce
      contention and should boost performance for a multi-device setup.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      f97809ae
    • Hannes Reinecke's avatar
      dm zoned: add metadata pointer to struct dmz_dev · 18979819
      Hannes Reinecke authored
      Add a metadata pointer within struct dmz_dev and use it as argument
      for blkdev_report_zones() instead of the metadata itself.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      18979819
    • Hannes Reinecke's avatar
      dm zoned: add device pointer to struct dm_zone · 8f22272a
      Hannes Reinecke authored
      Add a pointer, to the containing device, within struct dm_zone and
      kill dmz_zone_to_dev().
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      8f22272a
    • Hannes Reinecke's avatar
      dm zoned: allocate temporary superblock for tertiary devices · 5d2c74f3
      Hannes Reinecke authored
      Checking the tertiary superblock just consists of validating UUIDs,
      crcs, and the generation number; it doesn't have contents which would
      be required during the actual operation.
      
      So allocate a temporary superblock when checking tertiary devices to
      avoid having to store it together with the 'real' superblocks.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      5d2c74f3
    • Hannes Reinecke's avatar
      dm zoned: convert to xarray · a92fbc44
      Hannes Reinecke authored
      The zones array is getting really large, and large arrays tend to
      wreak havoc with the CPU caches.  So convert it to xarray to become
      more cache friendly.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: Colin Ian King <colin.king@canonical.com> # fix leak in dmz_insert
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      a92fbc44
    • Hannes Reinecke's avatar
      dm zoned: add a 'reserved' zone flag · aec67b4f
      Hannes Reinecke authored
      Instead of counting the number of reserved zones in dmz_free_zone(),
      mark the zone as 'reserved' during allocation and simplify
      dmz_free_zone().
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      aec67b4f
    • Hannes Reinecke's avatar
      dm zoned: improve logging messages for reclaim · c3ff479d
      Hannes Reinecke authored
      Instead of just reporting the errno, add some more verbose debugging
      message in the reclaim path.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      c3ff479d
    • Hannes Reinecke's avatar
      dm zoned: avoid unnecessary device recalulation for secondary superblock · 1565929b
      Hannes Reinecke authored
      The secondary superblock must reside on the same device as the primary
      superblock, so there is no need to re-calculate the device.
      Signed-off-by: default avatarHannes Reinecke <hare@suse.de>
      Reviewed-by: default avatarDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      1565929b
    • Hannes Reinecke's avatar
    • Mikulas Patocka's avatar
      dm ebs: use dm_bufio_forget_buffers · 334b4fc1
      Mikulas Patocka authored
      Use dm_bufio_forget_buffers instead of a block-by-block loop that
      calls dm_bufio_forget. dm_bufio_forget_buffers is faster than the loop
      because it searches for used buffers using rb-tree.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      334b4fc1
    • Mikulas Patocka's avatar
      dm bufio: introduce forget_buffer_locked · 33a18062
      Mikulas Patocka authored
      Introduce a function forget_buffer_locked that forgets a range of
      buffers. It is more efficient than calling forget_buffer in a loop.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      33a18062
    • Mikulas Patocka's avatar
      dm bufio: clean up rbtree block ordering · 88f878e5
      Mikulas Patocka authored
      dm-bufio uses unnatural ordering in the rb-tree - blocks with smaller
      numbers were put to the right node and blocks with bigger numbers were
      put to the left node.
      
      Reverse that logic so that it's natural.
      Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      88f878e5
    • Mikulas Patocka's avatar
      40e9c5ac
    • Linus Torvalds's avatar
      Merge tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4dd60a3
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Misc changes:
      
         - Unexport various PAT primitives
      
         - Unexport per-CPU tlbstate and uninline TLB helpers"
      
      * tag 'x86-mm-2020-06-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/tlb/uv: Add a forward declaration for struct flush_tlb_info
        x86/cpu: Export native_write_cr4() only when CONFIG_LKTDM=m
        x86/tlb: Restrict access to tlbstate
        xen/privcmd: Remove unneeded asm/tlb.h include
        x86/tlb: Move PCID helpers where they are used
        x86/tlb: Uninline nmi_uaccess_okay()
        x86/tlb: Move cr4_set_bits_and_update_boot() to the usage site
        x86/tlb: Move paravirt_tlb_remove_table() to the usage site
        x86/tlb: Move __flush_tlb_all() out of line
        x86/tlb: Move flush_tlb_others() out of line
        x86/tlb: Move __flush_tlb_one_kernel() out of line
        x86/tlb: Move __flush_tlb_one_user() out of line
        x86/tlb: Move __flush_tlb_global() out of line
        x86/tlb: Move __flush_tlb() out of line
        x86/alternatives: Move temporary_mm helpers into C
        x86/cr4: Sanitize CR4.PCE update
        x86/cpu: Uninline CR4 accessors
        x86/tlb: Uninline __get_current_cr3_fast()
        x86/mm: Use pgprotval_t in protval_4k_2_large() and protval_large_2_4k()
        x86/mm: Unexport __cachemode2pte_tbl
        ...
      f4dd60a3
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.8-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 435faf5c
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - The remainder of the code necessary to support the Kendryte K210:
      
           * Support for building device trees into the kernel, as the K210
             doesn't have a bootloader that provides one
      
           * A K210 device tree and the associated defconfig update
      
           * Support for skipping PMP initialization on systems that trap on
             PMP accesses rather than treating them as WARL
      
       - Support for KGDB
      
       - Improvements to text patching
      
       - Some cleanups to the SiFive L2 cache driver
      
      * tag 'riscv-for-linus-5.8-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        soc: sifive: l2 cache: Mark l2_get_priv_group as static
        soc: sifive: l2 cache: Eliminate an unsigned zero compare warning
        riscv: Add support to determine no. of L2 cache way enabled
        riscv: cacheinfo: Implement cache_get_priv_group with a generic ops structure
        riscv: Use text_mutex instead of patch_lock
        riscv: Use NOKPROBE_SYMBOL() instead of __krpobes annotation
        riscv: Remove the 'riscv_' prefix of function name
        riscv: Add SW single-step support for KDB
        riscv: Use the XML target descriptions to report 3 system registers
        riscv: Add KGDB support
        kgdb: Add kgdb_has_hit_break function
        RISC-V: Skip setting up PMPs on traps
        riscv: K210: Update defconfig
        riscv: K210: Add a built-in device tree
        riscv: Allow device trees to be built into the kernel
      435faf5c
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 571d54ed
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
      
       - Convert various DT (non-binding) doc files to ReST
      
       - Various improvements to device link code
      
       - Fix __of_attach_node_sysfs refcounting bug
      
       - Add support for 'memory-region-names' with reserved-memory binding
      
       - Vendor prefixes for Protonic Holland, BeagleBoard.org, Alps, Check
         Point, Würth Elektronik, U-Boot, Vaisala, Baikal Electronics,
         Shanghai Awinic Technology Co., MikroTik, Silex Insight
      
       - A bunch more binding conversions to DT schema. Only 3K to go.
      
       - Add a minimum version check for schema tools
      
       - Treewide dropping of 'allOf' usage with schema references. Not needed
         in new json-schema spec.
      
       - Some formatting clean-ups of schemas
      
      * tag 'devicetree-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (194 commits)
        dt-bindings: clock: Add documentation for X1830 bindings.
        dt-bindings: mailbox: Convert imx mu to json-schema
        dt-bindings: power: Convert imx gpcv2 to json-schema
        dt-bindings: power: Convert imx gpc to json-schema
        dt-bindings: Merge gpio-usb-b-connector with usb-connector
        dt-bindings: timer: renesas: cmt: Convert to json-schema
        dt-bindings: clock: Convert i.MX8QXP LPCG to json-schema
        dt-bindings: timer: Convert i.MX GPT to json-schema
        dt-bindings: thermal: rcar-thermal: Add device tree support for r8a7742
        dt-bindings: serial: Add binding for UART pin swap
        dt-bindings: geni-se: Add interconnect binding for GENI QUP
        dt-bindings: geni-se: Convert QUP geni-se bindings to YAML
        dt-bindings: vendor-prefixes: Add Silex Insight vendor prefix
        dt-bindings: input: touchscreen: edt-ft5x06: change reg property
        dt-bindings: usb: qcom,dwc3: Introduce interconnect properties for Qualcomm DWC3 driver
        dt-bindings: timer: renesas: mtu2: Convert to json-schema
        of/fdt: Remove redundant kbasename function call
        dt-bindings: clock: Convert i.MX1 clock to json-schema
        dt-bindings: clock: Convert i.MX21 clock to json-schema
        dt-bindings: clock: Convert i.MX25 clock to json-schema
        ...
      571d54ed
    • Linus Torvalds's avatar
      Merge tag 'arm-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 9d71d3cd
      Linus Torvalds authored
      Pull ARM devicetree updates from Arnd Bergmann:
       "This is the set of device tree changes, mostly covering new hardware
        support, with 577 patches touching a little over 500 files.
      
        There are five new Arm SoCs supported in this release, all of them for
        existing SoC families:
      
         - Realtek RTD1195, RTD1395 and RTD1619 -- three SoCs used in both NAS
           devices and Android Set-top-box designs, along with the
           "Horseradish", "Lion Skin" and "Mjolnir" reference platforms; the
           Mele X1000 and Xnano X5 set-top-boxes and the Banana Pi BPi-M4
           single-board computer.
      
         - Renesas RZ/G1H (r8a7742) -- a high-end 32-bit industrial SoC and
           the iW-RainboW-G21D-Qseven-RZG1H board/SoM
      
         - Rockchips RK3326 -- low-end 64-bit SoC along with the Odroid-GO
           Advance game console
      
        Newly added machines on already supported SoCs are:
      
         - AMLogic S905D based Smartlabs SML-5442TW TV box
      
         - AMLogic S905X3 based ODROID-C4 SBC
      
         - AMLogic S922XH based Beelink GT-King Pro TV box
      
         - Allwinner A20 based Olimex A20-OLinuXino-LIME-eMMC SBC
      
         - Aspeed ast2500 based BMCs in Facebook x86 "Yosemite V2" and YADRO
           OpenPower P9 "Nicole"
      
         - Marvell Kirkwood based Check Point L-50 router
      
         - Mediatek MT8173 based Elm/Hana Chromebook laptops
      
         - Microchip SAMA5D2 "Industrial Connectivity Platform" reference
           board
      
         - NXP i.MX8m based Beacon i.MX8m-Mini SoM development kit
      
         - Octavo OSDMP15x based Linux Automation MC-1 development board
      
         - Qualcomm SDM630 based Xiaomi Redmi Note 7 phone
      
         - Realtek RTD1295 based Xnano X5 TV Box
      
         - STMicroelectronics STM32MP1 based Stinger96 single-board computer
           and IoT Box
      
         - Samsung Exynos4210 based based Samsung Galaxy S2 phone
      
         - Socionext Uniphier based Akebi96 SBC
      
         - TI Keystone based K2G Evaluation board
      
         - TI am5729 based Beaglebone-AI development board
      
        Include device descriptions for additional hardware support in
        existing SoCs and machines based on all major SoC platforms:
      
         - AMlogic Meson
      
         - Allwinner sunxi
      
         - Arm Juno/VFP/Vexpress/Integrator
      
         - Broadcom bcm283x/bcm2711
      
         - Hisilicon hi6220
      
         - Marvell EBU
      
         - Mediatek MT27xx, MT76xx, MT81xx and MT67xx
      
         - Microchip SAMA5D2
      
         - NXP i.MX6/i.MX7/i.MX8 and Layerscape
      
         - Nvidia Tegra
      
         - Qualcomm Snapdragon
      
         - Renesas r8a77961, r8a7791
      
         - Rockchips RK32xx/RK33xx
      
         - ST-Ericsson ux500
      
         - STMicroelectronics SMT32
      
         - Samsung Exynos and S5PV210
      
         - Socionext Uniphier
      
         - TI OMAP5/DRA7 and Keystone"
      
      * tag 'arm-dt-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (564 commits)
        ARM: dts: keystone: Rename "msmram" node to "sram"
        arm: dts: mt2712: add uart APDMA to device tree
        arm64: dts: mt8183: add mmc node
        arm64: dts: mt2712: add ethernet device node
        arm64: tegra: Make the RTC a wakeup source on Jetson Nano and TX1
        ARM: dts: mmp3: Add the fifth SD HCI
        ARM: dts: berlin*: Fix up the SDHCI node names
        ARM: dts: mmp3: Fix USB & USB PHY node names
        ARM: dts: mmp3: Fix L2 cache controller node name
        ARM: dts: mmp*: Fix up encoding of the /rtc interrupts property
        ARM: dts: pxa*: Fix up encoding of the /rtc interrupts property
        ARM: dts: pxa910: Fix the gpio interrupt cell number
        ARM: dts: pxa3xx: Fix up encoding of the /gpio interrupts property
        ARM: dts: pxa168: Fix the gpio interrupt cell number
        ARM: dts: pxa168: Add missing address/size cells to i2c nodes
        ARM: dts: dove: Fix interrupt controller node name
        ARM: dts: kirkwood: Fix interrupt controller node name
        arm64: dts: Add SC9863A emmc and sd card nodes
        arm64: dts: Add SC9863A clock nodes
        arm64: dts: mt6358: add PMIC MT6358 related nodes
        ...
      9d71d3cd
    • Linus Torvalds's avatar
      Merge tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 828f3e18
      Linus Torvalds authored
      Pull ARM/SoC driver updates from Arnd Bergmann:
       "These are updates to SoC specific drivers that did not have another
        subsystem maintainer tree to go through for some reason:
      
         - Some bus and memory drivers for the MIPS P5600 based Baikal-T1 SoC
           that is getting added through the MIPS tree.
      
         - There are new soc_device identification drivers for TI K3, Qualcomm
           MSM8939
      
         - New reset controller drivers for NXP i.MX8MP, Renesas RZ/G1H, and
           Hisilicon hi6220
      
         - The SCMI firmware interface can now work across ARM SMC/HVC as a
           transport.
      
         - Mediatek platforms now use a new driver for their "MMSYS" hardware
           block that controls clocks and some other aspects in behalf of the
           media and gpu drivers.
      
         - Some Tegra processors have improved power management support,
           including getting woken up by the PMIC and cluster power down
           during idle.
      
         - A new v4l staging driver for Tegra is added.
      
         - Cleanups and minor bugfixes for TI, NXP, Hisilicon, Mediatek, and
           Tegra"
      
      * tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (155 commits)
        clk: sprd: fix compile-testing
        bus: bt1-axi: Build the driver into the kernel
        bus: bt1-apb: Build the driver into the kernel
        bus: bt1-axi: Use sysfs_streq instead of strncmp
        bus: bt1-axi: Optimize the return points in the driver
        bus: bt1-apb: Use sysfs_streq instead of strncmp
        bus: bt1-apb: Use PTR_ERR_OR_ZERO to return from request-regs method
        bus: bt1-apb: Fix show/store callback identations
        bus: bt1-apb: Include linux/io.h
        dt-bindings: memory: Add Baikal-T1 L2-cache Control Block binding
        memory: Add Baikal-T1 L2-cache Control Block driver
        bus: Add Baikal-T1 APB-bus driver
        bus: Add Baikal-T1 AXI-bus driver
        dt-bindings: bus: Add Baikal-T1 APB-bus binding
        dt-bindings: bus: Add Baikal-T1 AXI-bus binding
        staging: tegra-video: fix V4L2 dependency
        tee: fix crypto select
        drivers: soc: ti: knav_qmss_queue: Make knav_gp_range_ops static
        soc: ti: add k3 platforms chipid module driver
        dt-bindings: soc: ti: add binding for k3 platforms chipid module
        ...
      828f3e18
    • Linus Torvalds's avatar
      Merge tag 'arm-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 298743c1
      Linus Torvalds authored
      Pull ARM defconfig updates from Arnd Bergmann:
       "These are the usual updates to arm/arm64 defconfig files, enabling
        newly added drivers and addressing changes to Kconfig files"
      
      * tag 'arm-defconfig-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (22 commits)
        ARM: imx_v6_v7_defconfig: extend RN5T618 PMIC family support
        arm64: defconfig: enable Qualcomm IPA and RMNet modules
        arm64: defconfig: Add LEDS_TRIGGER_TIMER
        arm64: defconfig: Enable UACCE/PCI PASID/SEC2/HPRE configs
        arm64: defconfig: Enable Qualcomm SC7180 pinctrl and gcc
        arm64: defconfig: Remove QCOM_GLINK_SSR
        ARM: multi_v7_defconfig: Enable r8a7742 SoC
        ARM: shmobile: defconfig: Enable r8a7742 SoC
        arm64: defconfig: enable meson gx audio as module
        arm64: defconfig: Enable SM8250 GCC driver
        ARM: defconfig: u8500: Enable new drivers for ux500
        arm64: defconfig: Enable CONFIG_PINCTRL_IMX8DXL by default
        arm64: configs: Enable sun50i cpufreq nvmem
        ARM: shmobile: defconfig: Refresh for v5.7-rc1
        ARM: defconfig: u8500: Enable new drivers for samsung-golden
        ARM: configs: sunxi: Add sun8i analog codec
        arm64: defconfig: Enable Qualcomm CAMCC, CAMSS and CCI drivers
        ARM: configs: at91: sama5: enable MCP16502 regulator
        ARM: configs: at91: sama5: enable SAMA5D2_PIOBU
        ARM: exynos_defconfig: Compile MAC80211/CFG80211 as modules
        ...
      298743c1
    • Linus Torvalds's avatar
      Merge tag 'arm-soc-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 694b5a5d
      Linus Torvalds authored
      Pull ARM SoC updates from Arnd Bergmann:
       "One new platform gets added, the Realtek RTD1195, which is an older
        Cortex-a7 based relative of the RTD12xx chips that are already
        supported in arch/arm64. The platform may also be extended to support
        running 32-bit kernels on those 64-bit chips for memory-constrained
        machines.
      
        In the Renesas shmobile platform, we gain support for "RZ/G1H" or
        R8A7742, an eight-core chip based on Cortex-A15 and Cortex-A7 cores,
        originally released in 2016 as one of the last high-end 32-bit
        designs.
      
        There is ongoing cleanup for the integrator, tegra, imx, and omap2
        platforms, with integrator getting very close to the goal of having
        zero code in arch/arm/, and omap2 moving more of the chip specifics
        from old board code into device tree files.
      
        The Versatile Express platform is made more modular, with built-in
        drivers now becoming loadable modules. This is part of a greater
        effort for the Android OS to have a common kernel binary for all
        platforms and any platform specific code in loadable modules.
      
        The PXA platform drops support for Compulab's pxa2xx boards that had
        rather unusual flash and PCI drivers but no known users remaining. All
        device drivers specific to those boards can now get removed as well.
      
        Across platforms, there is ongoing cleanup, with Geert and Rob
        revisiting some a lot of Kconfig options"
      
      * tag 'arm-soc-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (94 commits)
        ARM: omap2: fix omap5_realtime_timer_init definition
        ARM: zynq: Don't select CONFIG_ICST
        ARM: OMAP2+: Fix regression for using local timer on non-SMP SoCs
        clk: versatile: Fix kconfig dependency on COMMON_CLK_VERSATILE
        ARM: davinci: fix build failure without I2C
        power: reset: vexpress: fix build issue
        power: vexpress: cleanup: use builtin_platform_driver
        power: vexpress: add suppress_bind_attrs to true
        Revert "ARM: vexpress: Don't select VEXPRESS_CONFIG"
        MAINTAINERS: pxa: remove Compulab arm/pxa support
        ARM: pxa: remove Compulab pxa2xx boards
        bus: arm-integrator-lm: Fix return value check in integrator_ap_lm_probe()
        soc: imx: move cpu code to drivers/soc/imx
        ARM: imx: move cpu definitions into a header
        ARM: imx: use device_initcall for imx_soc_device_init
        ARM: imx: pcm037: make pcm970_sja1000_platform_data static
        bus: ti-sysc: Timers no longer need legacy quirk handling
        ARM: OMAP2+: Drop old timer code for dmtimer and 32k counter
        ARM: dts: Configure system timers for omap2
        ARM: dts: Configure system timers for ti81xx
        ...
      694b5a5d