1. 26 Nov, 2020 5 commits
    • Mark Brown's avatar
      Merge series "regmap/SoundWire/ASoC: Add SoundWire SDCA support" from Bard... · b6c50552
      Mark Brown authored
      Merge series "regmap/SoundWire/ASoC: Add SoundWire SDCA support" from Bard Liao <yung-chuan.liao@linux.intel.com>:
      
      The MIPI SoundWire Device Class standard will define audio functionality
      beyond the scope of the existing SoundWire 1.2 standard, which is limited
      to the bus and interface.
      
      The description is inspired by the USB Audio Class, with "functions",
      "entities", "control selectors", "audio clusters". The main difference
      with the USB Audio class is that the devices are typically on a motherboard
      and descriptors stored in platform firmware instead of being retrieved
      from the device.
      
      The current set of devices managed in this patchset are conformant with the
      SDCA 0.6 specification and require dedicated drivers since the descriptors
      and platform firmware specification is not complete at this time. They do
      however rely on the hierarchical addressing required by the SDCA standard.
      Future devices conformant with SDCA 1.0 should rely on a class driver.
      
      This series adds support for the hierarchical SDCA addressing and extends
      regmap. It then provides 3 codecs for RT711-sdca headset codec, RT1316
      amplifier and RT715-scda microphone codec.
      
      Note that the release of this code before the formal adoption of the
      SDCA 1.0 specification was formally endorsed by the MIPI Board to make
      sure there is no delay for Linux-based support of this specification.
      
      Jack Yu (1):
        ASoC/SoundWire: rt715-sdca: First version of rt715 sdw sdca codec
          driver
      
      Pierre-Louis Bossart (2):
        soundwire: SDCA: add helper macro to access controls
        regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ
      
      Shuming Fan (2):
        ASoC/SoundWire: rt1316: Add RT1316 SDCA vendor-specific driver
        ASoC/SoundWire: rt711-sdca: Add RT711 SDCA vendor-specific driver
      
       drivers/base/regmap/Kconfig             |    6 +-
       drivers/base/regmap/Makefile            |    1 +
       drivers/base/regmap/regmap-sdw-mbq.c    |  101 ++
       include/linux/regmap.h                  |   35 +
       include/linux/soundwire/sdw_registers.h |   32 +
       sound/soc/codecs/Kconfig                |   20 +
       sound/soc/codecs/Makefile               |    6 +
       sound/soc/codecs/rt1316-sdw.c           |  756 ++++++++++++
       sound/soc/codecs/rt1316-sdw.h           |  115 ++
       sound/soc/codecs/rt711-sdca-sdw.c       |  424 +++++++
       sound/soc/codecs/rt711-sdca-sdw.h       |  101 ++
       sound/soc/codecs/rt711-sdca.c           | 1481 +++++++++++++++++++++++
       sound/soc/codecs/rt711-sdca.h           |  246 ++++
       sound/soc/codecs/rt715-sdca-sdw.c       |  278 +++++
       sound/soc/codecs/rt715-sdca-sdw.h       |  170 +++
       sound/soc/codecs/rt715-sdca.c           |  936 ++++++++++++++
       sound/soc/codecs/rt715-sdca.h           |  124 ++
       17 files changed, 4831 insertions(+), 1 deletion(-)
       create mode 100644 drivers/base/regmap/regmap-sdw-mbq.c
       create mode 100644 sound/soc/codecs/rt1316-sdw.c
       create mode 100644 sound/soc/codecs/rt1316-sdw.h
       create mode 100644 sound/soc/codecs/rt711-sdca-sdw.c
       create mode 100644 sound/soc/codecs/rt711-sdca-sdw.h
       create mode 100644 sound/soc/codecs/rt711-sdca.c
       create mode 100644 sound/soc/codecs/rt711-sdca.h
       create mode 100644 sound/soc/codecs/rt715-sdca-sdw.c
       create mode 100644 sound/soc/codecs/rt715-sdca-sdw.h
       create mode 100644 sound/soc/codecs/rt715-sdca.c
       create mode 100644 sound/soc/codecs/rt715-sdca.h
      
      base-commit: 3650b228
      
      --
      2.17.1
      b6c50552
    • Jack Yu's avatar
    • Pierre-Louis Bossart's avatar
      regmap/SoundWire: sdw: add support for SoundWire 1.2 MBQ · fb5103f9
      Pierre-Louis Bossart authored
      The SoundWire 1.1 specification only allowed for reads and writes of
      bytes. The SoundWire 1.2 specification adds a new capability to
      transfer "Multi-Byte Quantities" (MBQ) across the bus. The transfers
      still happens one-byte-at-a-time, but the update is atomic.
      
      For example when writing a 16-bit volume, the first byte transferred
      is only taken into account when the second byte is successfully
      transferred.
      
      The mechanism is symmetrical for read and writes:
      - On a read, the address of the last byte to be read is modified by
      setting the MBQ bit
      - On a write, the address of all but the last byte to be written are
      modified by setting the MBQ bit. The address for the last byte relies
      on the MBQ bit being cleared.
      
      The current definitions for MBQ-based controls in the SDCA draft
      standard are limited to 16 bits for volumes, so for now this is the
      only supported format. An update will be provided if and when support
      for 24-bit and 32-bit values is specified by the SDCA standard.
      
      One possible objection is that this code could have been handled with
      regmap-sdw.c. However this is a new spec addition not handled by every
      SoundWire 1.1 and non-SDCA device, so there's no reason to load code
      that will never be used.
      
      Also in practice it's extremely unlikely that CONFIG_REGMAP would not
      be selected with CONFIG_REGMAP_MBQ selected. However there's no
      functional dependency between the two modules so they can be selected
      separately.
      Reviewed-by: default avatarRander Wang <rander.wang@linux.intel.com>
      Reviewed-by: default avatarGuennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
      Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Reviewed-by: default avatarVinod Koul <vkoul@kernel.org>
      Link: https://lore.kernel.org/r/20201103172226.4278-3-yung-chuan.liao@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      fb5103f9
    • Pierre-Louis Bossart's avatar
      soundwire: SDCA: add helper macro to access controls · 07e21d4d
      Pierre-Louis Bossart authored
      The upcoming SDCA (SoundWire Device Class Audio) specification defines
      a hierarchical encoding to interface with Class-defined capabilities.
      
      The specification is not yet accessible to the general public but this
      information is released with explicit permission from the MIPI Board
      to avoid delays with SDCA support on Linux platforms.
      
      A block of 64 MBytes of register addresses are allocated to SDCA
      controls, starting at address 0x40000000. The 26 LSBs which identify
      individual controls are set based on the following variables:
      
      - Function Number. An SCDA device can be split in up to 8 independent
        Functions. Each of these Functions is described in the SDCA
        specification, e.g. Smart Amplifier, Smart Microphone, Simple
        Microphone, Jack codec, HID, etc.
      
      - Entity Number.  Within each Function,  an Entity is  an identifiable
        block.  Up   to  127  Entities   are  connected  in   a  pre-defined
        graph  (similar to  USB), with  Entity0 reserved  for Function-level
        configurations.  In  contrast  to  USB, the  SDCA  spec  pre-defines
        Function Types, topologies, and allowed  options, i.e. the degree of
        freedom  is not  unlimited to  limit  the possibility  of errors  in
        descriptors leading to software quirks.
      
      - Control Selector. Within each Entity, the SDCA specification defines
        48 controls such as Mute, Gain, AGC, etc, and 16 implementation
        defined ones. Some Control Selectors might be used for low-level
        platform setup, and other exposed to applications and users. Note
        that the same Control Selector capability, e.g. Latency control,
        might be located at different offsets in different entities, the
        Control Selector mapping is Entity-specific.
      
      - Control Number. Some Control Selectors allow channel-specific values
        to be set, with up to 64 channels allowed. This is mostly used for
        volume control.
      
      - Current/Next values. Some Control Selectors are
        'Dual-Ranked'. Software may either update the Current value directly
        for immediate effect. Alternatively, software may write into the
        'Next' values and update the SoundWire 1.2 'Commit Groups' register
        to copy 'Next' values into 'Current' ones in a synchronized
        manner. This is different from bank switching which is typically
        used to change the bus configuration only.
      
      - MBQ. the Multi-Byte Quantity bit is used to provide atomic updates
        when accessing more that one byte, for example a 16-bit volume
        control would be updated consistently, the intermediate values
        mixing old MSB with new LSB are not applied.
      
      These 6 parameters are used to build a 32-bit address to access the
      desired Controls. Because of address range, paging is required, but
      the most often used parameter values are placed in the lower 16 bits
      of the address. This helps to keep the paging registers constant while
      updating Controls for a specific Device/Function.
      Reviewed-by: default avatarRander Wang <rander.wang@linux.intel.com>
      Reviewed-by: default avatarGuennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
      Reviewed-by: default avatarKai Vehmanen <kai.vehmanen@linux.intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Acked-By: default avatarVinod Koul <vkoul@kernel.org>
      Link: https://lore.kernel.org/r/20201103172226.4278-2-yung-chuan.liao@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      07e21d4d
    • Pierre-Louis Bossart's avatar
  2. 12 Nov, 2020 1 commit
  3. 26 Oct, 2020 1 commit
  4. 25 Oct, 2020 17 commits
  5. 24 Oct, 2020 16 commits
    • Linus Torvalds's avatar
      Merge tag 'block-5.10-2020-10-24' of git://git.kernel.dk/linux-block · d7691390
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request from Christoph
           - rdma error handling fixes (Chao Leng)
           - fc error handling and reconnect fixes (James Smart)
           - fix the qid displace when tracing ioctl command (Keith Busch)
           - don't use BLK_MQ_REQ_NOWAIT for passthru (Chaitanya Kulkarni)
           - fix MTDT for passthru (Logan Gunthorpe)
           - blacklist Write Same on more devices (Kai-Heng Feng)
           - fix an uninitialized work struct (zhenwei pi)"
      
       - lightnvm out-of-bounds fix (Colin)
      
       - SG allocation leak fix (Doug)
      
       - rnbd fixes (Gioh, Guoqing, Jack)
      
       - zone error translation fixes (Keith)
      
       - kerneldoc markup fix (Mauro)
      
       - zram lockdep fix (Peter)
      
       - Kill unused io_context members (Yufen)
      
       - NUMA memory allocation cleanup (Xianting)
      
       - NBD config wakeup fix (Xiubo)
      
      * tag 'block-5.10-2020-10-24' of git://git.kernel.dk/linux-block: (27 commits)
        block: blk-mq: fix a kernel-doc markup
        nvme-fc: shorten reconnect delay if possible for FC
        nvme-fc: wait for queues to freeze before calling update_hr_hw_queues
        nvme-fc: fix error loop in create_hw_io_queues
        nvme-fc: fix io timeout to abort I/O
        null_blk: use zone status for max active/open
        nvmet: don't use BLK_MQ_REQ_NOWAIT for passthru
        nvmet: cleanup nvmet_passthru_map_sg()
        nvmet: limit passthru MTDS by BIO_MAX_PAGES
        nvmet: fix uninitialized work for zero kato
        nvme-pci: disable Write Zeroes on Sandisk Skyhawk
        nvme: use queuedata for nvme_req_qid
        nvme-rdma: fix crash due to incorrect cqe
        nvme-rdma: fix crash when connect rejected
        block: remove unused members for io_context
        blk-mq: remove the calling of local_memory_node()
        zram: Fix __zram_bvec_{read,write}() locking order
        skd_main: remove unused including <linux/version.h>
        sgl_alloc_order: fix memory leak
        lightnvm: fix out-of-bounds write to array devices->info[]
        ...
      d7691390
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.10-2020-10-24' of git://git.kernel.dk/linux-block · af004187
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - fsize was missed in previous unification of work flags
      
       - Few fixes cleaning up the flags unification creds cases (Pavel)
      
       - Fix NUMA affinities for completely unplugged/replugged node for io-wq
      
       - Two fallout fixes from the set_fs changes. One local to io_uring, one
         for the splice entry point that io_uring uses.
      
       - Linked timeout fixes (Pavel)
      
       - Removal of ->flush() ->files work-around that we don't need anymore
         with referenced files (Pavel)
      
       - Various cleanups (Pavel)
      
      * tag 'io_uring-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
        splice: change exported internal do_splice() helper to take kernel offset
        io_uring: make loop_rw_iter() use original user supplied pointers
        io_uring: remove req cancel in ->flush()
        io-wq: re-set NUMA node affinities if CPUs come online
        io_uring: don't reuse linked_timeout
        io_uring: unify fsize with def->work_flags
        io_uring: fix racy REQ_F_LINK_TIMEOUT clearing
        io_uring: do poll's hash_node init in common code
        io_uring: inline io_poll_task_handler()
        io_uring: remove extra ->file check in poll prep
        io_uring: make cached_cq_overflow non atomic_t
        io_uring: inline io_fail_links()
        io_uring: kill ref get/drop in personality init
        io_uring: flags-based creds init in queue
      af004187
    • Linus Torvalds's avatar
      Merge tag 'libata-5.10-2020-10-24' of git://git.kernel.dk/linux-block · cb6b2897
      Linus Torvalds authored
      Pull libata fixes from Jens Axboe:
       "Two minor libata fixes:
      
         - Fix a DMA boundary mask regression for sata_rcar (Geert)
      
         - kerneldoc markup fix (Mauro)"
      
      * tag 'libata-5.10-2020-10-24' of git://git.kernel.dk/linux-block:
        ata: fix some kernel-doc markups
        ata: sata_rcar: Fix DMA boundary mask
      cb6b2897
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0eac1102
      Linus Torvalds authored
      Pull misc vfs updates from Al Viro:
       "Assorted stuff all over the place (the largest group here is
        Christoph's stat cleanups)"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: remove KSTAT_QUERY_FLAGS
        fs: remove vfs_stat_set_lookup_flags
        fs: move vfs_fstatat out of line
        fs: implement vfs_stat and vfs_lstat in terms of vfs_fstatat
        fs: remove vfs_statx_fd
        fs: omfs: use kmemdup() rather than kmalloc+memcpy
        [PATCH] reduce boilerplate in fsid handling
        fs: Remove duplicated flag O_NDELAY occurring twice in VALID_OPEN_FLAGS
        selftests: mount: add nosymfollow tests
        Add a "nosymfollow" mount option.
      0eac1102
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-5.10-1' of git://git.infradead.org/users/hch/dma-mapping · 1b307ac8
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - document the new dma_{alloc,free}_pages() API
      
       - two fixups for the dma-mapping.h split
      
      * tag 'dma-mapping-5.10-1' of git://git.infradead.org/users/hch/dma-mapping:
        dma-mapping: document dma_{alloc,free}_pages
        dma-mapping: move more functions to dma-map-ops.h
        ARM/sa1111: add a missing include of dma-map-ops.h
      1b307ac8
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 9bf8d8bc
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "Two fixes for this merge window, and an unrelated bugfix for a host
        hang"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: ioapic: break infinite recursion on lazy EOI
        KVM: vmx: rename pi_init to avoid conflict with paride
        KVM: x86/mmu: Avoid modulo operator on 64-bit value to fix i386 build
      9bf8d8bc
    • Linus Torvalds's avatar
      Merge tag 'x86_seves_fixes_for_v5.10_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c51ae124
      Linus Torvalds authored
      Pull x86 SEV-ES fixes from Borislav Petkov:
       "Three fixes to SEV-ES to correct setting up the new early pagetable on
        5-level paging machines, to always map boot_params and the kernel
        cmdline, and disable stack protector for ../compressed/head{32,64}.c.
        (Arvind Sankar)"
      
      * tag 'x86_seves_fixes_for_v5.10_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/64: Explicitly map boot_params and command line
        x86/head/64: Disable stack protection for head$(BITS).o
        x86/boot/64: Initialize 5-level paging variables earlier
      c51ae124
    • Willy Tarreau's avatar
      random32: add a selftest for the prandom32 code · c6e169bc
      Willy Tarreau authored
      Given that this code is new, let's add a selftest for it as well.
      It doesn't rely on fixed sets, instead it picks 1024 numbers and
      verifies that they're not more correlated than desired.
      
      Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
      Cc: George Spelvin <lkml@sdf.org>
      Cc: Amit Klein <aksecurity@gmail.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: tytso@mit.edu
      Cc: Florian Westphal <fw@strlen.de>
      Cc: Marc Plumb <lkml.mplumb@gmail.com>
      Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
      c6e169bc
    • Willy Tarreau's avatar
      random32: add noise from network and scheduling activity · 3744741a
      Willy Tarreau authored
      With the removal of the interrupt perturbations in previous random32
      change (random32: make prandom_u32() output unpredictable), the PRNG
      has become 100% deterministic again. While SipHash is expected to be
      way more robust against brute force than the previous Tausworthe LFSR,
      there's still the risk that whoever has even one temporary access to
      the PRNG's internal state is able to predict all subsequent draws till
      the next reseed (roughly every minute). This may happen through a side
      channel attack or any data leak.
      
      This patch restores the spirit of commit f227e3ec ("random32: update
      the net random state on interrupt and activity") in that it will perturb
      the internal PRNG's statee using externally collected noise, except that
      it will not pick that noise from the random pool's bits nor upon
      interrupt, but will rather combine a few elements along the Tx path
      that are collectively hard to predict, such as dev, skb and txq
      pointers, packet length and jiffies values. These ones are combined
      using a single round of SipHash into a single long variable that is
      mixed with the net_rand_state upon each invocation.
      
      The operation was inlined because it produces very small and efficient
      code, typically 3 xor, 2 add and 2 rol. The performance was measured
      to be the same (even very slightly better) than before the switch to
      SipHash; on a 6-core 12-thread Core i7-8700k equipped with a 40G NIC
      (i40e), the connection rate dropped from 556k/s to 555k/s while the
      SYN cookie rate grew from 5.38 Mpps to 5.45 Mpps.
      
      Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
      Cc: George Spelvin <lkml@sdf.org>
      Cc: Amit Klein <aksecurity@gmail.com>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: tytso@mit.edu
      Cc: Florian Westphal <fw@strlen.de>
      Cc: Marc Plumb <lkml.mplumb@gmail.com>
      Tested-by: default avatarSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
      3744741a
    • George Spelvin's avatar
      random32: make prandom_u32() output unpredictable · c51f8f88
      George Spelvin authored
      Non-cryptographic PRNGs may have great statistical properties, but
      are usually trivially predictable to someone who knows the algorithm,
      given a small sample of their output.  An LFSR like prandom_u32() is
      particularly simple, even if the sample is widely scattered bits.
      
      It turns out the network stack uses prandom_u32() for some things like
      random port numbers which it would prefer are *not* trivially predictable.
      Predictability led to a practical DNS spoofing attack.  Oops.
      
      This patch replaces the LFSR with a homebrew cryptographic PRNG based
      on the SipHash round function, which is in turn seeded with 128 bits
      of strong random key.  (The authors of SipHash have *not* been consulted
      about this abuse of their algorithm.)  Speed is prioritized over security;
      attacks are rare, while performance is always wanted.
      
      Replacing all callers of prandom_u32() is the quick fix.
      Whether to reinstate a weaker PRNG for uses which can tolerate it
      is an open question.
      
      Commit f227e3ec ("random32: update the net random state on interrupt
      and activity") was an earlier attempt at a solution.  This patch replaces
      it.
      Reported-by: default avatarAmit Klein <aksecurity@gmail.com>
      Cc: Willy Tarreau <w@1wt.eu>
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: tytso@mit.edu
      Cc: Florian Westphal <fw@strlen.de>
      Cc: Marc Plumb <lkml.mplumb@gmail.com>
      Fixes: f227e3ec ("random32: update the net random state on interrupt and activity")
      Signed-off-by: default avatarGeorge Spelvin <lkml@sdf.org>
      Link: https://lore.kernel.org/netdev/20200808152628.GA27941@SDF.ORG/
      [ willy: partial reversal of f227e3ec; moved SIPROUND definitions
        to prandom.h for later use; merged George's prandom_seed() proposal;
        inlined siprand_u32(); replaced the net_rand_state[] array with 4
        members to fix a build issue; cosmetic cleanups to make checkpatch
        happy; fixed RANDOM32_SELFTEST build ]
      Signed-off-by: default avatarWilly Tarreau <w@1wt.eu>
      c51f8f88
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · b6f96e75
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - A fix for undetected data corruption on Power9 Nimbus <= DD2.1 in the
         emulation of VSX loads. The affected CPUs were not widely available.
      
       - Two fixes for machine check handling in guests under PowerVM.
      
       - A fix for our recent changes to SMP setup, when
         CONFIG_CPUMASK_OFFSTACK=y.
      
       - Three fixes for races in the handling of some of our powernv sysfs
         attributes.
      
       - One change to remove TM from the set of Power10 CPU features.
      
       - A couple of other minor fixes.
      
      Thanks to: Aneesh Kumar K.V, Christophe Leroy, Ganesh Goudar, Jordan
      Niethe, Mahesh Salgaonkar, Michael Neuling, Oliver O'Halloran, Qian Cai,
      Srikar Dronamraju, Vasant Hegde.
      
      * tag 'powerpc-5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/pseries: Avoid using addr_to_pfn in real mode
        powerpc/uaccess: Don't use "m<>" constraint with GCC 4.9
        powerpc/eeh: Fix eeh_dev_check_failure() for PE#0
        powerpc/64s: Remove TM from Power10 features
        selftests/powerpc: Make alignment handler test P9N DD2.1 vector CI load workaround
        powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
        powerpc/powernv/dump: Handle multiple writes to ack attribute
        powerpc/powernv/dump: Fix race while processing OPAL dump
        powerpc/smp: Use GFP_ATOMIC while allocating tmp mask
        powerpc/smp: Remove unnecessary variable
        powerpc/mce: Avoid nmi_enter/exit in real mode on pseries hash
        powerpc/opal_elog: Handle multiple writes to ack attribute
      b6f96e75
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-5.10-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 0593c1b4
      Linus Torvalds authored
      Pull more RISC-V updates from Palmer Dabbelt:
       "Just a single patch set: the remainder of Christoph's work to remove
        set_fs, including the RISC-V portion"
      
      * tag 'riscv-for-linus-5.10-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        riscv: remove address space overrides using set_fs()
        riscv: implement __get_kernel_nofault and __put_user_nofault
        riscv: refactor __get_user and __put_user
        riscv: use memcpy based uaccess for nommu again
        asm-generic: make the set_fs implementation optional
        asm-generic: add nommu implementations of __{get,put}_kernel_nofault
        asm-generic: improve the nommu {get,put}_user handling
        uaccess: provide a generic TASK_SIZE_MAX definition
      0593c1b4
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 45fe6058
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Olof Johansson:
       "We keep this in a separate branch to avoid cross-branch conflicts, but
        most of the material here is fairly boring -- some new drivers turned
        on for hardware since they were merged, and some refreshed files due
        to time having moved a lot of entries around"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (33 commits)
        ARM: multi_v7_defconfig: add FMC2 EBI controller support
        arm64: defconfig: enable Qualcomm ASoC modules
        arm64: defconfig: qcom: enable GPU clock controller for SM8[12]50
        arm64: defconfig: enable INTERCONNECT for Qualcomm chipsets
        arm64: defconfig: enable the sl28cpld board management controller
        arm64: defconfig: Enable the eLCDIF and Raydium RM67191 drivers
        arm64: defconfig: Enable Qcom SNPS Femto PHY
        ARM: configs: Update Realview defconfig
        ARM: configs: Update Versatile defconfig
        ARM: config: aspeed_g5: Enable IBM OP Panel driver
        ARM: config: aspeed-g5: Enable I2C GPIO mux driver
        ARM: config: aspeed: Fix selection of media drivers
        arm64: defconfig: Enable Samsung S3FWRN5 NFC driver
        ARM: omap2plus_defconfig: enable generic net options
        ARM: omap2plus_defconfig: enable twl4030_madc as a loadable module
        arm64: defconfig: Enable clock driver for ROHM BD718x7 PMIC
        arm64: defconfig: Build ADMA and ACONNECT driver
        arm64: defconfig: Build AHUB component drivers
        arm64: defconfig: Enable Lontium LT9611 driver
        arm64: defcondfig: Enable USB ACM and FTDI drivers
        ...
      45fe6058
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e533cda1
      Linus Torvalds authored
      Pull ARM Devicetree updates from Olof Johansson:
       "As usual, most of the changes are to devicetrees.
      
        Besides smaller fixes, some refactorings and cleanups, some of the new
        platforms and chips (or significant features) supported are below:
      
        Broadcom boards:
         - Cisco Meraki MR32 (BCM53016-based)
         - BCM2711 (RPi4) display pipeline support
      
        Actions Semi boards:
         - Caninos Loucos Labrador SBC (S500-based)
         - RoseapplePi SBC (S500-based)
      
        Allwinner SoCs/boards:
         - A100 SoC with Perf1 board
         - Mali, DMA, Cetrus and IR support for R40 SoC
      
        Amlogic boards:
         - Libretch S905x CC V2 board
         - Hardkernel ODROID-N2+ board
      
        Aspeed boards/platforms:
         - Wistron Mowgli (AST2500-based, Power9 OpenPower server)
         - Facebook Wedge400 (AST2500-based, ToR switch)
      
        Hisilicon SoC:
         - SD5203 SoC
      
        Nvidia boards:
         - Tegra234 VDK, for pre-silicon Orin SoC
      
        NXP i.MX boards:
         - Librem 5 phone
         - i.MX8MM DDR4 EVK
         - Variscite VAR-SOM-MX8MN SoM
         - Symphony board
         - Tolino Shine 2 HD
         - TQMa6 SoM
         - Y Soft IOTA Orion
      
        Rockchip boards:
         - NanoPi R2S board
         - A95X-Z2 board
         - more Rock-Pi4 variants
      
        STM32 boards:
         - Odyssey SOM board (STM32MP157CAC-based)
         - DH DRC02 board
      
        Toshiba SoCs/boards:
         - Visconti SoC and TPMV7708 board"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (638 commits)
        ARM: dts: nspire: Fix SP804 users
        arm64: dts: lg: Fix SP804 users
        arm64: dts: lg: Fix SP805 clocks
        ARM: mstar: Fix up the fallout from moving the dts/dtsi files
        ARM: mstar: Add mstar prefix to all of the dtsi/dts files
        ARM: mstar: Add interrupt to pm_uart
        ARM: mstar: Add interrupt controller to base dtsi
        ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
        arm64: dts: ti: k3-j7200-common-proc-board: Add USB support
        arm64: dts: ti: k3-j7200-common-proc-board: Configure the SERDES lane function
        arm64: dts: ti: k3-j7200-main: Add USB controller
        arm64: dts: ti: k3-j7200-main.dtsi: Add USB to SERDES lane MUX
        arm64: dts: ti: k3-j7200-main: Add SERDES lane control mux
        dt-bindings: ti-serdes-mux: Add defines for J7200 SoC
        ARM: dts: hisilicon: add SD5203 dts
        ARM: dts: hisilicon: fix the system controller compatible nodes
        arm64: dts: zynqmp: Fix leds subnode name for zcu100/ultra96 v1
        arm64: dts: zynqmp: Remove undocumented u-boot properties
        arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
        arm64: dts: zynqmp: Rename buses to be align with simple-bus yaml
        ...
      e533cda1
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 2e368dd2
      Linus Torvalds authored
      Pull ARM SoC-related driver updates from Olof Johansson:
       "Various driver updates for platforms. A bulk of this is smaller fixes
        or cleanups, but some of the new material this time around is:
      
         - Support for Nvidia Tegra234 SoC
      
         - Ring accelerator support for TI AM65x
      
         - PRUSS driver for TI platforms
      
         - Renesas support for R-Car V3U SoC
      
         - Reset support for Cortex-M4 processor on i.MX8MQ
      
        There are also new socinfo entries for a handful of different SoCs and
        platforms"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (131 commits)
        drm/mediatek: reduce clear event
        soc: mediatek: cmdq: add clear option in cmdq_pkt_wfe api
        soc: mediatek: cmdq: add jump function
        soc: mediatek: cmdq: add write_s_mask value function
        soc: mediatek: cmdq: add write_s value function
        soc: mediatek: cmdq: add read_s function
        soc: mediatek: cmdq: add write_s_mask function
        soc: mediatek: cmdq: add write_s function
        soc: mediatek: cmdq: add address shift in jump
        soc: mediatek: mtk-infracfg: Fix kerneldoc
        soc: amlogic: pm-domains: use always-on flag
        reset: sti: reset-syscfg: fix struct description warnings
        reset: imx7: add the cm4 reset for i.MX8MQ
        dt-bindings: reset: imx8mq: add m4 reset
        reset: Fix and extend kerneldoc
        reset: reset-zynqmp: Added support for Versal platform
        dt-bindings: reset: Updated binding for Versal reset driver
        reset: imx7: Support module build
        soc: fsl: qe: Remove unnessesary check in ucc_set_tdm_rxtx_clk
        soc: fsl: qman: convert to use be32_add_cpu()
        ...
      2e368dd2
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e731f314
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "SoC changes, a substantial part of this is cleanup of some of the
        older platforms that used to have a bunch of board files.
      
        In particular:
      
         - Remove non-DT i.MX platforms that haven't seen activity in years,
           it's time to remove them.
      
         - A bunch of cleanup and removal of platform data for TI/OMAP
           platforms, moving over to genpd for power/reset control (yay!)
      
         - Major cleanup of Samsung S3C24xx and S3C64xx platforms, moving them
           closer to multiplatform support (not quite there yet, but getting
           close).
      
        There are a few other changes too, smaller fixlets, etc. For new
        platform support, the primary ones are:
      
         - New SoC: Hisilicon SD5203, ARM926EJ-S platform.
      
         - Cpufreq support for i.MX7ULP"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (121 commits)
        ARM: mstar: Select MStar intc
        ARM: stm32: Replace HTTP links with HTTPS ones
        ARM: debug: add UART early console support for SD5203
        ARM: hisi: add support for SD5203 SoC
        ARM: omap3: enable off mode automatically
        clk: imx: imx35: Remove mx35_clocks_init()
        clk: imx: imx31: Remove mx31_clocks_init()
        clk: imx: imx27: Remove mx27_clocks_init()
        ARM: imx: Remove unused definitions
        ARM: imx35: Retrieve the IIM base address from devicetree
        ARM: imx3: Retrieve the AVIC base address from devicetree
        ARM: imx3: Retrieve the CCM base address from devicetree
        ARM: imx31: Retrieve the IIM base address from devicetree
        ARM: imx27: Retrieve the CCM base address from devicetree
        ARM: imx27: Retrieve the SYSCTRL base address from devicetree
        ARM: s3c64xx: bring back notes from removed debug-macro.S
        ARM: s3c24xx: fix Wunused-variable warning on !MMU
        ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
        MAINTAINERS: mark linux-samsung-soc list non-moderated
        ARM: imx: Remove remnant board file support pieces
        ...
      e731f314