forked from mirrors/linux
		
	- Add support in dmaengine core to do device node checks for DT devices and
    update bunch of drivers to use that and remove open coding from drivers
  - New driver/driver support for new hardware, namely:
    - MediaTek UART APDMA
    - Freescale i.mx7ulp edma2
    - Synopsys eDMA IP core version 0
    - Allwinner H6 DMA
  - Updates to axi-dma and support for interleaved cyclic transfers
  - Greg's debugfs return value check removals on drivers
  - Updates to stm32-dma, hsu, dw, pl330, tegra drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJdLKxYAAoJEHwUBw8lI4NHsH8P/AqYZpUlLthe5L4qItzM1Uf0
 HqxsJYs0xworjSRml8uptx/TzjIgJnJfEk2PV5VA+0zJNz/HnH7lDH85wKDx1Ydl
 AatUuyAFRO3GZOup/hY0AEIPhoIMdg/3zS2aapjJmaEZCVK2eVKmcj0KMvO5g0cw
 tsmXm3O0xd2Na1ToslNyYgFfCn8ortuAeoKiXJxhivMbGjRfw4LW/RPgS17Vspvh
 mEuxNXFWAZ+DorgPF5BmDPZ+LXcGgCXGNIoj64W+VHaXU5yXnlky+6/0f7cEcFEd
 yl3hjXVwyAq5zIItIOmiuozZidi5yfoizXg4S2ZD3P4xXKZ5OZ9Gf/0SMyXUIErU
 pwGxo6ZgsBcEpAHtqySELQedttttID+jYYeWU6oDr2LOy3W3F7AHOEGg9l9ZllLh
 gRdIoz3PrMK1wy/9Ytl37xklZyBk+HJLkeoIAvjrNgNJ1YRKqcysUCwsmqO7SG3N
 HnIGx74sG8ChljT/yX5pElq3ip6qLdb4pJcsfxKJ9VSxsTZ3JNINGNQtvI19hKR/
 6sn/c1Rb5/S1WxINGr+2FxChxXF8OESCN6GIEu6mNYVBzQnNPzwgPxfAGCqdoOOH
 mqXXgYNePMaBGYXBkdgvP1CnqenRRmTYo/1L4QmI4Mve4xpd5zhx5cZt9FlQJ2Im
 /hVT8gZ6bIrutsVOy4rg
 =R+aC
 -----END PGP SIGNATURE-----
Merge tag 'dmaengine-5.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine updates from Vinod Koul:
 - Add support in dmaengine core to do device node checks for DT devices
   and update bunch of drivers to use that and remove open coding from
   drivers
 - New driver/driver support for new hardware, namely:
     - MediaTek UART APDMA
     - Freescale i.mx7ulp edma2
     - Synopsys eDMA IP core version 0
     - Allwinner H6 DMA
 - Updates to axi-dma and support for interleaved cyclic transfers
 - Greg's debugfs return value check removals on drivers
 - Updates to stm32-dma, hsu, dw, pl330, tegra drivers
* tag 'dmaengine-5.3-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (68 commits)
  dmaengine: Revert "dmaengine: fsl-edma: add i.mx7ulp edma2 version support"
  dmaengine: at_xdmac: check for non-empty xfers_list before invoking callback
  Documentation: dmaengine: clean up description of dmatest usage
  dmaengine: tegra210-adma: remove PM_CLK dependency
  dmaengine: fsl-edma: add i.mx7ulp edma2 version support
  dt-bindings: dma: fsl-edma: add new i.mx7ulp-edma
  dmaengine: fsl-edma-common: version check for v2 instead
  dmaengine: fsl-edma-common: move dmamux register to another single function
  dmaengine: fsl-edma: add drvdata for fsl-edma
  dmaengine: Revert "dmaengine: fsl-edma: support little endian for edma driver"
  dmaengine: rcar-dmac: Reject zero-length slave DMA requests
  dmaengine: dw: Enable iDMA 32-bit on Intel Elkhart Lake
  dmaengine: dw-edma: fix semicolon.cocci warnings
  dmaengine: sh: usb-dmac: Use [] to denote a flexible array member
  dmaengine: dmatest: timeout value of -1 should specify infinite wait
  dmaengine: dw: Distinguish ->remove() between DW and iDMA 32-bit
  dmaengine: fsl-edma: support little endian for edma driver
  dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width"
  dmagengine: pl330: add code to get reset property
  dt-bindings: pl330: document the optional resets property
  ...
		
	
			
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0-only */
 | 
						|
