]> Git Repo - J-linux.git/commitdiff
Merge tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
authorLinus Torvalds <[email protected]>
Tue, 11 Aug 2020 21:13:24 +0000 (14:13 -0700)
committerLinus Torvalds <[email protected]>
Tue, 11 Aug 2020 21:13:24 +0000 (14:13 -0700)
Pull iommu updates from Joerg Roedel:

 - Remove of the dev->archdata.iommu (or similar) pointers from most
   architectures. Only Sparc is left, but this is private to Sparc as
   their drivers don't use the IOMMU-API.

 - ARM-SMMU updates from Will Deacon:

     - Support for SMMU-500 implementation in Marvell Armada-AP806 SoC

     - Support for SMMU-500 implementation in NVIDIA Tegra194 SoC

     - DT compatible string updates

     - Remove unused IOMMU_SYS_CACHE_ONLY flag

     - Move ARM-SMMU drivers into their own subdirectory

 - Intel VT-d updates from Lu Baolu:

     - Misc tweaks and fixes for vSVA

     - Report/response page request events

     - Cleanups

 - Move the Kconfig and Makefile bits for the AMD and Intel drivers into
   their respective subdirectory.

 - MT6779 IOMMU Support

 - Support for new chipsets in the Renesas IOMMU driver

 - Other misc cleanups and fixes (e.g. to improve compile test coverage)

* tag 'iommu-updates-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (77 commits)
  iommu/amd: Move Kconfig and Makefile bits down into amd directory
  iommu/vt-d: Move Kconfig and Makefile bits down into intel directory
  iommu/arm-smmu: Move Arm SMMU drivers into their own subdirectory
  iommu/vt-d: Skip TE disabling on quirky gfx dedicated iommu
  iommu: Add gfp parameter to io_pgtable_ops->map()
  iommu: Mark __iommu_map_sg() as static
  iommu/vt-d: Rename intel-pasid.h to pasid.h
  iommu/vt-d: Add page response ops support
  iommu/vt-d: Report page request faults for guest SVA
  iommu/vt-d: Add a helper to get svm and sdev for pasid
  iommu/vt-d: Refactor device_to_iommu() helper
  iommu/vt-d: Disable multiple GPASID-dev bind
  iommu/vt-d: Warn on out-of-range invalidation address
  iommu/vt-d: Fix devTLB flush for vSVA
  iommu/vt-d: Handle non-page aligned address
  iommu/vt-d: Fix PASID devTLB invalidation
  iommu/vt-d: Remove global page support in devTLB flush
  iommu/vt-d: Enforce PASID devTLB field mask
  iommu: Make some functions static
  iommu/amd: Remove double zero check
  ...

1  2 
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml
MAINTAINERS
arch/powerpc/include/asm/device.h
drivers/gpu/drm/i915/selftests/mock_gem_device.c
drivers/gpu/drm/panfrost/panfrost_mmu.c
drivers/iommu/Kconfig
drivers/iommu/intel/Kconfig
drivers/iommu/intel/iommu.c
drivers/iommu/ipmmu-vmsa.c
drivers/memory/mtk-smi.c

index 5e4fe54f51cda654d8d7a2c72cf55f8d6aa64a86,e9d28a4060fa3db40169c19d0ad66e0317f28973..6bfa090fd73a98297056769c028a0d12b1f748fb
@@@ -32,10 -32,10 +32,11 @@@ properties
            - enum:
                - renesas,ipmmu-r8a774a1 # RZ/G2M
                - renesas,ipmmu-r8a774b1 # RZ/G2N
 +              - renesas,ipmmu-r8a774e1 # RZ/G2H
                - renesas,ipmmu-r8a774c0 # RZ/G2E
                - renesas,ipmmu-r8a7795  # R-Car H3
                - renesas,ipmmu-r8a7796  # R-Car M3-W
+               - renesas,ipmmu-r8a77961 # R-Car M3-W+
                - renesas,ipmmu-r8a77965 # R-Car M3-N
                - renesas,ipmmu-r8a77970 # R-Car V3M
                - renesas,ipmmu-r8a77980 # R-Car V3H
diff --combined MAINTAINERS
index f23dfeed14bd2b459ab7f9cad1d09075efcf53f2,a8b4904c6bddc80a6667e8dfaad3ddb608d5a3a0..e627ed60d75aa6d31aad7ea8bcf08e3d13724445
@@@ -147,7 -147,7 +147,7 @@@ Maintainers Lis
  M:    Steffen Klassert <[email protected]>
  L:    [email protected]
  S:    Odd Fixes
 -F:    Documentation/networking/device_drivers/3com/vortex.rst
 +F:    Documentation/networking/device_drivers/ethernet/3com/vortex.rst
  F:    drivers/net/ethernet/3com/3c59x.c
  
  3CR990 NETWORK DRIVER
@@@ -782,7 -782,7 +782,7 @@@ F: include/dt-bindings/reset/altr,rst-m
  F:    include/linux/mfd/altera-a10sr.h
  
  ALTERA TRIPLE SPEED ETHERNET DRIVER
 -M:    Thor Thayer <thor.thayer@linux.intel.com>
 +M:    Joyce Ooi <joyce.ooi@intel.com>
  L:    [email protected]
  S:    Maintained
  F:    drivers/net/ethernet/altera/
@@@ -816,7 -816,7 +816,7 @@@ R: Saeed Bishara <[email protected]
  R:    Zorik Machulsky <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/amazon/ena.rst
 +F:    Documentation/networking/device_drivers/ethernet/amazon/ena.rst
  F:    drivers/net/ethernet/amazon/
  
  AMAZON RDMA EFA DRIVER
@@@ -830,20 -830,11 +830,20 @@@ F:      include/uapi/rdma/efa-abi.
  
  AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
  M:    Tom Lendacky <[email protected]>
 +M:    John Allen <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/crypto/ccp/
  F:    include/linux/ccp.h
  
 +AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER - SEV SUPPORT
 +M:    Brijesh Singh <[email protected]>
 +M:    Tom Lendacky <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/crypto/ccp/sev*
 +F:    include/uapi/linux/psp-sev.h
 +
  AMD DISPLAY CORE
  M:    Harry Wentland <[email protected]>
  M:    Leo Li <[email protected]>
@@@ -1082,7 -1073,6 +1082,7 @@@ L:      [email protected]
  S:    Supported
  W:    http://ez.analog.com/community/linux-device-drivers
  F:    drivers/media/i2c/adv7180.c
 +F:    Documentation/devicetree/bindings/media/i2c/adv7180.yaml
  
  ANALOG DEVICES INC ADV748X DRIVER
  M:    Kieran Bingham <[email protected]>
@@@ -1180,8 -1170,6 +1180,8 @@@ M:      Todd Kjos <[email protected]
  M:    Martijn Coenen <[email protected]>
  M:    Joel Fernandes <[email protected]>
  M:    Christian Brauner <[email protected]>
 +M:    Hridya Valsaraju <[email protected]>
 +M:    Suren Baghdasaryan <[email protected]>
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
@@@ -1307,7 -1295,7 +1307,7 @@@ L:      [email protected]
  S:    Supported
  W:    https://www.marvell.com/
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
 -F:    Documentation/networking/device_drivers/aquantia/atlantic.rst
 +F:    Documentation/networking/device_drivers/ethernet/aquantia/atlantic.rst
  F:    drivers/net/ethernet/aquantia/atlantic/
  
  AQUANTIA ETHERNET DRIVER PTP SUBSYSTEM
@@@ -1437,7 -1425,7 +1437,7 @@@ F:      arch/arm*/include/asm/perf_event.
  F:    arch/arm*/kernel/hw_breakpoint.c
  F:    arch/arm*/kernel/perf_*
  F:    arch/arm/oprofile/common.c
 -F:    drivers/perf/*
 +F:    drivers/perf/
  F:    include/linux/perf/arm_pmu.h
  
  ARM PORT
@@@ -1460,6 -1448,11 +1460,6 @@@ S:     Odd Fixe
  F:    drivers/amba/
  F:    include/linux/amba/bus.h
  
 -ARM PRIMECELL CLCD PL110 DRIVER
 -M:    Russell King <[email protected]>
 -S:    Odd Fixes
 -F:    drivers/video/fbdev/amba-clcd.*
 -
  ARM PRIMECELL KMI PL050 DRIVER
  M:    Russell King <[email protected]>
  S:    Odd Fixes
@@@ -1505,7 -1498,7 +1505,7 @@@ R:      Robin Murphy <[email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    Documentation/devicetree/bindings/iommu/arm,smmu*
- F:    drivers/iommu/arm-smmu*
+ F:    drivers/iommu/arm/
  F:    drivers/iommu/io-pgtable-arm-v7s.c
  F:    drivers/iommu/io-pgtable-arm.c
  
@@@ -1604,9 -1597,6 +1604,9 @@@ F:      sound/soc/meson
  
  ARM/Amlogic Meson SoC support
  M:    Kevin Hilman <[email protected]>
 +R:    Neil Armstrong <[email protected]>
 +R:    Jerome Brunet <[email protected]>
 +R:    Martin Blumenstingl <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Maintained
@@@ -1627,7 -1617,7 +1627,7 @@@ L:      [email protected]
  S:    Maintained
  F:    arch/arm/boot/dts/alpine*
  F:    arch/arm/mach-alpine/
 -F:    arch/arm64/boot/dts/al/
 +F:    arch/arm64/boot/dts/amazon/
  F:    drivers/*/*alpine*
  
  ARM/ARTPEC MACHINE SUPPORT
@@@ -1964,14 -1954,6 +1964,14 @@@ F:    drivers/irqchip/irq-ixp4xx.
  F:    include/linux/irqchip/irq-ixp4xx.h
  F:    include/linux/platform_data/timer-ixp4xx.h
  
 +ARM/INTEL KEEMBAY ARCHITECTURE
 +M:    Paul J. Murphy <[email protected]>
 +M:    Daniele Alessandrelli <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/arm/intel,keembay.yaml
 +F:    arch/arm64/boot/dts/intel/keembay-evm.dts
 +F:    arch/arm64/boot/dts/intel/keembay-soc.dtsi
 +
  ARM/INTEL RESEARCH IMOTE/STARGATE 2 MACHINE SUPPORT
  M:    Jonathan Cameron <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -2129,32 -2111,12 +2129,32 @@@ X:   drivers/net/wireless/atmel
  N:    at91
  N:    atmel
  
 +ARM/Microchip Sparx5 SoC support
 +M:    Lars Povlsen <[email protected]>
 +M:    Steen Hegelund <[email protected]>
 +M:    Microchip Linux Driver Support <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    arch/arm64/boot/dts/microchip/
 +N:    sparx5
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-pxa/mioa701.c
  
 +ARM/MStar/Sigmastar Armv7 SoC support
 +M:    Daniel Palmer <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +W:    http://linux-chenxing.org/
 +F:    Documentation/devicetree/bindings/arm/mstar/*
 +F:    arch/arm/boot/dts/infinity*.dtsi
 +F:    arch/arm/boot/dts/mercury*.dtsi
 +F:    arch/arm/boot/dts/mstar-v7.dtsi
 +F:    arch/arm/mach-mstar/
 +
  ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
  M:    Michael Petchkovsky <[email protected]>
  S:    Maintained
@@@ -2309,7 -2271,7 +2309,7 @@@ F:      drivers/pci/controller/dwc/pcie-qcom
  F:    drivers/phy/qualcomm/
  F:    drivers/power/*/msm*
  F:    drivers/reset/reset-qcom-*
 -F:    drivers/scsi/ufs/ufs-qcom.*
 +F:    drivers/scsi/ufs/ufs-qcom*
  F:    drivers/spi/spi-geni-qcom.c
  F:    drivers/spi/spi-qcom-qspi.c
  F:    drivers/spi/spi-qup.c
