Commit 7994beab authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull dmaengine updates from Vinod Koul:
 "New support:

   - Apple admac t8112 device support

   - StarFive JH7110 DMA controller

  Updates:

   - Big pile of idxd updates to support IAA 2.0 device capabilities,
     DSA 2.0 Event Log and completion record faulting features and
     new DSA operations

   - at_xdmac supend & resume updates and driver code cleanup

   - k3-udma supend & resume support

   - k3-psil thread support for J784s4"

* tag 'dmaengine-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (57 commits)
  dmaengine: idxd: add per wq PRS disable
  dmaengine: idxd: add pid to exported sysfs attribute for opened file
  dmaengine: idxd: expose fault counters to sysfs
  dmaengine: idxd: add a device to represent the file opened
  dmaengine: idxd: add per file user counters for completion record faults
  dmaengine: idxd: process batch descriptor completion record faults
  dmaengine: idxd: add descs_completed field for completion record
  dmaengine: idxd: process user page faults for completion record
  dmaengine: idxd: add idxd_copy_cr() to copy user completion record during page fault handling
  dmaengine: idxd: create kmem cache for event log fault items
  dmaengine: idxd: add per DSA wq workqueue for processing cr faults
  dmanegine: idxd: add debugfs for event log dump
  dmaengine: idxd: add interrupt handling for event log
  dmaengine: idxd: setup event log configuration
  dmaengine: idxd: add event log size sysfs attribute
  dmaengine: idxd: make misc interrupt one shot
  dt-bindings: dma: snps,dw-axi-dmac: constrain the items of resets for JH7110 dma
  dt-bindings: dma: Drop unneeded quotes
  dmaengine: at_xdmac: align declaration of ret with the rest of variables
  dmaengine: at_xdmac: add a warning message regarding for unpaused channels
  ...
parents 29ee463d f2dc3271
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
@@ -136,6 +136,22 @@ Description: The last executed device administrative command's status/error.
		Also last configuration error overloaded.
		Writing to it will clear the status.

What:		/sys/bus/dsa/devices/dsa<m>/iaa_cap
Date:		Sept 14, 2022
KernelVersion: 6.0.0
Contact:	dmaengine@vger.kernel.org
Description:	IAA (IAX) capability mask. Exported to user space for application
		consumption. This attribute should only be visible on IAA devices
		that are version 2 or later.

What:		/sys/bus/dsa/devices/dsa<m>/event_log_size
Date:		Sept 14, 2022
KernelVersion: 6.4.0
Contact:	dmaengine@vger.kernel.org
Description:	The event log size to be configured. Default is 64 entries and
		occupies 4k size if the evl entry is 64 bytes. It's visible
		only on platforms that support the capability.

What:		/sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
Date:		Oct 27, 2020
KernelVersion:	5.11.0
@@ -219,6 +235,16 @@ Contact: dmaengine@vger.kernel.org
Description:	Indicate whether ATS disable is turned on for the workqueue.
		0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.

What:		/sys/bus/dsa/devices/wq<m>.<n>/prs_disable
Date:		Sept 14, 2022
KernelVersion: 6.4.0
Contact:	dmaengine@vger.kernel.org
Description:	Controls whether PRS disable is turned on for the workqueue.
		0 indicates PRS is on, and 1 indicates PRS is off for the
		workqueue. This option overrides block_on_fault attribute
		if set. It's visible only on platforms that support the
		capability.

What:		/sys/bus/dsa/devices/wq<m>.<n>/occupancy
Date		May 25, 2021
KernelVersion:	5.14.0
@@ -302,3 +328,28 @@ Description: Allows control of the number of batch descriptors that can be
		1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
		the max value). It's visible only on platforms that support
		the capability.

What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_faults
Date:		Sept 14, 2022
KernelVersion:	6.4.0
Contact:	dmaengine@vger.kernel.org
Description:	Show the number of Completion Record (CR) faults this application
		has caused.

What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_fault_failures
Date:		Sept 14, 2022
KernelVersion:	6.4.0
Contact:	dmaengine@vger.kernel.org
Description:	Show the number of Completion Record (CR) faults failures that this
		application has caused. The failure counter is incremented when the
		driver cannot fault in the address for the CR. Typically this is caused
		by a bad address programmed in the submitted descriptor or a malicious
		submitter is using bad CR address on purpose.

What:		/sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/pid
Date:		Sept 14, 2022
KernelVersion:	6.4.0
Contact:	dmaengine@vger.kernel.org
Description:	Show the process id of the application that opened the file. This is
		helpful information for a monitor daemon that wants to kill the
		application that opened the file.
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ properties:
      - enum:
          - apple,t6000-admac
          - apple,t8103-admac
          - apple,t8112-admac
      - const: apple,admac

  reg:
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ properties:
          - qcom,sm6350-gpi-dma
      - items:
          - enum:
              - qcom,qcm2290-gpi-dma
              - qcom,qdu1000-gpi-dma
              - qcom,sc7280-gpi-dma
              - qcom,sm6115-gpi-dma
+14 −0
Original line number Diff line number Diff line
@@ -54,6 +54,11 @@ properties:
      - description: DMA main clock
      - description: DMA register access clock

  clock-names:
    items:
      - const: main
      - const: register

  '#dma-cells':
    const: 1
    description:
@@ -77,16 +82,23 @@ properties:
      - description: Reset for DMA ARESETN reset terminal
      - description: Reset for DMA RST_ASYNC reset terminal

  reset-names:
    items:
      - const: arst
      - const: rst_async

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - clock-names
  - '#dma-cells'
  - dma-channels
  - power-domains
  - resets
  - reset-names

additionalProperties: false

@@ -124,9 +136,11 @@ examples:
                          "ch12", "ch13", "ch14", "ch15";
        clocks = <&cpg CPG_MOD R9A07G044_DMAC_ACLK>,
                 <&cpg CPG_MOD R9A07G044_DMAC_PCLK>;
        clock-names = "main", "register";
        power-domains = <&cpg>;
        resets = <&cpg R9A07G044_DMAC_ARESETN>,
                 <&cpg R9A07G044_DMAC_RST_ASYNC>;
        reset-names = "arst", "rst_async";
        #dma-cells = <1>;
        dma-channels = <16>;
    };
+22 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ properties:
    enum:
      - snps,axi-dma-1.01a
      - intel,kmb-axi-dma
      - starfive,jh7110-axi-dma

  reg:
    minItems: 1
@@ -58,7 +59,8 @@ properties:
    maximum: 8

  resets:
    maxItems: 1
    minItems: 1
    maxItems: 2

  snps,dma-masters:
    description: |
@@ -109,6 +111,25 @@ required:
  - snps,priority
  - snps,block-size

if:
  properties:
    compatible:
      contains:
        enum:
          - starfive,jh7110-axi-dma
then:
  properties:
    resets:
      minItems: 2
      items:
        - description: AXI reset line
        - description: AHB reset line
        - description: module reset
else:
  properties:
    resets:
      maxItems: 1

additionalProperties: false

examples:
Loading