/*
 | 
						|
 * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __ASM_ARCH_MXC_DMA_H__
 | 
						|
#define __ASM_ARCH_MXC_DMA_H__
 | 
						|
 | 
						|
#include <linux/scatterlist.h>
 | 
						|
#include <linux/device.h>
 | 
						|
#include <linux/dmaengine.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * This enumerates peripheral types. Used for SDMA.
 | 
						|
 */
 | 
						|
enum sdma_peripheral_type {
 | 
						|
	IMX_DMATYPE_SSI,	/* MCU domain SSI */
 | 
						|
	IMX_DMATYPE_SSI_SP,	/* Shared SSI */
 | 
						|
	IMX_DMATYPE_MMC,	/* MMC */
 | 
						|
	IMX_DMATYPE_SDHC,	/* SDHC */
 | 
						|
	IMX_DMATYPE_UART,	/* MCU domain UART */
 | 
						|
	IMX_DMATYPE_UART_SP,	/* Shared UART */
 | 
						|
	IMX_DMATYPE_FIRI,	/* FIRI */
 | 
						|
	IMX_DMATYPE_CSPI,	/* MCU domain CSPI */
 | 
						|
	IMX_DMATYPE_CSPI_SP,	/* Shared CSPI */
 | 
						|
	IMX_DMATYPE_SIM,	/* SIM */
 | 
						|
	IMX_DMATYPE_ATA,	/* ATA */
 | 
						|
	IMX_DMATYPE_CCM,	/* CCM */
 | 
						|
	IMX_DMATYPE_EXT,	/* External peripheral */
 | 
						|
	IMX_DMATYPE_MSHC,	/* Memory Stick Host Controller */
 | 
						|
	IMX_DMATYPE_MSHC_SP,	/* Shared Memory Stick Host Controller */
 | 
						|
	IMX_DMATYPE_DSP,	/* DSP */
 | 
						|
	IMX_DMATYPE_MEMORY,	/* Memory */
 | 
						|
	IMX_DMATYPE_FIFO_MEMORY,/* FIFO type Memory */
 | 
						|
	IMX_DMATYPE_SPDIF,	/* SPDIF */
 | 
						|
	IMX_DMATYPE_IPU_MEMORY,	/* IPU Memory */
 | 
						|
	IMX_DMATYPE_ASRC,	/* ASRC */
 | 
						|
	IMX_DMATYPE_ESAI,	/* ESAI */
 | 
						|
	IMX_DMATYPE_SSI_DUAL,	/* SSI Dual FIFO */
 | 
						|
	IMX_DMATYPE_ASRC_SP,	/* Shared ASRC */
 | 
						|
	IMX_DMATYPE_SAI,	/* SAI */
 | 
						|
};
 | 
						|
 | 
						|
enum imx_dma_prio {
 | 
						|
	DMA_PRIO_HIGH = 0,
 | 
						|
	DMA_PRIO_MEDIUM = 1,
 | 
						|
	DMA_PRIO_LOW = 2
 | 
						|
};
 | 
						|
 | 
						|
struct imx_dma_data {
 | 
						|
	int dma_request; /* DMA request line */
 | 
						|
	int dma_request2; /* secondary DMA request line */
 | 
						|
	enum sdma_peripheral_type peripheral_type;
 | 
						|
	int priority;
 | 
						|
};
 | 
						|
 | 
						|
static inline int imx_dma_is_ipu(struct dma_chan *chan)
 | 
						|
{
 | 
						|
	return !strcmp(dev_name(chan->device->dev), "ipu-core");
 | 
						|
}
 | 
						|
 | 
						|
static inline int imx_dma_is_general_purpose(struct dma_chan *chan)
 | 
						|
{
 | 
						|
	return !strcmp(chan->device->dev->driver->name, "imx-sdma") ||
 | 
						|
		!strcmp(chan->device->dev->driver->name, "imx-dma");
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |