Commit a5b871c9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'dmaengine-5.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma

Pull dmaengine updates from Vinod Koul:
 "This time we have a bunch of core changes to support dynamic channels,
  hotplug of controllers, new apis for metadata ops etc along with new
  drivers for Intel data accelerators, TI K3 UDMA, PLX DMA engine and
  hisilicon Kunpeng DMA engine. Also usual assorted updates to drivers.

  Core:
   - Support for dynamic channels
   - Removal of various slave wrappers
   - Make few slave request APIs as private to dmaengine
   - Symlinks between channels and slaves
   - Support for hotplug of controllers
   - Support for metadata_ops for dma_async_tx_descriptor
   - Reporting DMA cached data amount
   - Virtual dma channel locking updates

  New drivers/device/feature support support:
   - Driver for Intel data accelerators
   - Driver for TI K3 UDMA
   - Driver for PLX DMA engine
   - Driver for hisilicon Kunpeng DMA engine
   - Support for eDMA support for QorIQ LS1028A in fsl edma driver
   - Support for cyclic dma in sun4i driver
   - Support for X1830 in JZ4780 driver"

* tag 'dmaengine-5.6-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (62 commits)
  dmaengine: Create symlinks between DMA channels and slaves
  dmaengine: hisilicon: Add Kunpeng DMA engine support
  dmaengine: idxd: add char driver to expose submission portal to userland
  dmaengine: idxd: connect idxd to dmaengine subsystem
  dmaengine: idxd: add descriptor manipulation routines
  dmaengine: idxd: add sysfs ABI for idxd driver
  dmaengine: idxd: add configuration component of driver
  dmaengine: idxd: Init and probe for Intel data accelerators
  dmaengine: add support to dynamic register/unregister of channels
  dmaengine: break out channel registration
  x86/asm: add iosubmit_cmds512() based on MOVDIR64B CPU instruction
  dmaengine: ti: k3-udma: fix spelling mistake "limted" -> "limited"
  dmaengine: s3c24xx-dma: fix spelling mistake "to" -> "too"
  dmaengine: Move dma_get_{,any_}slave_channel() to private dmaengine.h
  dmaengine: Remove dma_request_slave_channel_compat() wrapper
  dmaengine: Remove dma_device_satisfies_mask() wrapper
  dt-bindings: fsl-imx-sdma: Add i.MX8MM/i.MX8MN/i.MX8MP compatible string
  dmaengine: zynqmp_dma: fix burst length configuration
  dmaengine: sun4i: Add support for cyclic requests with dedicated DMA
  dmaengine: fsl-qdma: fix duplicated argument to &&
  ...
parents 715d1285 71723a96
Loading
Loading
Loading
Loading
+171 −0
Original line number Diff line number Diff line
What:           sys/bus/dsa/devices/dsa<m>/cdev_major
Date:           Oct 25, 2019
KernelVersion: 	5.6.0
Contact:        dmaengine@vger.kernel.org
Description:	The major number that the character device driver assigned to
		this device.

What:           sys/bus/dsa/devices/dsa<m>/errors
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The error information for this device.

What:           sys/bus/dsa/devices/dsa<m>/max_batch_size
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The largest number of work descriptors in a batch.

What:           sys/bus/dsa/devices/dsa<m>/max_work_queues_size
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The maximum work queue size supported by this device.

What:           sys/bus/dsa/devices/dsa<m>/max_engines
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The maximum number of engines supported by this device.

What:           sys/bus/dsa/devices/dsa<m>/max_groups
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The maximum number of groups can be created under this device.

What:           sys/bus/dsa/devices/dsa<m>/max_tokens
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The total number of bandwidth tokens supported by this device.
		The bandwidth tokens represent resources within the DSA
		implementation, and these resources are allocated by engines to
		support operations.

What:           sys/bus/dsa/devices/dsa<m>/max_transfer_size
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The number of bytes to be read from the source address to
		perform the operation. The maximum transfer size is dependent on
		the workqueue the descriptor was submitted to.

What:           sys/bus/dsa/devices/dsa<m>/max_work_queues
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The maximum work queue number that this device supports.

What:           sys/bus/dsa/devices/dsa<m>/numa_node
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The numa node number for this device.

What:           sys/bus/dsa/devices/dsa<m>/op_cap
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The operation capability bit mask specify the operation types
		supported by the this device.

What:           sys/bus/dsa/devices/dsa<m>/state
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The state information of this device. It can be either enabled
		or disabled.

What:           sys/bus/dsa/devices/dsa<m>/group<m>.<n>
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The assigned group under this device.

What:           sys/bus/dsa/devices/dsa<m>/engine<m>.<n>
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The assigned engine under this device.

What:           sys/bus/dsa/devices/dsa<m>/wq<m>.<n>
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The assigned work queue under this device.

What:           sys/bus/dsa/devices/dsa<m>/configurable
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    To indicate if this device is configurable or not.

What:           sys/bus/dsa/devices/dsa<m>/token_limit
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The maximum number of bandwidth tokens that may be in use at
		one time by operations that access low bandwidth memory in the
		device.

What:           sys/bus/dsa/devices/wq<m>.<n>/group_id
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The group id that this work queue belongs to.

What:           sys/bus/dsa/devices/wq<m>.<n>/size
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The work queue size for this work queue.

What:           sys/bus/dsa/devices/wq<m>.<n>/type
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The type of this work queue, it can be "kernel" type for work
		queue usages in the kernel space or "user" type for work queue
		usages by applications in user space.

What:           sys/bus/dsa/devices/wq<m>.<n>/cdev_minor
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The minor number assigned to this work queue by the character
		device driver.

What:           sys/bus/dsa/devices/wq<m>.<n>/mode
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The work queue mode type for this work queue.

What:           sys/bus/dsa/devices/wq<m>.<n>/priority
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The priority value of this work queue, it is a vlue relative to
		other work queue in the same group to control quality of service
		for dispatching work from multiple workqueues in the same group.

What:           sys/bus/dsa/devices/wq<m>.<n>/state
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The current state of the work queue.

What:           sys/bus/dsa/devices/wq<m>.<n>/threshold
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The number of entries in this work queue that may be filled
		via a limited portal.

What:           sys/bus/dsa/devices/engine<m>.<n>/group_id
Date:           Oct 25, 2019
KernelVersion:  5.6.0
Contact:        dmaengine@vger.kernel.org
Description:    The group that this engine belongs to.
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ Required properties:
- compatible :
	- "fsl,vf610-edma" for eDMA used similar to that on Vybrid vf610 SoC
	- "fsl,imx7ulp-edma" for eDMA2 used similar to that on i.mx7ulp
	- "fsl,fsl,ls1028a-edma" for eDMA used similar to that on Vybrid vf610 SoC
- reg : Specifies base physical address(s) and size of the eDMA registers.
	The 1st region is eDMA control register's address and size.
	The 2nd and the 3rd regions are programmable channel multiplexing
+3 −0
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@ Required properties:
      "fsl,imx6q-sdma"
      "fsl,imx7d-sdma"
      "fsl,imx8mq-sdma"
      "fsl,imx8mm-sdma"
      "fsl,imx8mn-sdma"
      "fsl,imx8mp-sdma"
  The -to variants should be preferred since they allow to determine the
  correct ROM script addresses needed for the driver to work without additional
  firmware.
+4 −2
Original line number Diff line number Diff line
* Ingenic JZ4780 DMA Controller
* Ingenic XBurst DMA Controller

Required properties:

@@ -8,10 +8,12 @@ Required properties:
  * ingenic,jz4770-dma
  * ingenic,jz4780-dma
  * ingenic,x1000-dma
  * ingenic,x1830-dma
- reg: Should contain the DMA channel registers location and length, followed
  by the DMA controller registers location and length.
- interrupts: Should contain the interrupt specifier of the DMA controller.
- clocks: Should contain a clock specifier for the JZ4780/X1000 PDMA clock.
- clocks: Should contain a clock specifier for the JZ4780/X1000/X1830 PDMA
  clock.
- #dma-cells: Must be <2>. Number of integer cells in the dmas property of
  DMA clients (see below).

+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ Required Properties:
		- "renesas,dmac-r8a7794" (R-Car E2)
		- "renesas,dmac-r8a7795" (R-Car H3)
		- "renesas,dmac-r8a7796" (R-Car M3-W)
		- "renesas,dmac-r8a77961" (R-Car M3-W+)
		- "renesas,dmac-r8a77965" (R-Car M3-N)
		- "renesas,dmac-r8a77970" (R-Car V3M)
		- "renesas,dmac-r8a77980" (R-Car V3H)
Loading