Commit f065199d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull dmaengine updates from Vinod Koul:
 "Core:

   - Mark dma_request_slave_channel() deprecated in favour of
     dma_request_chan()

   - subsystem conversion for tasklet_setup() API

   - subsystem removal of local dma_parms for arm drivers

  Also updates to bunch of driver notably TI, DW and AXI-DMAC"

* tag 'dmaengine-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine: (104 commits)
  dmaengine: owl-dma: fix kernel-doc style for enum
  dmaengine: zynqmp_dma: fix kernel-doc style for tasklet
  dmaengine: xilinx_dma: fix kernel-doc style for tasklet
  dmaengine: qcom: bam_dma: fix kernel-doc style for tasklet
  dmaengine: altera-msgdma: fix kernel-doc style for tasklet
  dmaengine: xilinx: dpdma: convert tasklets to use new tasklet_setup() API
  dmaengine: sf-pdma: convert tasklets to use new tasklet_setup() API
  dt-bindings: Fix 'reg' size issues in zynqmp examples
  dmaengine: rcar-dmac: drop double zeroing
  dmaengine: sh: drop double zeroing
  dmaengine: ioat: Allocate correct size for descriptor chunk
  dmaengine: ti: k3-udma: use devm_platform_ioremap_resource_byname
  dmaengine: fsl: remove bad channel update
  dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status
  dmaengine: pl330: fix argument for tasklet
  dmaengine: dmatest: Return boolean result directly in filter()
  dmaengine: dmatest: Check list for emptiness before access its last entry
  dmaengine: ti: k3-udma-glue: fix channel enable functions
  dmaengine: iop-adma: Fix pointer cast warnings
  dmaengine: dw-edma: Fix Using plain integer as NULL pointer in dw-edma-v0-debugfs.c
  ...
parents c48b75b7 fc143e38
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -116,6 +116,12 @@ 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/dsa<m>/cmd_status
Date:		Aug 28, 2020
KernelVersion:	5.10.0
Contact:	dmaengine@vger.kernel.org
Description:	The last executed device administrative command's status/error.

What:           /sys/bus/dsa/devices/wq<m>.<n>/group_id
Date:           Oct 25, 2019
KernelVersion:  5.6.0
@@ -170,6 +176,20 @@ 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/wq<m>.<n>/max_transfer_size
Date:		Aug 28, 2020
KernelVersion:	5.10.0
Contact:	dmaengine@vger.kernel.org
Description:	The max transfer sized for this workqueue. Cannot exceed device
		max transfer size. Configurable parameter.

What:		/sys/bus/dsa/devices/wq<m>.<n>/max_batch_size
Date:		Aug 28, 2020
KernelVersion:	5.10.0
Contact:	dmaengine@vger.kernel.org
Description:	The max batch size for this workqueue. Cannot exceed device
		max batch size. Configurable parameter.

What:           /sys/bus/dsa/devices/engine<m>.<n>/group_id
Date:           Oct 25, 2019
KernelVersion:  5.6.0
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ properties:
  compatible:
    items:
      - enum:
          - renesas,dmac-r8a7742  # RZ/G1H
          - renesas,dmac-r8a7743  # RZ/G1M
          - renesas,dmac-r8a7744  # RZ/G1N
          - renesas,dmac-r8a7745  # RZ/G1E
+5 −2
Original line number Diff line number Diff line
@@ -18,12 +18,15 @@ properties:
    const: snps,dma-spear1340

  "#dma-cells":
    const: 3
    minimum: 3
    maximum: 4
    description: |
      First cell is a phandle pointing to the DMA controller. Second one is
      the DMA request line number. Third cell is the memory master identifier
      for transfers on dynamically allocated channel. Fourth cell is the
      peripheral master identifier for transfers on an allocated channel.
      peripheral master identifier for transfers on an allocated channel. Fifth
      cell is an optional mask of the DMA channels permitted to be allocated
      for the corresponding client device.

  reg:
    maxItems: 1
+4 −4
Original line number Diff line number Diff line
@@ -678,11 +678,11 @@ static int msgdma_alloc_chan_resources(struct dma_chan *dchan)

/**
 * msgdma_tasklet - Schedule completion tasklet
 * @data: Pointer to the Altera sSGDMA channel structure
 * @t: Pointer to the Altera sSGDMA channel structure
 */
static void msgdma_tasklet(unsigned long data)
static void msgdma_tasklet(struct tasklet_struct *t)
{
	struct msgdma_device *mdev = (struct msgdma_device *)data;
	struct msgdma_device *mdev = from_tasklet(mdev, t, irq_tasklet);
	u32 count;
	u32 __maybe_unused size;
	u32 __maybe_unused status;
@@ -830,7 +830,7 @@ static int msgdma_probe(struct platform_device *pdev)
	if (ret)
		return ret;

	tasklet_init(&mdev->irq_tasklet, msgdma_tasklet, (unsigned long)mdev);
	tasklet_setup(&mdev->irq_tasklet, msgdma_tasklet);

	dma_cookie_init(&mdev->dmachan);

+3 −4
Original line number Diff line number Diff line
@@ -598,9 +598,9 @@ static void atc_handle_cyclic(struct at_dma_chan *atchan)

/*--  IRQ & Tasklet  ---------------------------------------------------*/

static void atc_tasklet(unsigned long data)
static void atc_tasklet(struct tasklet_struct *t)
{
	struct at_dma_chan *atchan = (struct at_dma_chan *)data;
	struct at_dma_chan *atchan = from_tasklet(atchan, t, tasklet);

	if (test_and_clear_bit(ATC_IS_ERROR, &atchan->status))
		return atc_handle_error(atchan);
@@ -1892,8 +1892,7 @@ static int __init at_dma_probe(struct platform_device *pdev)
		INIT_LIST_HEAD(&atchan->queue);
		INIT_LIST_HEAD(&atchan->free_list);

		tasklet_init(&atchan->tasklet, atc_tasklet,
				(unsigned long)atchan);
		tasklet_setup(&atchan->tasklet, atc_tasklet);
		atc_enable_chan_irq(atdma, i);
	}

Loading