Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9bb67696 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (28 commits)
  ioat: cleanup ->timer_fn() and ->cleanup_fn() prototypes
  ioat3: interrupt coalescing
  ioat: close potential BUG_ON race in the descriptor cleanup path
  ioat2: kill pending flag
  ioat3: use ioat2_quiesce()
  ioat3: cleanup, don't enable DCA completion writes
  DMAENGINE: COH 901 318 lli sg offset fix
  DMAENGINE: COH 901 318 configure channel direction
  DMAENGINE: COH 901 318 remove irq counting
  DMAENGINE: COH 901 318 descriptor pool refactoring
  DMAENGINE: COH 901 318 cleanups
  dma: Add MPC512x DMA driver
  Debugging options for the DMA engine subsystem
  iop-adma: redundant/wrong tests in iop_*_count()?
  dmatest: fix handling of an even number of xor_sources
  dmatest: correct raid6 PQ test
  fsldma: Fix cookie issues
  fsldma: Fix cookie issues
  dma: cases IPU_PIX_FMT_BGRA32, BGR32 and ABGR32 are the same in ipu_ch_param_set_size()
  dma: make Open Firmware device id constant
  ...
parents 0f2cc4ec dd58ffcf
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -44,21 +44,29 @@ Example:
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			cell-index = <0>;
			cell-index = <0>;
			reg = <0 0x80>;
			reg = <0 0x80>;
			interrupt-parent = <&ipic>;
			interrupts = <71 8>;
		};
		};
		dma-channel@80 {
		dma-channel@80 {
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			cell-index = <1>;
			cell-index = <1>;
			reg = <0x80 0x80>;
			reg = <0x80 0x80>;
			interrupt-parent = <&ipic>;
			interrupts = <71 8>;
		};
		};
		dma-channel@100 {
		dma-channel@100 {
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			cell-index = <2>;
			cell-index = <2>;
			reg = <0x100 0x80>;
			reg = <0x100 0x80>;
			interrupt-parent = <&ipic>;
			interrupts = <71 8>;
		};
		};
		dma-channel@180 {
		dma-channel@180 {
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			compatible = "fsl,mpc8349-dma-channel", "fsl,elo-dma-channel";
			cell-index = <3>;
			cell-index = <3>;
			reg = <0x180 0x80>;
			reg = <0x180 0x80>;
			interrupt-parent = <&ipic>;
			interrupts = <71 8>;
		};
		};
	};
	};


+4 −8
Original line number Original line Diff line number Diff line
@@ -366,7 +366,6 @@ static inline int iop_chan_xor_slot_count(size_t len, int src_cnt,
		slot_cnt += *slots_per_op;
		slot_cnt += *slots_per_op;
	}
	}


	if (len)
	slot_cnt += *slots_per_op;
	slot_cnt += *slots_per_op;


	return slot_cnt;
	return slot_cnt;
@@ -389,7 +388,6 @@ static inline int iop_chan_zero_sum_slot_count(size_t len, int src_cnt,
		slot_cnt += *slots_per_op;
		slot_cnt += *slots_per_op;
	}
	}


	if (len)
	slot_cnt += *slots_per_op;
	slot_cnt += *slots_per_op;


	return slot_cnt;
	return slot_cnt;
@@ -737,12 +735,10 @@ iop_desc_set_zero_sum_byte_count(struct iop_adma_desc_slot *desc, u32 len)
			i += slots_per_op;
			i += slots_per_op;
		} while (len > IOP_ADMA_ZERO_SUM_MAX_BYTE_COUNT);
		} while (len > IOP_ADMA_ZERO_SUM_MAX_BYTE_COUNT);


		if (len) {
		iter = iop_hw_desc_slot_idx(hw_desc, i);
		iter = iop_hw_desc_slot_idx(hw_desc, i);
		iter->byte_count = len;
		iter->byte_count = len;
	}
	}
}
}
}