@@@ -2865,7 -2827,7 +2865,7 @@@ ASYMMETRIC KEY
  M:    David Howells <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/crypto/asymmetric-keys.txt
 +F:    Documentation/crypto/asymmetric-keys.rst
  F:    crypto/asymmetric_keys/
  F:    include/crypto/pkcs7.h
  F:    include/crypto/public_key.h
@@@ -2875,7 -2837,7 +2875,7 @@@ ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT
  R:    Dan Williams <[email protected]>
  S:    Odd fixes
  W:    http://sourceforge.net/projects/xscaleiop
 -F:    Documentation/crypto/async-tx-api.txt
 +F:    Documentation/crypto/async-tx-api.rst
  F:    crypto/async_tx/
  F:    drivers/dma/
  F:    include/linux/async_tx.h
@@@ -2919,7 -2881,7 +2919,7 @@@ S:      Supporte
  F:    drivers/net/wireless/ath/*
  
  ATHEROS ATH5K WIRELESS DRIVER
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  M:    Nick Kossifidis <[email protected]>
  M:    Luis Chamberlain <[email protected]>
  L:    [email protected]
@@@ -3621,7 -3583,6 +3621,7 @@@ M:      Selvin Xavier <selvin.xavier@broadco
  M:    Devesh Sharma <[email protected]>
  M:    Somnath Kotur <[email protected]>
  M:    Sriharsha Basavapatna <[email protected]>
 +M:    Naresh Kumar PBS <[email protected]>
  L:    [email protected]
  S:    Supported
  W:    http://www.broadcom.com
@@@ -4141,14 -4102,6 +4141,14 @@@ F:    drivers/power/supply/cros_usbpd-char
  N:    cros_ec
  N:    cros-ec
  
 +CHRONTEL CH7322 CEC DRIVER
 +M:    Jeff Chase <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/chrontel,ch7322.yaml
 +F:    drivers/media/cec/i2c/ch7322.c
 +
  CIRRUS LOGIC AUDIO CODEC DRIVERS
  M:    James Schulman <[email protected]>
  M:    David Rhodes <[email protected]>
  S:    Maintained
  F:    drivers/connector/
  
 +CONSOLE SUBSYSTEM
 +M:    Greg Kroah-Hartman <[email protected]>
 +S:    Supported
 +F:    drivers/video/console/
 +F:    include/linux/console*
 +
  CONTROL GROUP (CGROUP)
  M:    Tejun Heo <[email protected]>
  M:    Li Zefan <[email protected]>
@@@ -4454,12 -4401,6 +4454,12 @@@ S:    Maintaine
  F:    Documentation/hwmon/coretemp.rst
  F:    drivers/hwmon/coretemp.c
  
 +CORSAIR-CPRO HARDWARE MONITOR DRIVER
 +M:    Marius Zachmann <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hwmon/corsair-cpro.c
 +
  COSA/SRP SYNC SERIAL DRIVER
  M:    Jan "Yenya" Kasprzak <[email protected]>
  S:    Maintained
@@@ -4813,7 -4754,7 +4813,7 @@@ F:      net/ax25/sysctl_net_ax25.
  DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
  L:    [email protected]
  S:    Orphan
 -F:    Documentation/networking/device_drivers/dec/dmfe.rst
 +F:    Documentation/networking/device_drivers/ethernet/dec/dmfe.rst
  F:    drivers/net/ethernet/dec/tulip/dmfe.c
  
  DC390/AM53C974 SCSI driver
@@@ -5153,7 -5094,6 +5153,7 @@@ F:      fs/dlm
  
  DMA BUFFER SHARING FRAMEWORK
  M:    Sumit Semwal <[email protected]>
 +M:    Christian König <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -5275,14 -5215,6 +5275,14 @@@ T:    git git://linuxtv.org/media_tree.gi
  F:    Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.txt
  F:    drivers/media/i2c/dw9714.c
  
 +DONGWOON DW9768 LENS VOICE COIL DRIVER
 +M:    Dongchun Zhu <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/devicetree/bindings/media/i2c/dongwoon,dw9768.yaml
 +F:    drivers/media/i2c/dw9768.c
 +
  DONGWOON DW9807 LENS VOICE COIL DRIVER
  M:    Sakari Ailus <[email protected]>
  L:    [email protected]
@@@ -5309,8 -5241,8 +5309,8 @@@ M:      Ioana Ciornei <[email protected]
  M:    Ioana Radulescu <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/networking/device_drivers/freescale/dpaa2/ethernet-driver.rst
 -F:    Documentation/networking/device_drivers/freescale/dpaa2/mac-phy-support.rst
 +F:    Documentation/networking/device_drivers/ethernet/freescale/dpaa2/ethernet-driver.rst
 +F:    Documentation/networking/device_drivers/ethernet/freescale/dpaa2/mac-phy-support.rst
  F:    drivers/net/ethernet/freescale/dpaa2/Kconfig
  F:    drivers/net/ethernet/freescale/dpaa2/Makefile
  F:    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth*
@@@ -5887,7 -5819,7 +5887,7 @@@ M:      Eric Anholt <[email protected]
  S:    Supported
  T:    git git://github.com/anholt/linux
  T:    git git://anongit.freedesktop.org/drm/drm-misc
 -F:    Documentation/devicetree/bindings/display/brcm,bcm-vc4.txt
 +F:    Documentation/devicetree/bindings/display/brcm,bcm2835-*.yaml
  F:    drivers/gpu/drm/vc4/
  F:    include/uapi/drm/vc4_drm.h
  
@@@ -5911,15 -5843,6 +5911,15 @@@ T:    git git://anongit.freedesktop.org/dr
  F:    Documentation/gpu/xen-front.rst
  F:    drivers/gpu/drm/xen/
  
 +DRM DRIVERS FOR XILINX
 +M:    Hyun Kwon <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/devicetree/bindings/display/xlnx/
 +F:    drivers/gpu/drm/xlnx/
 +
  DRM DRIVERS FOR ZTE ZX
  M:    Shawn Guo <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/usb/gadget/udc/fsl*
  
 +FREESCALE USB PHY DRIVER
 +M:    Ran Wang <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/usb/phy/phy-fsl-usb*
 +
  FREEVXFS FILESYSTEM
  M:    Christoph Hellwig <[email protected]>
  S:    Maintained
@@@ -7191,7 -7107,7 +7191,7 @@@ F:      include/linux/futex.
  F:    include/uapi/linux/futex.h
  F:    kernel/futex.c
  F:    tools/perf/bench/futex*
 -F:    Documentation/locking/*futex*
 +F:    tools/testing/selftests/futex/
  
  GATEWORKS SYSTEM CONTROLLER (GSC) DRIVER
  M:    Tim Harvey <[email protected]>
@@@ -7387,7 -7303,7 +7387,7 @@@ R:      Sagi Shahar <[email protected]
  R:    Jon Olson <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/google/gve.rst
 +F:    Documentation/networking/device_drivers/ethernet/google/gve.rst
  F:    drivers/net/ethernet/google
  
  GPD POCKET FAN DRIVER
@@@ -7998,7 -7914,7 +7998,7 @@@ HUAWEI ETHERNET DRIVE
  M:    Bin Luo <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/hinic.rst
 +F:    Documentation/networking/device_drivers/ethernet/huawei/hinic.rst
  F:    drivers/net/ethernet/huawei/hinic/
  
  HUGETLB FILESYSTEM
@@@ -8050,7 -7966,7 +8050,7 @@@ S:      Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git
  F:    Documentation/ABI/stable/sysfs-bus-vmbus
  F:    Documentation/ABI/testing/debugfs-hyperv
 -F:    Documentation/networking/device_drivers/microsoft/netvsc.rst
 +F:    Documentation/networking/device_drivers/ethernet/microsoft/netvsc.rst
  F:    arch/x86/hyperv
  F:    arch/x86/include/asm/hyperv-tlfs.h
  F:    arch/x86/include/asm/mshyperv.h
  S:    Maintained
  F:    drivers/platform/x86/intel_atomisp2_pm.c
  
 +INTEL ATOMISP2 LED DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/platform/x86/intel_atomisp2_led.c
 +
  INTEL BROXTON PMC DRIVER
  M:    Mika Westerberg <[email protected]>
  M:    Zha Qipeng <[email protected]>
@@@ -8738,7 -8648,18 +8738,7 @@@ W:     http://e1000.sourceforge.net
  Q:    http://patchwork.ozlabs.org/project/intel-wired-lan/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
 -F:    Documentation/networking/device_drivers/intel/e100.rst
 -F:    Documentation/networking/device_drivers/intel/e1000.rst
 -F:    Documentation/networking/device_drivers/intel/e1000e.rst
 -F:    Documentation/networking/device_drivers/intel/fm10k.rst
 -F:    Documentation/networking/device_drivers/intel/i40e.rst
 -F:    Documentation/networking/device_drivers/intel/iavf.rst
 -F:    Documentation/networking/device_drivers/intel/ice.rst
 -F:    Documentation/networking/device_drivers/intel/igb.rst
 -F:    Documentation/networking/device_drivers/intel/igbvf.rst
 -F:    Documentation/networking/device_drivers/intel/ixgb.rst
 -F:    Documentation/networking/device_drivers/intel/ixgbe.rst
 -F:    Documentation/networking/device_drivers/intel/ixgbevf.rst
 +F:    Documentation/networking/device_drivers/ethernet/intel/
  F:    drivers/net/ethernet/intel/
  F:    drivers/net/ethernet/intel/*/
  F:    include/linux/avf/virtchnl.h
@@@ -8866,7 -8787,7 +8866,7 @@@ M:      Tomas Winkler <[email protected]
  L:    [email protected]
  S:    Supported
  F:    Documentation/driver-api/mei/*
 -F:    drivers/misc/mei/*
 +F:    drivers/misc/mei/
  F:    drivers/watchdog/mei_wdt.c
  F:    include/linux/mei_cl_bus.h
  F:    include/uapi/linux/mei.h
@@@ -8928,8 -8849,8 +8928,8 @@@ INTEL PRO/WIRELESS 2100, 2200BG, 2915AB
  M:    Stanislav Yakovlev <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/networking/device_drivers/intel/ipw2100.rst
 -F:    Documentation/networking/device_drivers/intel/ipw2200.rst
 +F:    Documentation/networking/device_drivers/wifi/intel/ipw2100.rst
 +F:    Documentation/networking/device_drivers/wifi/intel/ipw2200.rst
  F:    drivers/net/wireless/intel/ipw2x00/
  
  INTEL PSTATE DRIVER
@@@ -9059,14 -8980,6 +9059,14 @@@ F:    include/dt-bindings/interconnect
  F:    include/linux/interconnect-provider.h
  F:    include/linux/interconnect.h
  
 +INVENSENSE ICM-426xx IMU DRIVER
 +M:    Jean-Baptiste Maneyrol <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W     https://invensense.tdk.com/
 +F:    Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
 +F:    drivers/iio/imu/inv_icm42600/
 +
  INVENSENSE MPU-3050 GYROSCOPE DRIVER
  M:    Linus Walleij <[email protected]>
  L:    [email protected]
@@@ -9102,6 -9015,7 +9102,7 @@@ F:      drivers/iommu
  F:    include/linux/iommu.h
  F:    include/linux/iova.h
  F:    include/linux/of_iommu.h
+ F:    include/uapi/linux/iommu.h
  
  IO_URING
  M:    Jens Axboe <[email protected]>
@@@ -9540,11 -9454,9 +9541,11 @@@ F:    arch/arm64/kvm
  F:    include/kvm/arm_*
  
  KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips)
 +M:    Huacai Chen <[email protected]>
 +M:    Aleksandar Markovic <[email protected]>
  L:    [email protected]
  L:    [email protected]
 -S:    Orphan
 +S:    Maintained
  F:    arch/mips/include/asm/kvm*
  F:    arch/mips/include/uapi/asm/kvm*
  F:    arch/mips/kvm/
@@@ -9698,7 -9610,7 +9699,7 @@@ M:      Anil S Keshavamurthy <anil.s.keshava
  M:    "David S. Miller" <[email protected]>
  M:    Masami Hiramatsu <[email protected]>
  S:    Maintained
 -F:    Documentation/kprobes.txt
 +F:    Documentation/trace/kprobes.rst
  F:    include/asm-generic/kprobes.h
  F:    include/linux/kprobes.h
  F:    kernel/kprobes.c
@@@ -9770,10 -9682,12 +9771,10 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    scripts/leaking_addresses.pl
  
  LED SUBSYSTEM
 -M:    Jacek Anaszewski <[email protected]>
  M:    Pavel Machek <[email protected]>
  R:    Dan Murphy <[email protected]>
  L:    [email protected]
  S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
  F:    Documentation/devicetree/bindings/leds/
  F:    drivers/leds/
@@@ -10059,7 -9973,6 +10060,7 @@@ M:    Luc Maranget <[email protected]
  M:    "Paul E. McKenney" <[email protected]>
  R:    Akira Yokosawa <[email protected]>
  R:    Daniel Lustig <[email protected]>
 +R:    Joel Fernandes <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -10068,7 -9981,6 +10069,7 @@@ F:    Documentation/atomic_bitops.tx
  F:    Documentation/atomic_t.txt
  F:    Documentation/core-api/atomic_ops.rst
  F:    Documentation/core-api/refcount-vs-atomic.rst
 +F:    Documentation/litmus-tests/
  F:    Documentation/memory-barriers.txt
  F:    tools/memory-model/
  
@@@ -10463,7 -10375,7 +10464,7 @@@ M:   Geetha sowjanya <[email protected]
  M:    Jerin Jacob <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/marvell/octeontx2.rst
 +F:    Documentation/networking/device_drivers/ethernet/marvell/octeontx2.rst
  F:    drivers/net/ethernet/marvell/octeontx2/af/
  
  MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
@@@ -10523,16 -10435,6 +10524,16 @@@ F: Documentation/hwmon/max6697.rs
  F:    drivers/hwmon/max6697.c
  F:    include/linux/platform_data/max6697.h
  
 +MAX9286 QUAD GMSL DESERIALIZER DRIVER
 +M:    Jacopo Mondi <[email protected]>
 +M:    Kieran Bingham <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
 +M:    Niklas Söderlund <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
 +F:    drivers/media/i2c/max9286.c
 +
  MAX9860 MONO AUDIO VOICE CODEC DRIVER
  M:    Peter Rosin <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/renesas,fcp.txt
 +F:    Documentation/devicetree/bindings/media/renesas,fcp.yaml
  F:    drivers/media/platform/rcar-fcp.c
  F:    include/media/rcar-fcp.h
  
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/renesas,fdp1.txt
 +F:    Documentation/devicetree/bindings/media/renesas,fdp1.yaml
  F:    drivers/media/platform/rcar_fdp1.c
  
  MEDIA DRIVERS FOR RENESAS - VIN
  L:    [email protected]
  S:    Supported
  T:    git git://linuxtv.org/media_tree.git
 -F:    Documentation/devicetree/bindings/media/renesas,vsp1.txt
 +F:    Documentation/devicetree/bindings/media/renesas,vsp1.yaml
  F:    drivers/media/platform/vsp1/
  
  MEDIA DRIVERS FOR ST STV0910 DEMODULATOR ICs
  S:    Supported
  W:    http://www.mellanox.com
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
 -F:    Documentation/networking/device_drivers/mellanox/
 +F:    Documentation/networking/device_drivers/ethernet/mellanox/
  F:    drivers/net/ethernet/mellanox/mlx5/core/
  F:    include/linux/mlx5/
  
@@@ -11196,23 -11098,6 +11197,23 @@@ F: Documentation/core-api/boot-time-mm.
  F:    include/linux/memblock.h
  F:    mm/memblock.c
  
 +MEMORY CONTROLLER DRIVERS
 +M:    Krzysztof Kozlowski <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl.git
 +F:    Documentation/devicetree/bindings/memory-controllers/
 +F:    drivers/memory/
 +
 +MEMORY FREQUENCY SCALING DRIVERS FOR NVIDIA TEGRA
 +M:    Dmitry Osipenko <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
 +S:    Maintained
 +F:    drivers/devfreq/tegra20-devfreq.c
 +F:    drivers/devfreq/tegra30-devfreq.c
 +
  MEMORY MANAGEMENT
  M:    Andrew Morton <[email protected]>
  L:    [email protected]
@@@ -11322,19 -11207,6 +11323,19 @@@ W: http://www.monstr.eu/fdt
  T:    git git://git.monstr.eu/linux-2.6-microblaze.git
  F:    arch/microblaze/
  
 +MICROCHIP AT91 DMA DRIVERS
 +M:    Ludovic Desroches <[email protected]>
 +M:    Tudor Ambarus <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/dma/atmel-dma.txt
 +F:    drivers/dma/at_hdmac.c
 +F:    drivers/dma/at_hdmac_regs.h
 +F:    drivers/dma/at_xdmac.c
 +F:    include/dt-bindings/dma/at91.h
 +F:    include/linux/platform_data/dma-atmel.h
 +
  MICROCHIP AT91 SERIAL DRIVER
  M:    Richard Genoud <[email protected]>
  S:    Maintained
  S:    Supported
  F:    sound/soc/atmel
  
 -MICROCHIP DMA DRIVER
 -M:    Ludovic Desroches <[email protected]>
 -L:    [email protected] (moderated for non-subscribers)
 -L:    [email protected]
 -S:    Supported
 -F:    Documentation/devicetree/bindings/dma/atmel-dma.txt
 -F:    drivers/dma/at_hdmac.c
 -F:    drivers/dma/at_hdmac_regs.h
 -F:    include/dt-bindings/dma/at91.h
 -F:    include/linux/platform_data/dma-atmel.h
 -
  MICROCHIP ECC DRIVER
  M:    Tudor Ambarus <[email protected]>
  L:    [email protected]
@@@ -11454,6 -11337,7 +11455,6 @@@ F:   Documentation/devicetree/bindings/pw
  F:    drivers/pwm/pwm-atmel.c
  
  MICROCHIP SAMA5D2-COMPATIBLE ADC DRIVER
 -M:    Ludovic Desroches <[email protected]>
  M:    Eugen Hristev <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -11491,12 -11375,12 +11492,12 @@@ L:        [email protected]
  S:    Supported
  F:    drivers/usb/gadget/udc/atmel_usba_udc.*
  
 -MICROCHIP XDMA DRIVER
 -M:    Ludovic Desroches <ludovic.desroches@microchip.com>
 -L:    [email protected]
 -L:    dmaengine@vger.kernel.org
 +MICROCHIP WILC1000 WIFI DRIVER
 +M:    Ajay Singh <ajay.kathat@microchip.com>
 +M:    Claudiu Beznea <[email protected]>
 +L:    linux-wireless@vger.kernel.org
  S:    Supported
 -F:    drivers/dma/at_xdmac.c
 +F:    drivers/net/wireless/microchip/wilc1000/
  
  MICROSEMI MIPS SOCS
  M:    Alexandre Belloni <[email protected]>
@@@ -11553,17 -11437,6 +11554,17 @@@ F: arch/mips/configs/generic/board-bost
  F:    drivers/clk/imgtec/clk-boston.c
  F:    include/dt-bindings/clock/boston-clock.h
  
 +MIPS CORE DRIVERS
 +M:    Thomas Bogendoerfer <[email protected]>
 +M:    Serge Semin <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/bus/mips_cdmm.c
 +F:    drivers/clocksource/mips-gic-timer.c
 +F:    drivers/cpuidle/cpuidle-cps.c
 +F:    drivers/irqchip/irq-mips-cpu.c
 +F:    drivers/irqchip/irq-mips-gic.c
 +
  MIPS GENERIC PLATFORM
  M:    Paul Burton <[email protected]>
  L:    [email protected]
@@@ -11692,7 -11565,7 +11693,7 @@@ F:   drivers/media/pci/meye
  F:    include/uapi/linux/meye.h
  
  MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  S:    Maintained
  F:    Documentation/driver-api/serial/moxa-smartio.rst
  F:    drivers/tty/mxser.*
@@@ -11946,8 -11819,8 +11947,8 @@@ NETERION 10GbE DRIVERS (s2io/vxge
  M:    Jon Mason <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/neterion/s2io.rst
 -F:    Documentation/networking/device_drivers/neterion/vxge.rst
 +F:    Documentation/networking/device_drivers/ethernet/neterion/s2io.rst
 +F:    Documentation/networking/device_drivers/ethernet/neterion/vxge.rst
  F:    drivers/net/ethernet/neterion/
  
  NETFILTER
@@@ -12392,7 -12265,6 +12393,7 @@@ F:   drivers/nvme/target
  NVMEM FRAMEWORK
  M:    Srinivas Kandagatla <[email protected]>
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/srini/nvmem.git
  F:    Documentation/ABI/stable/sysfs-bus-nvmem
  F:    Documentation/devicetree/bindings/nvmem/
  F:    drivers/nvmem/
@@@ -12838,7 -12710,6 +12839,7 @@@ OP-TEE DRIVE
  M:    Jens Wiklander <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-optee-devices
  F:    drivers/tee/optee/
  
  OP-TEE RANDOM NUMBER GENERATOR (RNG) DRIVER
@@@ -13295,14 -13166,12 +13296,14 @@@ S:        Maintaine
  F:    Documentation/devicetree/bindings/pci/designware-pcie.txt
  F:    drivers/pci/controller/dwc/*designware*
  
 -PCI DRIVER FOR TI DRA7XX
 +PCI DRIVER FOR TI DRA7XX/J721E
  M:    Kishon Vijay Abraham I <[email protected]>
  L:    [email protected]
  L:    [email protected]
 +L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/pci/ti-pci.txt
 +F:    drivers/pci/controller/cadence/pci-j721e.c
  F:    drivers/pci/controller/dwc/pci-dra7xx.c
  
  PCI DRIVER FOR TI KEYSTONE
@@@ -13331,6 -13200,7 +13332,6 @@@ F:   tools/pci
  
  PCI ENHANCED ERROR HANDLING (EEH) FOR POWERPC
  M:    Russell Currey <[email protected]>
 -M:    Sam Bobroff <[email protected]>
  M:    Oliver O'Halloran <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -13513,7 -13383,7 +13514,7 @@@ M:   Shannon Nelson <[email protected]
  M:    Pensando Drivers <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/pensando/ionic.rst
 +F:    Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
  F:    drivers/net/ethernet/pensando/
  
  PER-CPU MEMORY ALLOCATOR
@@@ -13723,19 -13593,22 +13724,19 @@@ F:        drivers/block/pktcdvd.
  F:    include/linux/pktcdvd.h
  F:    include/uapi/linux/pktcdvd.h
  
 -PKUNITY SOC DRIVERS
 -M:    Guan Xuetao <[email protected]>
 -S:    Maintained
 -W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 -T:    git git://github.com/gxt/linux.git
 -F:    drivers/i2c/busses/i2c-puv3.c
 -F:    drivers/input/serio/i8042-unicore32io.h
 -F:    drivers/rtc/rtc-puv3.c
 -F:    drivers/video/fbdev/fb-puv3.c
 -
  PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
  M:    Tomasz Duszynski <[email protected]>
  S:    Maintained
  F:    Documentation/devicetree/bindings/iio/chemical/plantower,pms7003.yaml
  F:    drivers/iio/chemical/pms7003.c
  
 +PLDMFW LIBRARY
 +M:    Jacob Keller <[email protected]>
 +S:    Maintained
 +F:    Documentation/driver-api/pldmfw/
 +F:    include/linux/pldmfw.h
 +F:    lib/pldmfw/
 +
  PLX DMA DRIVER
  M:    Logan Gunthorpe <[email protected]>
  S:    Maintained
@@@ -14193,7 -14066,7 +14194,7 @@@ QLOGIC QLA3XXX NETWORK DRIVE
  M:    [email protected]
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/qlogic/LICENSE.qla3xxx
 +F:    Documentation/networking/device_drivers/ethernet/qlogic/LICENSE.qla3xxx
  F:    drivers/net/ethernet/qlogic/qla3xxx.*
  
  QLOGIC QLA4XXX iSCSI DRIVER
@@@ -14244,7 -14117,7 +14245,7 @@@ M:   Laurentiu Tudor <laurentiu.tudor@nxp
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
 -F:    Documentation/networking/device_drivers/freescale/dpaa2/overview.rst
 +F:    Documentation/networking/device_drivers/ethernet/freescale/dpaa2/overview.rst
  F:    drivers/bus/fsl-mc/
  
  QT1010 MEDIA DRIVER
@@@ -14316,8 -14189,7 +14317,8 @@@ F:   Documentation/devicetree/bindings/ne
  F:    drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
  
  QUALCOMM GENERIC INTERFACE I2C DRIVER
 -M:    Alok Chauhan <[email protected]>
 +M:    Akash Asthana <[email protected]>
 +M:    Mukesh Savaliya <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -14366,12 -14238,12 +14367,12 @@@ M:        Subash Abhinov Kasiviswanathan <suba
  M:    Sean Tranchetti <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/networking/device_drivers/qualcomm/rmnet.rst
 +F:    Documentation/networking/device_drivers/cellular/qualcomm/rmnet.rst
  F:    drivers/net/ethernet/qualcomm/rmnet/
  F:    include/linux/if_rmnet.h
  
  QUALCOMM TSENS THERMAL DRIVER
 -M:    Amit Kucheria <amit.kucheria@linaro.org>
 +M:    Amit Kucheria <amitk@kernel.org>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
  S:    Orphan
  F:    drivers/net/wireless/ray*
  
 +RC-CORE / LIRC FRAMEWORK
 +M:    Sean Young <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +W:    http://linuxtv.org
 +T:    git git://linuxtv.org/media_tree.git
 +F:    Documentation/driver-api/media/rc-core.rst
 +F:    Documentation/userspace-api/media/rc/
 +F:    drivers/media/rc/
 +F:    include/media/rc-map.h
 +F:    include/media/rc-core.h
 +F:    include/uapi/linux/lirc.h
 +
  RCMM REMOTE CONTROLS DECODER
  M:    Patrick Lerda <[email protected]>
  S:    Maintained
@@@ -14540,18 -14399,6 +14541,18 @@@ S: Supporte
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
  F:    tools/testing/selftests/rcutorture
  
 +RDACM20 Camera Sensor
 +M:    Jacopo Mondi <[email protected]>
 +M:    Kieran Bingham <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
 +M:    Niklas Söderlund <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
 +F:    drivers/media/i2c/rdacm20.c
 +F:    drivers/media/i2c/max9271.c
 +F:    drivers/media/i2c/max9271.h
 +
  RDC R-321X SoC
  M:    Florian Fainelli <[email protected]>
  S:    Maintained
@@@ -14603,7 -14450,7 +14604,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  F:    Documentation/RCU/
  F:    include/linux/rcu*
  F:    kernel/rcu/
 -X:    Documentation/RCU/torture.txt
 +X:    Documentation/RCU/torture.rst
  X:    include/linux/srcu*.h
  X:    kernel/rcu/srcu*.c
  
@@@ -14679,7 -14526,7 +14680,7 @@@ S:   Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rproc-next
  F:    Documentation/ABI/testing/sysfs-class-remoteproc
  F:    Documentation/devicetree/bindings/remoteproc/
 -F:    Documentation/remoteproc.txt
 +F:    Documentation/staging/remoteproc.rst
  F:    drivers/remoteproc/
  F:    include/linux/remoteproc.h
  F:    include/linux/remoteproc/
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc.git rpmsg-next
  F:    Documentation/ABI/testing/sysfs-bus-rpmsg
 -F:    Documentation/rpmsg.txt
 +F:    Documentation/staging/rpmsg.rst
  F:    drivers/rpmsg/
  F:    include/linux/rpmsg.h
  F:    include/linux/rpmsg/
@@@ -15463,7 -15310,7 +15464,7 @@@ F:   drivers/mmc/host/sdhci
  F:    include/linux/mmc/sdhci*
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) MICROCHIP DRIVER
 -M:    Ludovic Desroches <ludovic.desroches@microchip.com>
 +M:    Eugen Hristev <eugen.hristev@microchip.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/mmc/host/sdhci-of-at91.c
@@@ -15528,20 -15375,11 +15529,20 @@@ F:        scripts/selinux
  F:    security/selinux/
  
  SENSABLE PHANTOM
 -M:    Jiri Slaby <jirislaby@gmail.com>
 +M:    Jiri Slaby <jirislaby@kernel.org>
  S:    Maintained
  F:    drivers/misc/phantom.c
  F:    include/uapi/linux/phantom.h
  
 +SENSIRION SCD30 CARBON DIOXIDE SENSOR DRIVER
 +M:    Tomasz Duszynski <[email protected]>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml
 +F:    drivers/iio/chemical/scd30.h
 +F:    drivers/iio/chemical/scd30_core.c
 +F:    drivers/iio/chemical/scd30_i2c.c
 +F:    drivers/iio/chemical/scd30_serial.c
 +
  SENSIRION SPS30 AIR POLLUTION SENSOR DRIVER
  M:    Tomasz Duszynski <[email protected]>
  S:    Maintained
@@@ -15593,7 -15431,7 +15594,7 @@@ F:   drivers/net/phy/phylink.
  F:    drivers/net/phy/sfp*
  F:    include/linux/phylink.h
  F:    include/linux/sfp.h
 -K:    phylink
 +K:    phylink\.h|struct\s+phylink|\.phylink|>phylink_|phylink_(autoneg|clear|connect|create|destroy|disconnect|ethtool|helper|mac|mii|of|set|start|stop|test|validate)
  
  SGI GRU DRIVER
  M:    Dimitri Sivanich <[email protected]>
  S:    Maintained
  F:    drivers/net/ethernet/smsc/smsc9420.*
  
 -SOC-CAMERA V4L2 SUBSYSTEM
 -L:    [email protected]
 -S:    Orphan
 -T:    git git://linuxtv.org/media_tree.git
 -F:    drivers/staging/media/soc_camera/
 -F:    include/media/soc_camera.h
 -
  SOCIONEXT (SNI) AVE NETWORK DRIVER
  M:    Kunihiko Hayashi <[email protected]>
  L:    [email protected]
@@@ -16181,9 -16026,8 +16182,9 @@@ F:   sound/soc/sof
  
  SOUNDWIRE SUBSYSTEM
  M:    Vinod Koul <[email protected]>
 -M:    Sanyog Kale <sanyog.r.kale@intel.com>
 +M:    Bard Liao <yung-chuan.liao@linux.intel.com>
  R:    Pierre-Louis Bossart <[email protected]>
 +R:    Sanyog Kale <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
  F:    Documentation/driver-api/soundwire/
@@@ -16234,16 -16078,6 +16235,16 @@@ Q: https://patchwork.kernel.org/project
  B:    https://bugzilla.kernel.org/enter_bug.cgi?component=Sparse&product=Tools
  F:    include/linux/compiler.h
  
 +SPEAKUP CONSOLE SPEECH DRIVER
 +M:    William Hubbs <[email protected]>
 +M:    Chris Brannon <[email protected]>
 +M:    Kirk Reiser <[email protected]>
 +M:    Samuel Thibault <[email protected]>
 +L:    [email protected]
 +S:    Odd Fixes
 +W:    http://www.linux-speakup.org/
 +F:    drivers/accessibility/speakup/
 +
  SPEAR CLOCK FRAMEWORK SUPPORT
  M:    Viresh Kumar <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -16288,7 -16122,7 +16289,7 @@@ SPIDERNET NETWORK DRIVER for CEL
  M:    Ishizaki Kou <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/networking/device_drivers/toshiba/spider_net.rst
 +F:    Documentation/networking/device_drivers/ethernet/toshiba/spider_net.rst
  F:    drivers/net/ethernet/toshiba/spider_net*
  
  SPMI SUBSYSTEM
@@@ -16431,11 -16265,28 +16432,11 @@@ L:        [email protected]
  S:    Maintained
  F:    drivers/staging/sm750fb/
  
 -STAGING - SPEAKUP CONSOLE SPEECH DRIVER
 -M:    William Hubbs <[email protected]>
 -M:    Chris Brannon <[email protected]>
 -M:    Kirk Reiser <[email protected]>
 -M:    Samuel Thibault <[email protected]>
 -L:    [email protected]
 -S:    Odd Fixes
 -W:    http://www.linux-speakup.org/
 -F:    drivers/staging/speakup/
 -
  STAGING - VIA VT665X DRIVERS
  M:    Forest Bond <[email protected]>
  S:    Odd Fixes
  F:    drivers/staging/vt665?/
  
 -STAGING - WILC1000 WIFI DRIVER
 -M:    Adham Abozaeid <[email protected]>
 -M:    Ajay Singh <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -F:    drivers/staging/wilc1000/
 -
  STAGING SUBSYSTEM
  M:    Greg Kroah-Hartman <[email protected]>
  L:    [email protected]
@@@ -16498,7 -16349,7 +16499,7 @@@ M:   Jose Abreu <[email protected]
  L:    [email protected]
  S:    Supported
  W:    http://www.stlinux.com
 -F:    Documentation/networking/device_drivers/stmicro/
 +F:    Documentation/networking/device_drivers/ethernet/stmicro/
  F:    drivers/net/ethernet/stmicro/stmmac/
  
  SUN3/3X
@@@ -16939,7 -16790,7 +16940,7 @@@ TEE SUBSYSTE
  M:    Jens Wiklander <[email protected]>
  L:    [email protected]
  S:    Maintained
 -F:    Documentation/tee.txt
 +F:    Documentation/staging/tee.rst
  F:    drivers/tee/
  F:    include/linux/tee_drv.h
  F:    include/uapi/linux/tee.h
@@@ -16973,8 -16824,10 +16974,10 @@@ F: drivers/i2c/busses/i2c-tegra.
  
  TEGRA IOMMU DRIVERS
  M:    Thierry Reding <[email protected]>
+ R:    Krishna Reddy <[email protected]>
  L:    [email protected]
  S:    Supported
+ F:    drivers/iommu/arm/arm-smmu/arm-smmu-nvidia.c
  F:    drivers/iommu/tegra*
  
  TEGRA KBC DRIVER
@@@ -17065,7 -16918,6 +17068,7 @@@ M:   Tero Kristo <[email protected]
  M:    Santosh Shilimkar <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/devicetree/bindings/arm/keystone/ti,k3-sci-common.yaml
  F:    Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
  F:    Documentation/devicetree/bindings/clock/ti,sci-clk.txt
  F:    Documentation/devicetree/bindings/interrupt-controller/ti,sci-inta.txt
@@@ -17094,7 -16946,7 +17097,7 @@@ F:   drivers/media/radio/radio-raremono.
  THERMAL
  M:    Zhang Rui <[email protected]>
  M:    Daniel Lezcano <[email protected]>
 -R:    Amit Kucheria <amit[email protected]>
 +R:    Amit Kucheria <amit[email protected]>
  L:    [email protected]
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-pm/list/
@@@ -17127,14 -16979,6 +17130,14 @@@ F: drivers/thermal/cpufreq_cooling.
  F:    drivers/thermal/cpuidle_cooling.c
  F:    include/linux/cpu_cooling.h
  
 +THERMAL/POWER_ALLOCATOR
 +M:    Lukasz Luba <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/driver-api/thermal/power_allocator.rst
 +F:    drivers/thermal/gov_power_allocator.c
 +F:    include/trace/events/thermal_power_allocator.h
 +
  THINKPAD ACPI EXTRAS DRIVER
  M:    Henrique de Moraes Holschuh <[email protected]>
  L:    [email protected]
@@@ -17395,7 -17239,7 +17398,7 @@@ M:   Samuel Chessman <[email protected]
  L:    [email protected] (subscribers-only)
  S:    Maintained
  W:    http://sourceforge.net/projects/tlan/
 -F:    Documentation/networking/device_drivers/ti/tlan.rst
 +F:    Documentation/networking/device_drivers/ethernet/ti/tlan.rst
  F:    drivers/net/ethernet/ti/tlan.*
  
  TM6000 VIDEO4LINUX DRIVER
@@@ -17460,7 -17304,7 +17463,7 @@@ M:   Josh Triplett <[email protected]
  L:    [email protected]
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev
 -F:    Documentation/RCU/torture.txt
 +F:    Documentation/RCU/torture.rst
  F:    kernel/locking/locktorture.c
  F:    kernel/rcu/rcuperf.c
  F:    kernel/rcu/rcutorture.c
@@@ -17552,7 -17396,7 +17555,7 @@@ K:   ^Subject:.*(?i)trivia
  
  TTY LAYER
  M:    Greg Kroah-Hartman <[email protected]>
 -M:    Jiri Slaby <j[email protected]>
 +M:    Jiri Slaby <j[email protected]>
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
  F:    Documentation/driver-api/serial/
  S:    Supported
  F:    fs/unicode/
  
 -UNICORE32 ARCHITECTURE
 -M:    Guan Xuetao <[email protected]>
 -S:    Maintained
 -W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 -T:    git git://github.com/gxt/linux.git
 -F:    arch/unicore32/
 -
  UNIFDEF
  M:    Tony Finch <[email protected]>
  S:    Maintained
@@@ -19024,24 -18875,6 +19027,24 @@@ F: Documentation/devicetree/bindings/me
  F:    drivers/media/platform/xilinx/
  F:    include/uapi/linux/xilinx-v4l2-controls.h
  
 +XILINX ZYNQMP DPDMA DRIVER
 +M:    Hyun Kwon <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dpdma.yaml
 +F:    drivers/dma/xilinx/xilinx_dpdma.c
 +F:    include/dt-bindings/dma/xlnx-zynqmp-dpdma.h
 +
 +XILINX ZYNQMP PSGTR PHY DRIVER
 +M:    Anurag Kumar Vulisha <[email protected]>
 +M:    Laurent Pinchart <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +T:    git https://github.com/Xilinx/linux-xlnx.git
 +F:    Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml
 +F:    drivers/phy/xilinx/phy-zynqmp.c
 +
  XILLYBUS DRIVER
  M:    Eli Billauer <[email protected]>
  L:    [email protected]
  S:    Maintained
  W:    http://yaina.de/jreuter/
  W:    http://www.qsl.net/dl1bke/
 -F:    Documentation/networking/z8530drv.rst
 +F:    Documentation/networking/device_drivers/hamradio/z8530drv.rst
  F:    drivers/net/hamradio/*scc.c
  F:    drivers/net/hamradio/z8530.h
  
index d8a0729cf754b6489f299550f60056d941d61b49,1bc59521333823ebcc1d93e4c523ae1dffa8229b..219559d658644dc94a6155908aaeee271f2d2447
@@@ -18,6 -18,11 +18,6 @@@ struct iommu_table
   * drivers/macintosh/macio_asic.c
   */
  struct dev_archdata {
 -      /*
 -       * Set to %true if the dma_iommu_ops are requested to use a direct
 -       * window instead of dynamically mapping memory.
 -       */
 -      bool                    iommu_bypass : 1;
        /*
         * These two used to be a union. However, with the hybrid ops we need
         * both so here we store both a DMA offset for direct mappings and
@@@ -29,9 -34,6 +29,6 @@@
        struct iommu_table      *iommu_table_base;
  #endif
  
- #ifdef CONFIG_IOMMU_API
-       void                    *iommu_domain;
- #endif
  #ifdef CONFIG_PPC64
        struct pci_dn           *pci_data;
  #endif
@@@ -44,9 -46,6 +41,9 @@@
  #ifdef CONFIG_CXL_BASE
        struct cxl_context      *cxl_ctx;
  #endif
 +#ifdef CONFIG_PCI_IOV
 +      void *iov_data;
 +#endif
  };
  
  struct pdev_archdata {
index 9a46be05425a4d2bc6b298b33bbed37b45941833,e08601905a64a032a4c3a7fef787c650af964e33..b9810bf156c362a1b86fa013cb044491c61be559
@@@ -24,6 -24,7 +24,7 @@@
  
  #include <linux/pm_domain.h>
  #include <linux/pm_runtime.h>
+ #include <linux/iommu.h>
  
  #include <drm/drm_managed.h>
  
@@@ -118,6 -119,9 +119,9 @@@ struct drm_i915_private *mock_gem_devic
  {
        struct drm_i915_private *i915;
        struct pci_dev *pdev;
+ #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
+       struct dev_iommu iommu;
+ #endif
        int err;
  
        pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
        dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
  
  #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
-       /* hack to disable iommu for the fake device; force identity mapping */
-       pdev->dev.archdata.iommu = (void *)-1;
+       /* HACK HACK HACK to disable iommu for the fake device; force identity mapping */
+       memset(&iommu, 0, sizeof(iommu));
+       iommu.priv = (void *)-1;
+       pdev->dev.iommu = &iommu;
  #endif
  
        pci_set_drvdata(pdev, i915);
        mock_init_ggtt(i915, &i915->ggtt);
        i915->gt.vm = i915_vm_get(&i915->ggtt.vm);
  
 -      mkwrite_device_info(i915)->engine_mask = BIT(0);
 +      mkwrite_device_info(i915)->platform_engine_mask = BIT(0);
 +      i915->gt.info.engine_mask = BIT(0);
  
        i915->gt.engine[RCS0] = mock_engine(i915, "mock", RCS0);
        if (!i915->gt.engine[RCS0])
index 1a49e619aacf1faee5f0b56b2ba7691be4f83dad,5a39eee8cf8331e9b40fdad38b83085fecb8d0d8..e8f7b11352d27ba38aa2d576e32b886518690992
@@@ -262,7 -262,7 +262,7 @@@ static int mmu_map_sg(struct panfrost_d
                while (len) {
                        size_t pgsize = get_pgsize(iova | paddr, len);
  
-                       ops->map(ops, iova, paddr, pgsize, prot);
+                       ops->map(ops, iova, paddr, pgsize, prot, GFP_KERNEL);
                        iova += pgsize;
                        paddr += pgsize;
                        len -= pgsize;
@@@ -486,7 -486,7 +486,7 @@@ static int panfrost_mmu_map_fault_addr(
                pages = kvmalloc_array(bo->base.base.size >> PAGE_SHIFT,
                                       sizeof(struct page *), GFP_KERNEL | __GFP_ZERO);
                if (!pages) {
 -                      kfree(bo->sgts);
 +                      kvfree(bo->sgts);
                        bo->sgts = NULL;
                        mutex_unlock(&bo->base.pages_lock);
                        ret = -ENOMEM;
@@@ -538,7 -538,7 +538,7 @@@ err_map
  err_pages:
        drm_gem_shmem_put_pages(&bo->base);
  err_bo:
 -      drm_gem_object_put_unlocked(&bo->base.base);
 +      drm_gem_object_put(&bo->base.base);
        return ret;
  }
  
diff --combined drivers/iommu/Kconfig
index b622af72448f06f44fa366331726699c126ff0b6,49fd9d7e14bf81e222505de691ab79d09bcf34e7..bef5d75e306b8aa6592a88f74dde57e369e26379
@@@ -97,7 -97,6 +97,7 @@@ config OF_IOMM
  # IOMMU-agnostic DMA-mapping layer
  config IOMMU_DMA
        bool
 +      select DMA_OPS
        select IOMMU_API
        select IOMMU_IOVA
        select IRQ_MSI_IOMMU
@@@ -129,140 -128,8 +129,8 @@@ config MSM_IOMM
  
          If unsure, say N here.
  
- config IOMMU_PGTABLES_L2
-       def_bool y
-       depends on MSM_IOMMU && MMU && SMP && CPU_DCACHE_DISABLE=n
- # AMD IOMMU support
- config AMD_IOMMU
-       bool "AMD IOMMU support"
-       select SWIOTLB
-       select PCI_MSI
-       select PCI_ATS
-       select PCI_PRI
-       select PCI_PASID
-       select IOMMU_API
-       select IOMMU_IOVA
-       select IOMMU_DMA
-       depends on X86_64 && PCI && ACPI
-       help
-         With this option you can enable support for AMD IOMMU hardware in
-         your system. An IOMMU is a hardware component which provides
-         remapping of DMA memory accesses from devices. With an AMD IOMMU you
-         can isolate the DMA memory of different devices and protect the
-         system from misbehaving device drivers or hardware.
-         You can find out if your system has an AMD IOMMU if you look into
-         your BIOS for an option to enable it or if you have an IVRS ACPI
-         table.
- config AMD_IOMMU_V2
-       tristate "AMD IOMMU Version 2 driver"
-       depends on AMD_IOMMU
-       select MMU_NOTIFIER
-       help
-         This option enables support for the AMD IOMMUv2 features of the IOMMU
-         hardware. Select this option if you want to use devices that support
-         the PCI PRI and PASID interface.
- config AMD_IOMMU_DEBUGFS
-       bool "Enable AMD IOMMU internals in DebugFS"
-       depends on AMD_IOMMU && IOMMU_DEBUGFS
-       help
-         !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!  !!!WARNING!!!
-         DO NOT ENABLE THIS OPTION UNLESS YOU REALLY, -REALLY- KNOW WHAT YOU ARE DOING!!!
-         Exposes AMD IOMMU device internals in DebugFS.
-         This option is -NOT- intended for production environments, and should
-         not generally be enabled.
- # Intel IOMMU support
- config DMAR_TABLE
-       bool
- config INTEL_IOMMU
-       bool "Support for Intel IOMMU using DMA Remapping Devices"
-       depends on PCI_MSI && ACPI && (X86 || IA64)
-       select DMA_OPS
-       select IOMMU_API
-       select IOMMU_IOVA
-       select NEED_DMA_MAP_STATE
-       select DMAR_TABLE
-       select SWIOTLB
-       select IOASID
-       help
-         DMA remapping (DMAR) devices support enables independent address
-         translations for Direct Memory Access (DMA) from devices.
-         These DMA remapping devices are reported via ACPI tables
-         and include PCI device scope covered by these DMA
-         remapping devices.
- config INTEL_IOMMU_DEBUGFS
-       bool "Export Intel IOMMU internals in Debugfs"
-       depends on INTEL_IOMMU && IOMMU_DEBUGFS
-       help
-         !!!WARNING!!!
-         DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!!!
-         Expose Intel IOMMU internals in Debugfs.
-         This option is -NOT- intended for production environments, and should
-         only be enabled for debugging Intel IOMMU.
- config INTEL_IOMMU_SVM
-       bool "Support for Shared Virtual Memory with Intel IOMMU"
-       depends on INTEL_IOMMU && X86_64
-       select PCI_PASID
-       select PCI_PRI
-       select MMU_NOTIFIER
-       select IOASID
-       help
-         Shared Virtual Memory (SVM) provides a facility for devices
-         to access DMA resources through process address space by
-         means of a Process Address Space ID (PASID).
- config INTEL_IOMMU_DEFAULT_ON
-       def_bool y
-       prompt "Enable Intel DMA Remapping Devices by default"
-       depends on INTEL_IOMMU
-       help
-         Selecting this option will enable a DMAR device at boot time if
-         one is found. If this option is not selected, DMAR support can
-         be enabled by passing intel_iommu=on to the kernel.
- config INTEL_IOMMU_BROKEN_GFX_WA
-       bool "Workaround broken graphics drivers (going away soon)"
-       depends on INTEL_IOMMU && BROKEN && X86
-       help
-         Current Graphics drivers tend to use physical address
-         for DMA and avoid using DMA APIs. Setting this config
-         option permits the IOMMU driver to set a unity map for
-         all the OS-visible memory. Hence the driver can continue
-         to use physical addresses for DMA, at least until this
-         option is removed in the 2.6.32 kernel.
- config INTEL_IOMMU_FLOPPY_WA
-       def_bool y
-       depends on INTEL_IOMMU && X86
-       help
-         Floppy disk drivers are known to bypass DMA API calls
-         thereby failing to work when IOMMU is enabled. This
-         workaround will setup a 1:1 mapping for the first
-         16MiB to make floppy (an ISA device) work.
- config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
-       bool "Enable Intel IOMMU scalable mode by default"
-       depends on INTEL_IOMMU
-       help
-         Selecting this option will enable by default the scalable mode if
-         hardware presents the capability. The scalable mode is defined in
-         VT-d 3.0. The scalable mode capability could be checked by reading
-         /sys/devices/virtual/iommu/dmar*/intel-iommu/ecap. If this option
-         is not selected, scalable mode support could also be enabled by
-         passing intel_iommu=sm_on to the kernel. If not sure, please use
-         the default value.
+ source "drivers/iommu/amd/Kconfig"
+ source "drivers/iommu/intel/Kconfig"
  
  config IRQ_REMAP
        bool "Support for Interrupt Remapping"
  # OMAP IOMMU support
  config OMAP_IOMMU
        bool "OMAP IOMMU Support"
-       depends on ARM && MMU || (COMPILE_TEST && (ARM || ARM64 || IA64 || SPARC))
        depends on ARCH_OMAP2PLUS || COMPILE_TEST
        select IOMMU_API
        help
@@@ -294,7 -160,6 +161,6 @@@ config OMAP_IOMMU_DEBU
  
  config ROCKCHIP_IOMMU
        bool "Rockchip IOMMU Support"
-       depends on ARM || ARM64 || (COMPILE_TEST && (ARM64 || IA64 || SPARC))
        depends on ARCH_ROCKCHIP || COMPILE_TEST
        select IOMMU_API
        select ARM_DMA_USE_IOMMU
@@@ -311,7 -176,6 +177,6 @@@ config SUN50I_IOMM
        depends on ARCH_SUNXI || COMPILE_TEST
        select ARM_DMA_USE_IOMMU
        select IOMMU_API
-       select IOMMU_DMA
        help
          Support for the IOMMU introduced in the Allwinner H6 SoCs.
  
@@@ -338,7 -202,7 +203,7 @@@ config TEGRA_IOMMU_SMM
  
  config EXYNOS_IOMMU
        bool "Exynos IOMMU Support"
-       depends on ARCH_EXYNOS && MMU || (COMPILE_TEST && (ARM || ARM64 || IA64 || SPARC))
+       depends on ARCH_EXYNOS || COMPILE_TEST
        depends on !CPU_BIG_ENDIAN # revisit driver if we can enable big-endian ptes
        select IOMMU_API
        select ARM_DMA_USE_IOMMU
@@@ -361,7 -225,6 +226,6 @@@ config EXYNOS_IOMMU_DEBU
  
  config IPMMU_VMSA
        bool "Renesas VMSA-compatible IPMMU"
-       depends on ARM || IOMMU_DMA
        depends on ARCH_RENESAS || (COMPILE_TEST && !GENERIC_ATOMIC64)
        select IOMMU_API
        select IOMMU_IO_PGTABLE_LPAE
@@@ -383,7 -246,7 +247,7 @@@ config SPAPR_TCE_IOMM
  # ARM IOMMU support
  config ARM_SMMU
        tristate "ARM Ltd. System MMU (SMMU) Support"
-       depends on (ARM64 || ARM || (COMPILE_TEST && !GENERIC_ATOMIC64)) && MMU
+       depends on ARM64 || ARM || (COMPILE_TEST && !GENERIC_ATOMIC64)
        select IOMMU_API
        select IOMMU_IO_PGTABLE_LPAE
        select ARM_DMA_USE_IOMMU if ARM
@@@ -469,11 -332,9 +333,9 @@@ config S390_AP_IOMM
  
  config MTK_IOMMU
        bool "MTK IOMMU Support"
-       depends on HAS_DMA
        depends on ARCH_MEDIATEK || COMPILE_TEST
        select ARM_DMA_USE_IOMMU
        select IOMMU_API
-       select IOMMU_DMA
        select IOMMU_IO_PGTABLE_ARMV7S
        select MEMORY
        select MTK_SMI
index 0000000000000000000000000000000000000000,877beec9d987267f7ad82f76635d6149b7ddeb2c..5337ee1584b0cc2e1f377e742cbddd5b266e2691
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,86 +1,87 @@@
+ # SPDX-License-Identifier: GPL-2.0-only
+ # Intel IOMMU support
+ config DMAR_TABLE
+       bool
+ config INTEL_IOMMU
+       bool "Support for Intel IOMMU using DMA Remapping Devices"
+       depends on PCI_MSI && ACPI && (X86 || IA64)
++      select DMA_OPS
+       select IOMMU_API
+       select IOMMU_IOVA
+       select NEED_DMA_MAP_STATE
+       select DMAR_TABLE
+       select SWIOTLB
+       select IOASID
+       help
+         DMA remapping (DMAR) devices support enables independent address
+         translations for Direct Memory Access (DMA) from devices.
+         These DMA remapping devices are reported via ACPI tables
+         and include PCI device scope covered by these DMA
+         remapping devices.
+ config INTEL_IOMMU_DEBUGFS
+       bool "Export Intel IOMMU internals in Debugfs"
+       depends on INTEL_IOMMU && IOMMU_DEBUGFS
+       help
+         !!!WARNING!!!
+         DO NOT ENABLE THIS OPTION UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!!!
+         Expose Intel IOMMU internals in Debugfs.
+         This option is -NOT- intended for production environments, and should
+         only be enabled for debugging Intel IOMMU.
+ config INTEL_IOMMU_SVM
+       bool "Support for Shared Virtual Memory with Intel IOMMU"
+       depends on INTEL_IOMMU && X86_64
+       select PCI_PASID
+       select PCI_PRI
+       select MMU_NOTIFIER
+       select IOASID
+       help
+         Shared Virtual Memory (SVM) provides a facility for devices
+         to access DMA resources through process address space by
+         means of a Process Address Space ID (PASID).
+ config INTEL_IOMMU_DEFAULT_ON
+       def_bool y
+       prompt "Enable Intel DMA Remapping Devices by default"
+       depends on INTEL_IOMMU
+       help
+         Selecting this option will enable a DMAR device at boot time if
+         one is found. If this option is not selected, DMAR support can
+         be enabled by passing intel_iommu=on to the kernel.
+ config INTEL_IOMMU_BROKEN_GFX_WA
+       bool "Workaround broken graphics drivers (going away soon)"
+       depends on INTEL_IOMMU && BROKEN && X86
+       help
+         Current Graphics drivers tend to use physical address
+         for DMA and avoid using DMA APIs. Setting this config
+         option permits the IOMMU driver to set a unity map for
+         all the OS-visible memory. Hence the driver can continue
+         to use physical addresses for DMA, at least until this
+         option is removed in the 2.6.32 kernel.
+ config INTEL_IOMMU_FLOPPY_WA
+       def_bool y
+       depends on INTEL_IOMMU && X86
+       help
+         Floppy disk drivers are known to bypass DMA API calls
+         thereby failing to work when IOMMU is enabled. This
+         workaround will setup a 1:1 mapping for the first
+         16MiB to make floppy (an ISA device) work.
+ config INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
+       bool "Enable Intel IOMMU scalable mode by default"
+       depends on INTEL_IOMMU
+       help
+         Selecting this option will enable by default the scalable mode if
+         hardware presents the capability. The scalable mode is defined in
+         VT-d 3.0. The scalable mode capability could be checked by reading
+         /sys/devices/virtual/iommu/dmar*/intel-iommu/ecap. If this option
+         is not selected, scalable mode support could also be enabled by
+         passing intel_iommu=sm_on to the kernel. If not sure, please use
+         the default value.
index 237a470e1e9cfb4b14b64b31725f7574dca94437,ca557d351518ca0cf21a5ae0600261481dee65d2..e9864e52b0e96a5af1e2cff060996430cab1218f
@@@ -48,7 -48,7 +48,7 @@@
  #include <trace/events/intel_iommu.h>
  
  #include "../irq_remapping.h"
- #include "intel-pasid.h"
+ #include "pasid.h"
  
  #define ROOT_SIZE             VTD_PAGE_SIZE
  #define CONTEXT_SIZE          VTD_PAGE_SIZE
@@@ -356,6 -356,7 +356,7 @@@ static int intel_iommu_strict
  static int intel_iommu_superpage = 1;
  static int iommu_identity_mapping;
  static int intel_no_bounce;
+ static int iommu_skip_te_disable;
  
  #define IDENTMAP_GFX          2
  #define IDENTMAP_AZALIA               4
@@@ -372,7 -373,7 +373,7 @@@ struct device_domain_info *get_domain_i
        if (!dev)
                return NULL;
  
-       info = dev->archdata.iommu;
+       info = dev_iommu_priv_get(dev);
        if (unlikely(info == DUMMY_DEVICE_DOMAIN_INFO ||
                     info == DEFER_DEVICE_DOMAIN_INFO))
                return NULL;
@@@ -743,12 -744,12 +744,12 @@@ struct context_entry *iommu_context_add
  
  static int iommu_dummy(struct device *dev)
  {
-       return dev->archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO;
+       return dev_iommu_priv_get(dev) == DUMMY_DEVICE_DOMAIN_INFO;
  }
  
  static bool attach_deferred(struct device *dev)
  {
-       return dev->archdata.iommu == DEFER_DEVICE_DOMAIN_INFO;
+       return dev_iommu_priv_get(dev) == DEFER_DEVICE_DOMAIN_INFO;
  }
  
  /**
@@@ -778,16 -779,16 +779,16 @@@ is_downstream_to_pci_bridge(struct devi
        return false;
  }
  
- static struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devfn)
+ struct intel_iommu *device_to_iommu(struct device *dev, u8 *bus, u8 *devfn)
  {
        struct dmar_drhd_unit *drhd = NULL;
+       struct pci_dev *pdev = NULL;
        struct intel_iommu *iommu;
        struct device *tmp;
-       struct pci_dev *pdev = NULL;
        u16 segment = 0;
        int i;
  
-       if (iommu_dummy(dev))
+       if (!dev || iommu_dummy(dev))
                return NULL;
  
        if (dev_is_pci(dev)) {
                                if (pdev && pdev->is_virtfn)
                                        goto got_pdev;
  
-                               *bus = drhd->devices[i].bus;
-                               *devfn = drhd->devices[i].devfn;
+                               if (bus && devfn) {
+                                       *bus = drhd->devices[i].bus;
+                                       *devfn = drhd->devices[i].devfn;
+                               }
                                goto out;
                        }
  
  
                if (pdev && drhd->include_all) {
                got_pdev:
-                       *bus = pdev->bus->number;
-                       *devfn = pdev->devfn;
+                       if (bus && devfn) {
+                               *bus = pdev->bus->number;
+                               *devfn = pdev->devfn;
+                       }
                        goto out;
                }
        }
@@@ -1629,6 -1634,10 +1634,10 @@@ static void iommu_disable_translation(s
        u32 sts;
        unsigned long flag;
  
+       if (iommu_skip_te_disable && iommu->drhd->gfx_dedicated &&
+           (cap_read_drain(iommu->cap) || cap_write_drain(iommu->cap)))
+               return;
        raw_spin_lock_irqsave(&iommu->register_lock, flag);
        iommu->gcmd &= ~DMA_GCMD_TE;
        writel(iommu->gcmd, iommu->reg + DMAR_GCMD_REG);
@@@ -2236,7 -2245,7 +2245,7 @@@ static int __domain_mapping(struct dmar
                            unsigned long nr_pages, int prot)
  {
        struct dma_pte *first_pte = NULL, *pte = NULL;
 -      phys_addr_t uninitialized_var(pteval);
 +      phys_addr_t pteval;
        unsigned long sg_res = 0;
        unsigned int largepage_lvl = 0;
        unsigned long lvl_pages = 0;
@@@ -2420,7 -2429,7 +2429,7 @@@ static inline void unlink_domain_info(s
        list_del(&info->link);
        list_del(&info->global);
        if (info->dev)
-               info->dev->archdata.iommu = NULL;
+               dev_iommu_priv_set(info->dev, NULL);
  }
  
  static void domain_remove_dev_info(struct dmar_domain *domain)
@@@ -2453,7 -2462,7 +2462,7 @@@ static void do_deferred_attach(struct d
  {
        struct iommu_domain *domain;
  
-       dev->archdata.iommu = NULL;
+       dev_iommu_priv_set(dev, NULL);
        domain = iommu_get_domain_for_dev(dev);
        if (domain)
                intel_iommu_attach_device(domain, dev);
@@@ -2560,7 -2569,7 +2569,7 @@@ static struct dmar_domain *dmar_insert_
                        }
  
                        if (info->ats_supported && ecap_prs(iommu->ecap) &&
 -                          pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_PRI))
 +                          pci_pri_supported(pdev))
                                info->pri_supported = 1;
                }
        }
        list_add(&info->link, &domain->devices);
        list_add(&info->global, &device_domain_list);
        if (dev)
-               dev->archdata.iommu = info;
+               dev_iommu_priv_set(dev, info);
        spin_unlock_irqrestore(&device_domain_lock, flags);
  
        /* PASID table is mandatory for a PCI device in scalable mode. */
@@@ -4004,7 -4013,7 +4013,7 @@@ static void quirk_ioat_snb_local_iommu(
        if (!drhd || drhd->reg_base_addr - vtbar != 0xa000) {
                pr_warn_once(FW_BUG "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device\n");
                add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK);
-               pdev->dev.archdata.iommu = DUMMY_DEVICE_DOMAIN_INFO;
+               dev_iommu_priv_set(&pdev->dev, DUMMY_DEVICE_DOMAIN_INFO);
        }
  }
  DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IOAT_SNB, quirk_ioat_snb_local_iommu);
@@@ -4039,11 -4048,12 +4048,12 @@@ static void __init init_no_remapping_de
  
                /* This IOMMU has *only* gfx devices. Either bypass it or
                   set the gfx_mapped flag, as appropriate */
+               drhd->gfx_dedicated = 1;
                if (!dmar_map_gfx) {
                        drhd->ignored = 1;
                        for_each_active_dev_scope(drhd->devices,
                                                  drhd->devices_cnt, i, dev)
-                               dev->archdata.iommu = DUMMY_DEVICE_DOMAIN_INFO;
+                               dev_iommu_priv_set(dev, DUMMY_DEVICE_DOMAIN_INFO);
                }
        }
  }
@@@ -4738,12 -4748,12 +4748,12 @@@ const struct attribute_group *intel_iom
        NULL,
  };
  
 -static inline bool has_untrusted_dev(void)
 +static inline bool has_external_pci(void)
  {
        struct pci_dev *pdev = NULL;
  
        for_each_pci_dev(pdev)
 -              if (pdev->untrusted)
 +              if (pdev->external_facing)
                        return true;
  
        return false;
  
  static int __init platform_optin_force_iommu(void)
  {
 -      if (!dmar_platform_optin() || no_platform_optin || !has_untrusted_dev())
 +      if (!dmar_platform_optin() || no_platform_optin || !has_external_pci())
                return 0;
  
        if (no_iommu || dmar_disabled)
@@@ -5146,11 -5156,10 +5156,10 @@@ static int aux_domain_add_dev(struct dm
                              struct device *dev)
  {
        int ret;
-       u8 bus, devfn;
        unsigned long flags;
        struct intel_iommu *iommu;
  
-       iommu = device_to_iommu(dev, &bus, &devfn);
+       iommu = device_to_iommu(dev, NULL, NULL);
        if (!iommu)
                return -ENODEV;
  
@@@ -5236,9 -5245,8 +5245,8 @@@ static int prepare_domain_attach_device
        struct dmar_domain *dmar_domain = to_dmar_domain(domain);
        struct intel_iommu *iommu;
        int addr_width;
-       u8 bus, devfn;
  
-       iommu = device_to_iommu(dev, &bus, &devfn);
+       iommu = device_to_iommu(dev, NULL, NULL);
        if (!iommu)
                return -ENODEV;
  
@@@ -5416,7 -5424,7 +5424,7 @@@ intel_iommu_sva_invalidate(struct iommu
        sid = PCI_DEVID(bus, devfn);
  
        /* Size is only valid in address selective invalidation */
-       if (inv_info->granularity != IOMMU_INV_GRANU_PASID)
+       if (inv_info->granularity == IOMMU_INV_GRANU_ADDR)
                size = to_vtd_size(inv_info->addr_info.granule_size,
                                   inv_info->addr_info.nb_granules);
  
                         IOMMU_CACHE_INV_TYPE_NR) {
                int granu = 0;
                u64 pasid = 0;
+               u64 addr = 0;
  
                granu = to_vtd_granularity(cache_type, inv_info->granularity);
                if (granu == -EINVAL) {
  
                switch (BIT(cache_type)) {
                case IOMMU_CACHE_INV_TYPE_IOTLB:
+                       /* HW will ignore LSB bits based on address mask */
                        if (inv_info->granularity == IOMMU_INV_GRANU_ADDR &&
                            size &&
                            (inv_info->addr_info.addr & ((BIT(VTD_PAGE_SHIFT + size)) - 1))) {
-                               pr_err_ratelimited("Address out of range, 0x%llx, size order %llu\n",
+                               pr_err_ratelimited("User address not aligned, 0x%llx, size order %llu\n",
                                                   inv_info->addr_info.addr, size);
-                               ret = -ERANGE;
-                               goto out_unlock;
                        }
  
                        /*
                                        (granu == QI_GRAN_NONG_PASID) ? -1 : 1 << size,
                                        inv_info->addr_info.flags & IOMMU_INV_ADDR_FLAGS_LEAF);
  
+                       if (!info->ats_enabled)
+                               break;
                        /*
                         * Always flush device IOTLB if ATS is enabled. vIOMMU
                         * in the guest may assume IOTLB flush is inclusive,
                         * which is more efficient.
                         */
-                       if (info->ats_enabled)
-                               qi_flush_dev_iotlb_pasid(iommu, sid,
-                                               info->pfsid, pasid,
-                                               info->ats_qdep,
-                                               inv_info->addr_info.addr,
-                                               size, granu);
-                       break;
+                       fallthrough;
                case IOMMU_CACHE_INV_TYPE_DEV_IOTLB:
+                       /*
+                        * PASID based device TLB invalidation does not support
+                        * IOMMU_INV_GRANU_PASID granularity but only supports
+                        * IOMMU_INV_GRANU_ADDR.
+                        * The equivalent of that is we set the size to be the
+                        * entire range of 64 bit. User only provides PASID info
+                        * without address info. So we set addr to 0.
+                        */
+                       if (inv_info->granularity == IOMMU_INV_GRANU_PASID) {
+                               size = 64 - VTD_PAGE_SHIFT;
+                               addr = 0;
+                       } else if (inv_info->granularity == IOMMU_INV_GRANU_ADDR) {
+                               addr = inv_info->addr_info.addr;
+                       }
                        if (info->ats_enabled)
                                qi_flush_dev_iotlb_pasid(iommu, sid,
                                                info->pfsid, pasid,
-                                               info->ats_qdep,
-                                               inv_info->addr_info.addr,
-                                               size, granu);
+                                               info->ats_qdep, addr,
+                                               size);
                        else
                                pr_warn_ratelimited("Passdown device IOTLB flush w/o ATS!\n");
                        break;
@@@ -5658,14 -5676,13 +5676,13 @@@ static bool intel_iommu_capable(enum io
  static struct iommu_device *intel_iommu_probe_device(struct device *dev)
  {
        struct intel_iommu *iommu;
-       u8 bus, devfn;
  
-       iommu = device_to_iommu(dev, &bus, &devfn);
+       iommu = device_to_iommu(dev, NULL, NULL);
        if (!iommu)
                return ERR_PTR(-ENODEV);
  
        if (translation_pre_enabled(iommu))
-               dev->archdata.iommu = DEFER_DEVICE_DOMAIN_INFO;
+               dev_iommu_priv_set(dev, DEFER_DEVICE_DOMAIN_INFO);
  
        return &iommu->iommu;
  }
  static void intel_iommu_release_device(struct device *dev)
  {
        struct intel_iommu *iommu;
-       u8 bus, devfn;
  
-       iommu = device_to_iommu(dev, &bus, &devfn);
+       iommu = device_to_iommu(dev, NULL, NULL);
        if (!iommu)
                return;
  
@@@ -5825,37 -5841,14 +5841,14 @@@ static struct iommu_group *intel_iommu_
        return generic_device_group(dev);
  }
  
- #ifdef CONFIG_INTEL_IOMMU_SVM
- struct intel_iommu *intel_svm_device_to_iommu(struct device *dev)
- {
-       struct intel_iommu *iommu;
-       u8 bus, devfn;
-       if (iommu_dummy(dev)) {
-               dev_warn(dev,
-                        "No IOMMU translation for device; cannot enable SVM\n");
-               return NULL;
-       }
-       iommu = device_to_iommu(dev, &bus, &devfn);
-       if ((!iommu)) {
-               dev_err(dev, "No IOMMU for device; cannot enable SVM\n");
-               return NULL;
-       }
-       return iommu;
- }
- #endif /* CONFIG_INTEL_IOMMU_SVM */
  static int intel_iommu_enable_auxd(struct device *dev)
  {
        struct device_domain_info *info;
        struct intel_iommu *iommu;
        unsigned long flags;
-       u8 bus, devfn;
        int ret;
  
-       iommu = device_to_iommu(dev, &bus, &devfn);
+       iommu = device_to_iommu(dev, NULL, NULL);
        if (!iommu || dmar_disabled)
                return -EINVAL;
  
@@@ -6080,6 -6073,7 +6073,7 @@@ const struct iommu_ops intel_iommu_ops 
        .sva_bind               = intel_svm_bind,
        .sva_unbind             = intel_svm_unbind,
        .sva_get_pasid          = intel_svm_get_pasid,
+       .page_response          = intel_svm_page_response,
  #endif
  };
  
@@@ -6182,6 -6176,27 +6176,27 @@@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0062, quirk_calpella_no_shadow_gtt);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x006a, quirk_calpella_no_shadow_gtt);
  
+ static void quirk_igfx_skip_te_disable(struct pci_dev *dev)
+ {
+       unsigned short ver;
+       if (!IS_GFX_DEVICE(dev))
+               return;
+       ver = (dev->device >> 8) & 0xff;
+       if (ver != 0x45 && ver != 0x46 && ver != 0x4c &&
+           ver != 0x4e && ver != 0x8a && ver != 0x98 &&
+           ver != 0x9a)
+               return;
+       if (risky_device(dev))
+               return;
+       pci_info(dev, "Skip IOMMU disabling for graphics\n");
+       iommu_skip_te_disable = 1;
+ }
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_igfx_skip_te_disable);
  /* On Tylersburg chipsets, some BIOSes have been known to enable the
     ISOCH DMAR unit for the Azalia sound device, but not give it any
     TLB entries, which causes it to deadlock. Check for that.  We do
index 6de86e73dfc3f68f7fcc3bba0a1a61e45a4cb164,e9edc537d4431b8ac9b98ce3773818eb3fadfc36..0f18abda0e208a5e048b55ac3fbe18a5de717ef6
@@@ -3,7 -3,7 +3,7 @@@
   * IOMMU API for Renesas VMSA-compatible IPMMU
   * Author: Laurent Pinchart <[email protected]>
   *
-  * Copyright (C) 2014 Renesas Electronics Corporation
+  * Copyright (C) 2014-2020 Renesas Electronics Corporation
   */
  
  #include <linux/bitmap.h>
@@@ -28,6 -28,7 +28,6 @@@
  
  #if defined(CONFIG_ARM) && !defined(CONFIG_IOMMU_DMA)
  #include <asm/dma-iommu.h>
 -#include <asm/pgalloc.h>
  #else
  #define arm_iommu_create_mapping(...) NULL
  #define arm_iommu_attach_device(...)  -ENODEV
@@@ -686,7 -687,7 +686,7 @@@ static int ipmmu_map(struct iommu_domai
        if (!domain)
                return -ENODEV;
  
-       return domain->iop->map(domain->iop, iova, paddr, size, prot);
+       return domain->iop->map(domain->iop, iova, paddr, size, prot, gfp);
  }
  
  static size_t ipmmu_unmap(struct iommu_domain *io_domain, unsigned long iova,
@@@ -739,7 -740,9 +739,9 @@@ static const struct soc_device_attribut
        { .soc_id = "r8a774a1", },
        { .soc_id = "r8a774b1", },
        { .soc_id = "r8a774c0", },
+       { .soc_id = "r8a774e1", },
        { .soc_id = "r8a7795", },
+       { .soc_id = "r8a77961", },
        { .soc_id = "r8a7796", },
        { .soc_id = "r8a77965", },
        { .soc_id = "r8a77970", },
  static const struct soc_device_attribute soc_rcar_gen3_whitelist[] = {
        { .soc_id = "r8a774b1", },
        { .soc_id = "r8a774c0", },
+       { .soc_id = "r8a774e1", },
        { .soc_id = "r8a7795", .revision = "ES3.*" },
+       { .soc_id = "r8a77961", },
        { .soc_id = "r8a77965", },
        { .soc_id = "r8a77990", },
        { .soc_id = "r8a77995", },
@@@ -962,12 -967,18 +966,18 @@@ static const struct of_device_id ipmmu_
        }, {
                .compatible = "renesas,ipmmu-r8a774c0",
                .data = &ipmmu_features_rcar_gen3,
+       }, {
+               .compatible = "renesas,ipmmu-r8a774e1",
+               .data = &ipmmu_features_rcar_gen3,
        }, {
                .compatible = "renesas,ipmmu-r8a7795",
                .data = &ipmmu_features_rcar_gen3,
        }, {
                .compatible = "renesas,ipmmu-r8a7796",
                .data = &ipmmu_features_rcar_gen3,
+       }, {
+               .compatible = "renesas,ipmmu-r8a77961",
+               .data = &ipmmu_features_rcar_gen3,
        }, {
                .compatible = "renesas,ipmmu-r8a77965",
                .data = &ipmmu_features_rcar_gen3,
diff --combined drivers/memory/mtk-smi.c
index e154bea3cf140ac0f34ed3e5f237ede68141d9b0,109c7e51d551348d5c691168b9884f47fd6c3e55..c21262502581855ce3122fa5089ff15bd7722ab4
@@@ -60,7 -60,7 +60,7 @@@ struct mtk_smi_common_plat 
  
  struct mtk_smi_larb_gen {
        int port_in_larb[MTK_LARB_NR_MAX + 1];
 -      void (*config_port)(struct device *);
 +      void (*config_port)(struct device *dev);
        unsigned int                    larb_direct_to_common_mask;
        bool                            has_gals;
  };
@@@ -239,6 -239,13 +239,13 @@@ static const struct mtk_smi_larb_gen mt
        .larb_direct_to_common_mask = BIT(8) | BIT(9),      /* bdpsys */
  };
  
+ static const struct mtk_smi_larb_gen mtk_smi_larb_mt6779 = {
+       .config_port  = mtk_smi_larb_config_port_gen2_general,
+       .larb_direct_to_common_mask =
+               BIT(4) | BIT(6) | BIT(11) | BIT(12) | BIT(13),
+               /* DUMMY | IPU0 | IPU1 | CCU | MDLA */
+ };
  static const struct mtk_smi_larb_gen mtk_smi_larb_mt8183 = {
        .has_gals                   = true,
        .config_port                = mtk_smi_larb_config_port_gen2_general,
@@@ -259,6 -266,10 +266,10 @@@ static const struct of_device_id mtk_sm
                .compatible = "mediatek,mt2712-smi-larb",
                .data = &mtk_smi_larb_mt2712
        },
+       {
+               .compatible = "mediatek,mt6779-smi-larb",
+               .data = &mtk_smi_larb_mt6779
+       },
        {
                .compatible = "mediatek,mt8183-smi-larb",
                .data = &mtk_smi_larb_mt8183
@@@ -388,6 -399,13 +399,13 @@@ static const struct mtk_smi_common_pla
        .gen = MTK_SMI_GEN2,
  };
  
+ static const struct mtk_smi_common_plat mtk_smi_common_mt6779 = {
+       .gen            = MTK_SMI_GEN2,
+       .has_gals       = true,
+       .bus_sel        = F_MMU1_LARB(1) | F_MMU1_LARB(2) | F_MMU1_LARB(4) |
+                         F_MMU1_LARB(5) | F_MMU1_LARB(6) | F_MMU1_LARB(7),
+ };
  static const struct mtk_smi_common_plat mtk_smi_common_mt8183 = {
        .gen      = MTK_SMI_GEN2,
        .has_gals = true,
@@@ -408,6 -426,10 +426,10 @@@ static const struct of_device_id mtk_sm
                .compatible = "mediatek,mt2712-smi-common",
                .data = &mtk_smi_common_gen2,
        },
+       {
+               .compatible = "mediatek,mt6779-smi-common",
+               .data = &mtk_smi_common_mt6779,
+       },
        {
                .compatible = "mediatek,mt8183-smi-common",
                .data = &mtk_smi_common_mt8183,
This page took 0.201828 seconds and 4 git commands to generate.