Merge tag 'drm-accel-2022-11-22' of https://git.kernel.org/pub/scm/linux/kernel/git...
authorDave Airlie <airlied@redhat.com>
Wed, 30 Nov 2022 01:45:43 +0000 (11:45 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 30 Nov 2022 02:01:27 +0000 (12:01 +1000)
This tag contains the patches that add the new compute acceleration
subsystem, which is part of the DRM subsystem.

The patches:
- Add a new directory at drivers/accel.
- Add a new major (261) for compute accelerators.
- Add a new DRM minor type for compute accelerators.
- Integrate the accel core code with DRM core code.
- Add documentation for the accel subsystem.

Signed-off-by: Dave Airlie <airlied@redhat.com>
some acks from the list (some are in the patch series):
Acked-by: Daniel Stone <daniels@collabora.com>
Acked-by: Sonal Santan <sonal.santan@amd.com>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Tested-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
From: Oded Gabbay <ogabbay@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20221122112222.GA352082@ogabbay-vm-u20.habana-labs.com
1  2 
MAINTAINERS
drivers/gpu/drm/drm_drv.c

diff --combined MAINTAINERS
@@@ -2197,7 -2197,7 +2197,7 @@@ M:      Wei Xu <xuwei5@hisilicon.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
  W:    http://www.hisilicon.com
 -T:    git git://github.com/hisilicon/linux-hisi.git
 +T:    git https://github.com/hisilicon/linux-hisi.git
  F:    arch/arm/boot/dts/hi3*
  F:    arch/arm/boot/dts/hip*
  F:    arch/arm/boot/dts/hisi*
@@@ -3984,7 -3984,7 +3984,7 @@@ M:      Rafał Miłecki <rafal@milecki.pl
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    Documentation/devicetree/bindings/arm/bcm/brcm,bcmbca.yaml
  F:    arch/arm64/boot/dts/broadcom/bcmbca/*
  N:    bcmbca
@@@ -4009,7 -4009,7 +4009,7 @@@ R:      Broadcom internal kernel review lis
  L:    linux-rpi-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
  F:    drivers/pci/controller/pcie-brcmstb.c
  F:    drivers/staging/vc04_services
@@@ -4023,7 -4023,7 +4023,7 @@@ M:      Ray Jui <rjui@broadcom.com
  M:    Scott Branden <sbranden@broadcom.com>
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  S:    Maintained
 -T:    git git://github.com/broadcom/mach-bcm
 +T:    git https://github.com/broadcom/mach-bcm
  F:    arch/arm/mach-bcm/
  N:    bcm281*
  N:    bcm113*
@@@ -4088,7 -4088,7 +4088,7 @@@ M:      Florian Fainelli <f.fainelli@gmail.c
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
  F:    arch/arm/boot/dts/bcm7*.dts*
  F:    arch/arm/include/asm/hardware/cache-b15-rac.h
@@@ -4101,7 -4101,6 +4101,7 @@@ N:      bcm703
  N:    bcm7120
  
  BROADCOM BDC DRIVER
 +M:    Justin Chen <justinpopo6@gmail.com>
  M:    Al Cooper <alcooperx@gmail.com>
  L:    linux-usb@vger.kernel.org
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
@@@ -4121,7 -4120,7 +4121,7 @@@ M:      Florian Fainelli <f.fainelli@gmail.c
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-mips@vger.kernel.org
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    arch/mips/bmips/*
  F:    arch/mips/boot/dts/brcm/bcm*.dts*
  F:    arch/mips/include/asm/mach-bmips/*
@@@ -4208,7 -4207,6 +4208,7 @@@ F:      Documentation/devicetree/bindings/se
  F:    drivers/tty/serial/8250/8250_bcm7271.c
  
  BROADCOM BRCMSTB USB EHCI DRIVER
 +M:    Justin Chen <justinpopo6@gmail.com>
  M:    Al Cooper <alcooperx@gmail.com>
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-usb@vger.kernel.org
@@@ -4225,7 -4223,6 +4225,7 @@@ F:      Documentation/devicetree/bindings/us
  F:    drivers/usb/misc/brcmstb-usb-pinmap.c
  
  BROADCOM BRCMSTB USB2 and USB3 PHY DRIVER
 +M:    Justin Chen <justinpopo6@gmail.com>
  M:    Al Cooper <alcooperx@gmail.com>
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-kernel@vger.kernel.org
@@@ -4262,7 -4259,7 +4262,7 @@@ M:      Scott Branden <sbranden@broadcom.com
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    arch/arm64/boot/dts/broadcom/northstar2/*
  F:    arch/arm64/boot/dts/broadcom/stingray/*
  F:    drivers/clk/bcm/clk-ns*
@@@ -4332,7 -4329,7 +4332,7 @@@ M:      Florian Fainelli <f.fainelli@gmail.c
  R:    Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
  L:    linux-pm@vger.kernel.org
  S:    Maintained
 -T:    git git://github.com/broadcom/stblinux.git
 +T:    git https://github.com/broadcom/stblinux.git
  F:    drivers/soc/bcm/bcm63xx/bcm-pmb.c
  F:    include/dt-bindings/soc/bcm-pmb.h
  
@@@ -4809,7 -4806,7 +4809,7 @@@ R:      Jeff Layton <jlayton@kernel.org
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://github.com/ceph/ceph-client.git
 +T:    git https://github.com/ceph/ceph-client.git
  F:    include/linux/ceph/
  F:    include/linux/crush/
  F:    net/ceph/
@@@ -4821,7 -4818,7 +4821,7 @@@ R:      Jeff Layton <jlayton@kernel.org
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://github.com/ceph/ceph-client.git
 +T:    git https://github.com/ceph/ceph-client.git
  F:    Documentation/filesystems/ceph.rst
  F:    fs/ceph/
  
@@@ -4911,7 -4908,7 +4911,7 @@@ F:      drivers/platform/chrome
  
  CHROMEOS EC CODEC DRIVER
  M:    Cheng-Yi Chiang <cychiang@chromium.org>
 -M:    Tzung-Bi Shih <tzungbi@google.com>
 +M:    Tzung-Bi Shih <tzungbi@kernel.org>
  R:    Guenter Roeck <groeck@chromium.org>
  L:    chrome-platform@lists.linux.dev
  S:    Maintained
@@@ -5041,7 -5038,7 +5041,7 @@@ F:      drivers/scsi/snic
  
  CISCO VIC ETHERNET NIC DRIVER
  M:    Christian Benvenuti <benve@cisco.com>
 -M:    Govindarajulu Varadarajan <_govind@gmx.com>
 +M:    Satish Kharat <satishkh@cisco.com>
  S:    Supported
  F:    drivers/net/ethernet/cisco/enic/
  
@@@ -6836,6 -6833,15 +6836,15 @@@ F:    include/drm/drm
  F:    include/linux/vga*
  F:    include/uapi/drm/drm*
  
+ DRM COMPUTE ACCELERATORS DRIVERS AND FRAMEWORK
+ M:    Oded Gabbay <ogabbay@kernel.org>
+ L:    dri-devel@lists.freedesktop.org
+ S:    Maintained
+ C:    irc://irc.oftc.net/dri-devel
+ T:    git https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/accel.git
+ F:    Documentation/accel/
+ F:    drivers/accel/
  DRM DRIVERS FOR ALLWINNER A10
  M:    Maxime Ripard <mripard@kernel.org>
  M:    Chen-Yu Tsai <wens@csie.org>
@@@ -8611,8 -8617,8 +8620,8 @@@ F:      include/asm-generic
  F:    include/uapi/asm-generic/
  
  GENERIC PHY FRAMEWORK
 -M:    Kishon Vijay Abraham I <kishon@ti.com>
  M:    Vinod Koul <vkoul@kernel.org>
 +M:    Kishon Vijay Abraham I <kishon@kernel.org>
  L:    linux-phy@lists.infradead.org
  S:    Supported
  Q:    https://patchwork.kernel.org/project/linux-phy/list/
@@@ -9226,7 -9232,7 +9235,7 @@@ W:      https://www.hisilicon.co
  F:    drivers/i2c/busses/i2c-hisi.c
  
  HISILICON LPC BUS DRIVER
 -M:    john.garry@huawei.com
 +M:    Jay Fang <f.fangjian@huawei.com>
  S:    Maintained
  W:    http://www.hisilicon.com
  F:    Documentation/devicetree/bindings/arm/hisilicon/low-pin-count.yaml
@@@ -9350,7 -9356,7 +9359,7 @@@ S:      Maintaine
  F:    drivers/crypto/hisilicon/trng/trng.c
  
  HISILICON V3XX SPI NOR FLASH Controller Driver
 -M:    John Garry <john.garry@huawei.com>
 +M:    Jay Fang <f.fangjian@huawei.com>
  S:    Maintained
  W:    http://www.hisilicon.com
  F:    drivers/spi/spi-hisi-sfc-v3xx.c
@@@ -9516,6 -9522,7 +9525,6 @@@ F:      drivers/media/i2c/hi847.
  Hyper-V/Azure CORE AND DRIVERS
  M:    "K. Y. Srinivasan" <kys@microsoft.com>
  M:    Haiyang Zhang <haiyangz@microsoft.com>
 -M:    Stephen Hemminger <sthemmin@microsoft.com>
  M:    Wei Liu <wei.liu@kernel.org>
  M:    Dexuan Cui <decui@microsoft.com>
  L:    linux-hyperv@vger.kernel.org
@@@ -9786,10 -9793,7 +9795,10 @@@ S:    Supporte
  F:    drivers/pci/hotplug/rpaphp*
  
  IBM Power SRIOV Virtual NIC Device Driver
 -M:    Dany Madden <drt@linux.ibm.com>
 +M:    Haren Myneni <haren@linux.ibm.com>
 +M:    Rick Lindsley <ricklind@linux.ibm.com>
 +R:    Nick Child <nnac123@linux.ibm.com>
 +R:    Dany Madden <danymadden@us.ibm.com>
  R:    Thomas Falcon <tlfalcon@linux.ibm.com>
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -11045,7 -11049,6 +11054,7 @@@ KCONFI
  M:    Masahiro Yamada <masahiroy@kernel.org>
  L:    linux-kbuild@vger.kernel.org
  S:    Maintained
 +Q:    https://patchwork.kernel.org/project/linux-kbuild/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
  F:    Documentation/kbuild/kconfig*
  F:    scripts/Kconfig.include
@@@ -11103,12 -11106,10 +11112,12 @@@ F:        fs/autofs
  
  KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
  M:    Masahiro Yamada <masahiroy@kernel.org>
 -M:    Michal Marek <michal.lkml@markovi.net>
 +R:    Nathan Chancellor <nathan@kernel.org>
  R:    Nick Desaulniers <ndesaulniers@google.com>
 +R:    Nicolas Schier <nicolas@fjasle.eu>
  L:    linux-kbuild@vger.kernel.org
  S:    Maintained
 +Q:    https://patchwork.kernel.org/project/linux-kbuild/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
  F:    Documentation/kbuild/
  F:    Makefile
@@@ -11263,7 -11264,7 +11272,7 @@@ L:   kvm@vger.kernel.or
  L:    kvm-riscv@lists.infradead.org
  L:    linux-riscv@lists.infradead.org
  S:    Maintained
 -T:    git git://github.com/kvm-riscv/linux.git
 +T:    git https://github.com/kvm-riscv/linux.git
  F:    arch/riscv/include/asm/kvm*
  F:    arch/riscv/include/uapi/asm/kvm*
  F:    arch/riscv/kvm/
@@@ -11276,6 -11277,7 +11285,6 @@@ M:   Claudio Imbrenda <imbrenda@linux.ibm
  R:    David Hildenbrand <david@redhat.com>
  L:    kvm@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
  F:    Documentation/virt/kvm/s390*
  F:    arch/s390/include/asm/gmap.h
@@@ -12238,6 -12240,7 +12247,6 @@@ F:   arch/mips/boot/dts/img/pistachio
  
  MARVELL 88E6XXX ETHERNET SWITCH FABRIC DRIVER
  M:    Andrew Lunn <andrew@lunn.ch>
 -M:    Vivien Didelot <vivien.didelot@gmail.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/net/dsa/marvell.txt
@@@ -13638,12 -13641,6 +13647,12 @@@ S: Supporte
  F:    drivers/misc/atmel-ssc.c
  F:    include/linux/atmel-ssc.h
  
 +MICROCHIP SOC DRIVERS
 +M:    Conor Dooley <conor@kernel.org>
 +S:    Supported
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
 +F:    drivers/soc/microchip/
 +
  MICROCHIP USB251XB DRIVER
  M:    Richard Leitner <richard.leitner@skidata.com>
  L:    linux-usb@vger.kernel.org
@@@ -14341,6 -14338,7 +14350,6 @@@ F:   drivers/net/wireless
  
  NETWORKING [DSA]
  M:    Andrew Lunn <andrew@lunn.ch>
 -M:    Vivien Didelot <vivien.didelot@gmail.com>
  M:    Florian Fainelli <f.fainelli@gmail.com>
  M:    Vladimir Oltean <olteanv@gmail.com>
  S:    Maintained
@@@ -14545,7 -14543,7 +14554,7 @@@ L:   linux-nilfs@vger.kernel.or
  S:    Supported
  W:    https://nilfs.sourceforge.io/
  W:    https://nilfs.osdn.jp/
 -T:    git git://github.com/konis/nilfs2.git
 +T:    git https://github.com/konis/nilfs2.git
  F:    Documentation/filesystems/nilfs2.rst
  F:    fs/nilfs2/
  F:    include/trace/events/nilfs2.h
@@@ -15457,7 -15455,6 +15466,7 @@@ S:   Maintaine
  W:    http://openvswitch.org
  F:    include/uapi/linux/openvswitch.h
  F:    net/openvswitch/
 +F:    tools/testing/selftests/net/openvswitch/
  
  OPERATING PERFORMANCE POINTS (OPP)
  M:    Viresh Kumar <vireshk@kernel.org>
@@@ -15649,7 -15646,7 +15658,7 @@@ F:   drivers/input/serio/gscps2.
  F:    drivers/input/serio/hp_sdc*
  F:    drivers/parisc/
  F:    drivers/parport/parport_gsc.*
 -F:    drivers/tty/serial/8250/8250_gsc.c
 +F:    drivers/tty/serial/8250/8250_parisc.c
  F:    drivers/video/console/sti*
  F:    drivers/video/fbdev/sti*
  F:    drivers/video/logo/logo_parisc*
@@@ -16697,7 -16694,6 +16706,7 @@@ F:   Documentation/driver-api/ptp.rs
  F:    drivers/net/phy/dp83640*
  F:    drivers/ptp/*
  F:    include/linux/ptp_cl*
 +K:    (?:\b|_)ptp(?:\b|_)
  
  PTP VIRTUAL CLOCK SUPPORT
  M:    Yangbo Lu <yangbo.lu@nxp.com>
@@@ -17241,7 -17237,7 +17250,7 @@@ R:   Dongsheng Yang <dongsheng.yang@easys
  L:    ceph-devel@vger.kernel.org
  S:    Supported
  W:    http://ceph.com/
 -T:    git git://github.com/ceph/ceph-client.git
 +T:    git https://github.com/ceph/ceph-client.git
  F:    Documentation/ABI/testing/sysfs-bus-rbd
  F:    drivers/block/rbd.c
  F:    drivers/block/rbd_types.h
@@@ -17742,7 -17738,7 +17751,7 @@@ F:   arch/riscv
  N:    riscv
  K:    riscv
  
 -RISC-V/MICROCHIP POLARFIRE SOC SUPPORT
 +RISC-V MICROCHIP FPGA SUPPORT
  M:    Conor Dooley <conor.dooley@microchip.com>
  M:    Daire McNamara <daire.mcnamara@microchip.com>
  L:    linux-riscv@lists.infradead.org
@@@ -17760,26 -17756,17 +17769,26 @@@ F:        Documentation/devicetree/bindings/us
  F:    arch/riscv/boot/dts/microchip/
  F:    drivers/char/hw_random/mpfs-rng.c
  F:    drivers/clk/microchip/clk-mpfs.c
 -F:    drivers/i2c/busses/i2c-microchip-core.c
 +F:    drivers/i2c/busses/i2c-microchip-corei2c.c
  F:    drivers/mailbox/mailbox-mpfs.c
  F:    drivers/pci/controller/pcie-microchip-host.c
  F:    drivers/reset/reset-mpfs.c
  F:    drivers/rtc/rtc-mpfs.c
 -F:    drivers/soc/microchip/
 +F:    drivers/soc/microchip/mpfs-sys-controller.c
  F:    drivers/spi/spi-microchip-core-qspi.c
  F:    drivers/spi/spi-microchip-core.c
  F:    drivers/usb/musb/mpfs.c
  F:    include/soc/microchip/mpfs.h
  
 +RISC-V MISC SOC SUPPORT
 +M:    Conor Dooley <conor@kernel.org>
 +L:    linux-riscv@lists.infradead.org
 +S:    Maintained
 +Q:    https://patchwork.kernel.org/project/linux-riscv/list/
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
 +F:    Documentation/devicetree/bindings/riscv/
 +F:    arch/riscv/boot/dts/
 +
  RNBD BLOCK DRIVERS
  M:    Md. Haris Iqbal <haris.iqbal@ionos.com>
  M:    Jack Wang <jinpu.wang@ionos.com>
@@@ -17843,7 -17830,7 +17852,7 @@@ S:   Odd Fixe
  F:    drivers/tty/serial/rp2.*
  
  ROHM BD99954 CHARGER IC
 -R:    Matti Vaittinen <mazziesaccount@gmail.com>
 +M:    Matti Vaittinen <mazziesaccount@gmail.com>
  S:    Supported
  F:    drivers/power/supply/bd99954-charger.c
  F:    drivers/power/supply/bd99954-charger.h
@@@ -17866,7 -17853,7 +17875,7 @@@ F:   drivers/regulator/bd9571mwv-regulato
  F:    include/linux/mfd/bd9571mwv.h
  
  ROHM POWER MANAGEMENT IC DEVICE DRIVERS
 -R:    Matti Vaittinen <mazziesaccount@gmail.com>
 +M:    Matti Vaittinen <mazziesaccount@gmail.com>
  S:    Supported
  F:    drivers/clk/clk-bd718x7.c
  F:    drivers/gpio/gpio-bd71815.c
@@@ -18028,6 -18015,7 +18037,6 @@@ R:   Christian Borntraeger <borntraeger@l
  R:    Sven Schnelle <svens@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
  F:    Documentation/driver-api/s390-drivers.rst
  F:    Documentation/s390/
@@@ -18039,6 -18027,7 +18048,6 @@@ M:   Vineeth Vijayan <vneethv@linux.ibm.c
  M:    Peter Oberparleiter <oberpar@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/cio/
  
  S390 DASD DRIVER
@@@ -18046,6 -18035,7 +18055,6 @@@ M:   Stefan Haberland <sth@linux.ibm.com
  M:    Jan Hoeppner <hoeppner@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    block/partitions/ibm.c
  F:    drivers/s390/block/dasd*
  F:    include/linux/dasd_mod.h
@@@ -18055,6 -18045,7 +18064,6 @@@ M:   Matthew Rosato <mjrosato@linux.ibm.c
  M:    Gerald Schaefer <gerald.schaefer@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/iommu/s390-iommu.c
  
  S390 IUCV NETWORK LAYER
@@@ -18063,6 -18054,7 +18072,6 @@@ M:   Wenjia Zhang <wenjia@linux.ibm.com
  L:    linux-s390@vger.kernel.org
  L:    netdev@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/net/*iucv*
  F:    include/net/iucv/
  F:    net/iucv/
@@@ -18073,6 -18065,7 +18082,6 @@@ M:   Wenjia Zhang <wenjia@linux.ibm.com
  L:    linux-s390@vger.kernel.org
  L:    netdev@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/net/
  
  S390 PCI SUBSYSTEM
@@@ -18080,6 -18073,7 +18089,6 @@@ M:   Niklas Schnelle <schnelle@linux.ibm.
  M:    Gerald Schaefer <gerald.schaefer@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    arch/s390/pci/
  F:    drivers/pci/hotplug/s390_pci_hpc.c
  F:    Documentation/s390/pci.rst
@@@ -18090,6 -18084,7 +18099,6 @@@ M:   Halil Pasic <pasic@linux.ibm.com
  M:    Jason Herne <jjherne@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    Documentation/s390/vfio-ap*
  F:    drivers/s390/crypto/vfio_ap*
  
@@@ -18118,6 -18113,7 +18127,6 @@@ S390 ZCRYPT DRIVE
  M:    Harald Freudenberger <freude@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/crypto/
  
  S390 ZFCP DRIVER
@@@ -18125,6 -18121,7 +18134,6 @@@ M:   Steffen Maier <maier@linux.ibm.com
  M:    Benjamin Block <bblock@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    drivers/s390/scsi/zfcp_*
  
  S3C ADC BATTERY DRIVER
@@@ -18696,6 -18693,7 +18705,6 @@@ M:   Wenjia Zhang <wenjia@linux.ibm.com
  M:    Jan Karcher <jaka@linux.ibm.com>
  L:    linux-s390@vger.kernel.org
  S:    Supported
 -W:    http://www.ibm.com/developerworks/linux/linux390/
  F:    net/smc/
  
  SHARP GP2AP002A00F/GP2AP002S00F SENSOR DRIVER
@@@ -18806,6 -18804,7 +18815,6 @@@ M:   Palmer Dabbelt <palmer@dabbelt.com
  M:    Paul Walmsley <paul.walmsley@sifive.com>
  L:    linux-riscv@lists.infradead.org
  S:    Supported
 -T:    git git://github.com/sifive/riscv-linux.git
  N:    sifive
  K:    [^@]sifive
  
@@@ -18824,13 -18823,6 +18833,13 @@@ S: Maintaine
  F:    Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
  F:    drivers/dma/sf-pdma/
  
 +SIFIVE SOC DRIVERS
 +M:    Conor Dooley <conor@kernel.org>
 +L:    linux-riscv@lists.infradead.org
 +S:    Maintained
 +T:    git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
 +F:    drivers/soc/sifive/
 +
  SILEAD TOUCHSCREEN DRIVER
  M:    Hans de Goede <hdegoede@redhat.com>
  L:    linux-input@vger.kernel.org
@@@ -19632,11 -19624,6 +19641,11 @@@ M: Ion Badulescu <ionut@badula.org
  S:    Odd Fixes
  F:    drivers/net/ethernet/adaptec/starfire*
  
 +STARFIVE DEVICETREES
 +M:    Emil Renner Berthing <kernel@esmil.dk>
 +S:    Maintained
 +F:    arch/riscv/boot/dts/starfive/
 +
  STARFIVE JH7100 CLOCK DRIVERS
  M:    Emil Renner Berthing <kernel@esmil.dk>
  S:    Maintained
@@@ -21221,6 -21208,15 +21230,6 @@@ S:  Maintaine
  F:    Documentation/usb/ehci.rst
  F:    drivers/usb/host/ehci*
  
 -USB GADGET/PERIPHERAL SUBSYSTEM
 -M:    Felipe Balbi <balbi@kernel.org>
 -L:    linux-usb@vger.kernel.org
 -S:    Maintained
 -W:    http://www.linux-usb.org/gadget
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
 -F:    drivers/usb/gadget/
 -F:    include/linux/usb/gadget*
 -
  USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
  M:    Jiri Kosina <jikos@kernel.org>
  M:    Benjamin Tissoires <benjamin.tissoires@redhat.com>
@@@ -21327,6 -21323,13 +21336,6 @@@ W:  https://github.com/petkan/pegasu
  T:    git https://github.com/petkan/pegasus.git
  F:    drivers/net/usb/pegasus.*
  
 -USB PHY LAYER
 -M:    Felipe Balbi <balbi@kernel.org>
 -L:    linux-usb@vger.kernel.org
 -S:    Maintained
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
 -F:    drivers/usb/phy/
 -
  USB PRINTER DRIVER (usblp)
  M:    Pete Zaitcev <zaitcev@redhat.com>
  L:    linux-usb@vger.kernel.org
@@@ -35,6 -35,7 +35,7 @@@
  #include <linux/slab.h>
  #include <linux/srcu.h>
  
+ #include <drm/drm_accel.h>
  #include <drm/drm_cache.h>
  #include <drm/drm_client.h>
  #include <drm/drm_color_mgmt.h>
@@@ -90,6 -91,8 +91,8 @@@ static struct drm_minor **drm_minor_get
                return &dev->primary;
        case DRM_MINOR_RENDER:
                return &dev->render;
+       case DRM_MINOR_ACCEL:
+               return &dev->accel;
        default:
                BUG();
        }
@@@ -104,9 -107,13 +107,13 @@@ static void drm_minor_alloc_release(str
  
        put_device(minor->kdev);
  
-       spin_lock_irqsave(&drm_minor_lock, flags);
-       idr_remove(&drm_minors_idr, minor->index);
-       spin_unlock_irqrestore(&drm_minor_lock, flags);
+       if (minor->type == DRM_MINOR_ACCEL) {
+               accel_minor_remove(minor->index);
+       } else {
+               spin_lock_irqsave(&drm_minor_lock, flags);
+               idr_remove(&drm_minors_idr, minor->index);
+               spin_unlock_irqrestore(&drm_minor_lock, flags);
+       }
  }
  
  static int drm_minor_alloc(struct drm_device *dev, unsigned int type)
        minor->dev = dev;
  
        idr_preload(GFP_KERNEL);
-       spin_lock_irqsave(&drm_minor_lock, flags);
-       r = idr_alloc(&drm_minors_idr,
-                     NULL,
-                     64 * type,
-                     64 * (type + 1),
-                     GFP_NOWAIT);
-       spin_unlock_irqrestore(&drm_minor_lock, flags);
+       if (type == DRM_MINOR_ACCEL) {
+               r = accel_minor_alloc();
+       } else {
+               spin_lock_irqsave(&drm_minor_lock, flags);
+               r = idr_alloc(&drm_minors_idr,
+                       NULL,
+                       64 * type,
+                       64 * (type + 1),
+                       GFP_NOWAIT);
+               spin_unlock_irqrestore(&drm_minor_lock, flags);
+       }
        idr_preload_end();
  
        if (r < 0)
@@@ -161,10 -172,14 +172,14 @@@ static int drm_minor_register(struct dr
        if (!minor)
                return 0;
  
-       ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root);
-       if (ret) {
-               DRM_ERROR("DRM: Failed to initialize /sys/kernel/debug/dri.\n");
-               goto err_debugfs;
+       if (minor->type == DRM_MINOR_ACCEL) {
+               accel_debugfs_init(minor, minor->index);
+       } else {
+               ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root);
+               if (ret) {
+                       DRM_ERROR("DRM: Failed to initialize /sys/kernel/debug/dri.\n");
+                       goto err_debugfs;
+               }
        }
  
        ret = device_add(minor->kdev);
                goto err_debugfs;
  
        /* replace NULL with @minor so lookups will succeed from now on */
-       spin_lock_irqsave(&drm_minor_lock, flags);
-       idr_replace(&drm_minors_idr, minor, minor->index);
-       spin_unlock_irqrestore(&drm_minor_lock, flags);
+       if (minor->type == DRM_MINOR_ACCEL) {
+               accel_minor_replace(minor, minor->index);
+       } else {
+               spin_lock_irqsave(&drm_minor_lock, flags);
+               idr_replace(&drm_minors_idr, minor, minor->index);
+               spin_unlock_irqrestore(&drm_minor_lock, flags);
+       }
  
        DRM_DEBUG("new minor registered %d\n", minor->index);
        return 0;
@@@ -194,9 -213,13 +213,13 @@@ static void drm_minor_unregister(struc
                return;
  
        /* replace @minor with NULL so lookups will fail from now on */
-       spin_lock_irqsave(&drm_minor_lock, flags);
-       idr_replace(&drm_minors_idr, NULL, minor->index);
-       spin_unlock_irqrestore(&drm_minor_lock, flags);
+       if (minor->type == DRM_MINOR_ACCEL) {
+               accel_minor_replace(NULL, minor->index);
+       } else {
+               spin_lock_irqsave(&drm_minor_lock, flags);
+               idr_replace(&drm_minors_idr, NULL, minor->index);
+               spin_unlock_irqrestore(&drm_minor_lock, flags);
+       }
  
        device_del(minor->kdev);
        dev_set_drvdata(minor->kdev, NULL); /* safety belt */
@@@ -603,6 -626,13 +626,13 @@@ static int drm_dev_init(struct drm_devi
        /* no per-device feature limits by default */
        dev->driver_features = ~0u;
  
+       if (drm_core_check_feature(dev, DRIVER_COMPUTE_ACCEL) &&
+                               (drm_core_check_feature(dev, DRIVER_RENDER) ||
+                               drm_core_check_feature(dev, DRIVER_MODESET))) {
+               DRM_ERROR("DRM driver can't be both a compute acceleration and graphics driver\n");
+               return -EINVAL;
+       }
        drm_legacy_init_members(dev);
        INIT_LIST_HEAD(&dev->filelist);
        INIT_LIST_HEAD(&dev->filelist_internal);
        mutex_init(&dev->clientlist_mutex);
        mutex_init(&dev->master_mutex);
  
 -      ret = drmm_add_action(dev, drm_dev_init_release, NULL);
 +      ret = drmm_add_action_or_reset(dev, drm_dev_init_release, NULL);
        if (ret)
                return ret;
  
  
        dev->anon_inode = inode;
  
-       if (drm_core_check_feature(dev, DRIVER_RENDER)) {
-               ret = drm_minor_alloc(dev, DRM_MINOR_RENDER);
+       if (drm_core_check_feature(dev, DRIVER_COMPUTE_ACCEL)) {
+               ret = drm_minor_alloc(dev, DRM_MINOR_ACCEL);
                if (ret)
                        goto err;
-       }
+       } else {
+               if (drm_core_check_feature(dev, DRIVER_RENDER)) {
+                       ret = drm_minor_alloc(dev, DRM_MINOR_RENDER);
+                       if (ret)
+                               goto err;
+               }
  
-       ret = drm_minor_alloc(dev, DRM_MINOR_PRIMARY);
-       if (ret)
-               goto err;
+               ret = drm_minor_alloc(dev, DRM_MINOR_PRIMARY);
+               if (ret)
+                       goto err;
+       }
  
        ret = drm_legacy_create_map_hash(dev);
        if (ret)
@@@ -883,6 -919,10 +919,10 @@@ int drm_dev_register(struct drm_device 
        if (ret)
                goto err_minors;
  
+       ret = drm_minor_register(dev, DRM_MINOR_ACCEL);
+       if (ret)
+               goto err_minors;
        ret = create_compat_control_link(dev);
        if (ret)
                goto err_minors;
                 driver->name, driver->major, driver->minor,
                 driver->patchlevel, driver->date,
                 dev->dev ? dev_name(dev->dev) : "virtual device",
-                dev->primary->index);
+                dev->primary ? dev->primary->index : dev->accel->index);
  
        goto out_unlock;
  
  err_minors:
        remove_compat_control_link(dev);
+       drm_minor_unregister(dev, DRM_MINOR_ACCEL);
        drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
        drm_minor_unregister(dev, DRM_MINOR_RENDER);
  out_unlock:
@@@ -950,6 -991,7 +991,7 @@@ void drm_dev_unregister(struct drm_devi
        drm_legacy_rmmaps(dev);
  
        remove_compat_control_link(dev);
+       drm_minor_unregister(dev, DRM_MINOR_ACCEL);
        drm_minor_unregister(dev, DRM_MINOR_PRIMARY);
        drm_minor_unregister(dev, DRM_MINOR_RENDER);
  }
@@@ -1034,6 -1076,7 +1076,7 @@@ static const struct file_operations drm
  static void drm_core_exit(void)
  {
        drm_privacy_screen_lookup_exit();
+       accel_core_exit();
        unregister_chrdev(DRM_MAJOR, "drm");
        debugfs_remove(drm_debugfs_root);
        drm_sysfs_destroy();
@@@ -1061,6 -1104,10 +1104,10 @@@ static int __init drm_core_init(void
        if (ret < 0)
                goto error;
  
+       ret = accel_core_init();
+       if (ret < 0)
+               goto error;
        drm_privacy_screen_lookup_init();
  
        drm_core_init_complete = true;