static inline void iop_desc_set_dest_addr(struct iop_adma_desc_slot *desc,
static inline void iop_desc_set_dest_addr(struct iop_adma_desc_slot *desc,
					struct iop_adma_chan *chan,
					struct iop_adma_chan *chan,
+1 −1
Original line number Original line Diff line number Diff line
@@ -53,7 +53,7 @@ struct coh901318_params {
 * struct coh_dma_channel - dma channel base
 * struct coh_dma_channel - dma channel base
 * @name: ascii name of dma channel
 * @name: ascii name of dma channel
 * @number: channel id number
 * @number: channel id number
 * @desc_nbr_max: number of preallocated descriptortors
 * @desc_nbr_max: number of preallocated descriptors
 * @priority_high: prio of channel, 0 low otherwise high.
 * @priority_high: prio of channel, 0 low otherwise high.
 * @param: configuration parameters
 * @param: configuration parameters
 * @dev_addr: physical address of periphal connected to channel
 * @dev_addr: physical address of periphal connected to channel
+23 −0
Original line number Original line Diff line number Diff line
@@ -13,6 +13,22 @@ menuconfig DMADEVICES
	  DMA Device drivers supported by the configured arch, it may
	  DMA Device drivers supported by the configured arch, it may
	  be empty in some cases.
	  be empty in some cases.


config DMADEVICES_DEBUG
        bool "DMA Engine debugging"
        depends on DMADEVICES != n
        help
          This is an option for use by developers; most people should
          say N here.  This enables DMA engine core and driver debugging.

config DMADEVICES_VDEBUG
        bool "DMA Engine verbose debugging"
        depends on DMADEVICES_DEBUG != n
        help
          This is an option for use by developers; most people should
          say N here.  This enables deeper (more verbose) debugging of
          the DMA engine core and drivers.


if DMADEVICES
if DMADEVICES


comment "DMA Devices"
comment "DMA Devices"
@@ -69,6 +85,13 @@ config FSL_DMA
	  The Elo is the DMA controller on some 82xx and 83xx parts, and the
	  The Elo is the DMA controller on some 82xx and 83xx parts, and the
	  Elo Plus is the DMA controller on 85xx and 86xx parts.
	  Elo Plus is the DMA controller on 85xx and 86xx parts.


config MPC512X_DMA
	tristate "Freescale MPC512x built-in DMA engine support"
	depends on PPC_MPC512x
	select DMA_ENGINE
	---help---
	  Enable support for the Freescale MPC512x built-in DMA engine.

config MV_XOR
config MV_XOR
	bool "Marvell XOR engine support"
	bool "Marvell XOR engine support"
	depends on PLAT_ORION
	depends on PLAT_ORION
+8 −0
Original line number Original line Diff line number Diff line
ifeq ($(CONFIG_DMADEVICES_DEBUG),y)
	EXTRA_CFLAGS	+= -DDEBUG
endif
ifeq ($(CONFIG_DMADEVICES_VDEBUG),y)
	EXTRA_CFLAGS	+= -DVERBOSE_DEBUG
endif

obj-$(CONFIG_DMA_ENGINE) += dmaengine.o
obj-$(CONFIG_DMA_ENGINE) += dmaengine.o
obj-$(CONFIG_NET_DMA) += iovlock.o
obj-$(CONFIG_NET_DMA) += iovlock.o
obj-$(CONFIG_DMATEST) += dmatest.o
obj-$(CONFIG_DMATEST) += dmatest.o
obj-$(CONFIG_INTEL_IOATDMA) += ioat/
obj-$(CONFIG_INTEL_IOATDMA) += ioat/
obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o
obj-$(CONFIG_INTEL_IOP_ADMA) += iop-adma.o
obj-$(CONFIG_FSL_DMA) += fsldma.o
obj-$(CONFIG_FSL_DMA) += fsldma.o
obj-$(CONFIG_MPC512X_DMA) += mpc512x_dma.o
obj-$(CONFIG_MV_XOR) += mv_xor.o
obj-$(CONFIG_MV_XOR) += mv_xor.o
obj-$(CONFIG_DW_DMAC) += dw_dmac.o
obj-$(CONFIG_DW_DMAC) += dw_dmac.o
obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
obj-$(CONFIG_AT_HDMAC) += at_hdmac.o
Loading