2006-05-23 17:18:44 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2007-11-28 16:21:43 -08:00
|
|
|
|
2009-06-03 14:22:28 -07:00
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2007-11-28 16:21:43 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-27 01:21:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2010-02-09 22:34:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-11 14:04:21 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2014-07-11 14:04:21 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-09-08 17:42:51 -07:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-07 14:11:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-28 15:57:37 +02:00
|
|
|
|
|
|
|
|
|
2012-10-23 13:01:54 -07:00
|
|
|
|
2010-09-28 15:57:37 +02:00
|
|
|
|
2012-05-26 14:09:53 +01:00
|
|
|
|
2010-09-28 15:57:37 +02:00
|
|
|
|
2017-05-20 23:42:53 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-28 15:57:37 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2013-12-09 10:33:16 -08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2010-10-07 16:44:50 -07:00
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2009-07-03 19:24:33 +02:00
|
|
|
|
|
|
|
|
|
2012-03-15 11:31:58 +01:00
|
|
|
|
2009-07-03 19:24:33 +02:00
|
|
|
|
|
|
|
|
|
2012-03-15 11:31:58 +01:00
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2014-10-22 17:22:18 +02:00
|
|
|
|
|
|
|
|
|
2014-11-13 11:52:39 +01:00
|
|
|
|
2014-10-22 17:22:18 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-23 17:18:44 -07:00
|
|
|
|
2017-05-15 10:34:54 +05:30
|
|
|
|
|
|
|
|
|
2017-05-18 15:25:25 +02:00
|
|
|
|
|
|
|
|
|
2017-05-15 10:34:54 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-03 10:53:00 +05:30
|
|
|
|
2017-05-15 10:34:54 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-02 15:29:49 +05:30
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-02 15:25:11 +05:30
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-02 15:27:20 +05:30
|
|
|
|
2015-07-27 18:04:02 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-07-27 18:04:02 +03:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-09-02 15:31:42 +05:30
|
|
|
|
2009-07-03 19:24:33 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-07-03 19:24:33 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-07-03 19:24:33 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2015-09-04 11:10:18 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2014-10-22 17:22:18 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2014-10-22 17:22:18 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-29 10:33:29 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-03-06 14:46:14 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-09-02 15:38:43 +05:30
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-10-22 17:22:18 +02:00
|
|
|
|
2008-03-01 07:42:48 -07:00
|
|
|
|
2013-09-26 17:33:43 +08:00
|
|
|
|
2008-09-26 17:00:11 -07:00
|
|
|
|
2008-03-01 07:42:48 -07:00
|
|
|
|
2010-10-07 16:44:50 -07:00
|
|
|
|
2008-03-01 07:42:48 -07:00
|
|
|
|
2013-09-26 17:33:43 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-03-01 07:42:48 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-03 14:26:22 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-05 03:42:52 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-12 17:52:45 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2011-08-24 08:41:09 +02:00
|
|
|
|
2008-07-08 11:58:36 -07:00
|
|
|
|
i.MX31: Image Processing Unit DMA and IRQ drivers
i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.
IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-19 15:36:21 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2008-07-08 11:58:36 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2011-08-24 08:41:09 +02:00
|
|
|
|
i.MX31: Image Processing Unit DMA and IRQ drivers
i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.
IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-19 15:36:21 -07:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
i.MX31: Image Processing Unit DMA and IRQ drivers
i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.
IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-19 15:36:21 -07:00
|
|
|
|
2015-09-21 22:18:45 +05:30
|
|
|
|
2015-09-04 11:10:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i.MX31: Image Processing Unit DMA and IRQ drivers
i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.
IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-19 15:36:21 -07:00
|
|
|
|
2015-09-04 11:10:18 -07:00
|
|
|
|
|
|
|
|
|
i.MX31: Image Processing Unit DMA and IRQ drivers
i.MX3x SoCs contain an Image Processing Unit, consisting of a Control
Module (CM), Display Interface (DI), Synchronous Display Controller (SDC),
Asynchronous Display Controller (ADC), Image Converter (IC), Post-Filter
(PF), Camera Sensor Interface (CSI), and an Image DMA Controller (IDMAC).
CM contains, among other blocks, an Interrupt Generator (IG) and a Clock
and Reset Control Unit (CRCU). This driver serves IDMAC and IG. They are
supported over dmaengine and irq-chip APIs respectively.
IDMAC is a specialised DMA controller, its DMA channels cannot be used for
general-purpose operations, even though it might be possible to configure
a memory-to-memory channel for memcpy operation. This driver will not work
with generic dmaengine clients, clients, wishing to use it must use
respective wrapper structures, they also must specify which channels they
require, as channels are hard-wired to specific IPU functions.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Guennadi Liakhovetski <lg@denx.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2009-01-19 15:36:21 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dmaengine: pxa: add pxa dmaengine driver
This is a new driver for pxa SoCs, which is also compatible with the former
mmp_pdma.
The rationale behind a new driver (as opposed to incremental patching) was :
- the new driver relies on virt-dma, which obsoletes all the internal
structures of mmp_pdma (sw_desc, hw_desc, ...), and by consequence all the
functions
- mmp_pdma allocates dma coherent descriptors containing not only hardware
descriptors but linked list information
The new driver only puts the dma hardware descriptors (ie. 4 u32) into the
dma pool allocated memory. This changes completely the way descriptors are
handled
- the architecture behind the interrupt/tasklet management was rewritten to be
more conforming to virt-dma
- the buffers alignment is handled differently
The former driver assumed that the DMA channel stopped between each
descriptor. The new one chains descriptors to let the channel running. This
is a necessary guarantee for real-time high bandwidth usecases such as video
capture on "old" architectures such as pxa.
- hot chaining / cold chaining / no chaining
Whenever possible, submitting a descriptor "hot chains" it to a running
channel. There is still no guarantee that the descriptor will be issued, as
the channel might be stopped just before the descriptor is submitted. Yet
this allows to submit several video buffers, and resubmit a buffer while
another is under handling.
As before, dma_async_issue_pending() is the only guarantee to have all the
buffers issued.
When an alignment issue is detected (ie. one address in a descriptor is not
a multiple of 8), if the already running channel is in "aligned mode", the
channel will stop, and restarted in "misaligned mode" to finished the issued
list.
- descriptors reusing
A submitted, issued and completed descriptor can be reused, ie resubmitted if
it was prepared with the proper flag (DMA_PREP_ACK). Only a channel
resources release will in this case release that buffer.
This allows a rolling ring of buffers to be reused, where there are several
thousands of hardware descriptors used (video buffer for example).
Additionally, a set of more casual features is introduced :
- debugging traces
- lockless way to know if a descriptor is terminated or not
The driver was tested on zylonite board (pxa3xx) and mioa701 (pxa27x),
with dmatest, pxa_camera and pxamci.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-05-25 23:29:20 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
dmaengine: pxa: add pxa dmaengine driver
This is a new driver for pxa SoCs, which is also compatible with the former
mmp_pdma.
The rationale behind a new driver (as opposed to incremental patching) was :
- the new driver relies on virt-dma, which obsoletes all the internal
structures of mmp_pdma (sw_desc, hw_desc, ...), and by consequence all the
functions
- mmp_pdma allocates dma coherent descriptors containing not only hardware
descriptors but linked list information
The new driver only puts the dma hardware descriptors (ie. 4 u32) into the
dma pool allocated memory. This changes completely the way descriptors are
handled
- the architecture behind the interrupt/tasklet management was rewritten to be
more conforming to virt-dma
- the buffers alignment is handled differently
The former driver assumed that the DMA channel stopped between each
descriptor. The new one chains descriptors to let the channel running. This
is a necessary guarantee for real-time high bandwidth usecases such as video
capture on "old" architectures such as pxa.
- hot chaining / cold chaining / no chaining
Whenever possible, submitting a descriptor "hot chains" it to a running
channel. There is still no guarantee that the descriptor will be issued, as
the channel might be stopped just before the descriptor is submitted. Yet
this allows to submit several video buffers, and resubmit a buffer while
another is under handling.
As before, dma_async_issue_pending() is the only guarantee to have all the
buffers issued.
When an alignment issue is detected (ie. one address in a descriptor is not
a multiple of 8), if the already running channel is in "aligned mode", the
channel will stop, and restarted in "misaligned mode" to finished the issued
list.
- descriptors reusing
A submitted, issued and completed descriptor can be reused, ie resubmitted if
it was prepared with the proper flag (DMA_PREP_ACK). Only a channel
resources release will in this case release that buffer.
This allows a rolling ring of buffers to be reused, where there are several
thousands of hardware descriptors used (video buffer for example).
Additionally, a set of more casual features is introduced :
- debugging traces
- lockless way to know if a descriptor is terminated or not
The driver was tested on zylonite board (pxa3xx) and mioa701 (pxa27x),
with dmatest, pxa_camera and pxamci.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-05-25 23:29:20 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
dmaengine: pxa: add pxa dmaengine driver
This is a new driver for pxa SoCs, which is also compatible with the former
mmp_pdma.
The rationale behind a new driver (as opposed to incremental patching) was :
- the new driver relies on virt-dma, which obsoletes all the internal
structures of mmp_pdma (sw_desc, hw_desc, ...), and by consequence all the
functions
- mmp_pdma allocates dma coherent descriptors containing not only hardware
descriptors but linked list information
The new driver only puts the dma hardware descriptors (ie. 4 u32) into the
dma pool allocated memory. This changes completely the way descriptors are
handled
- the architecture behind the interrupt/tasklet management was rewritten to be
more conforming to virt-dma
- the buffers alignment is handled differently
The former driver assumed that the DMA channel stopped between each
descriptor. The new one chains descriptors to let the channel running. This
is a necessary guarantee for real-time high bandwidth usecases such as video
capture on "old" architectures such as pxa.
- hot chaining / cold chaining / no chaining
Whenever possible, submitting a descriptor "hot chains" it to a running
channel. There is still no guarantee that the descriptor will be issued, as
the channel might be stopped just before the descriptor is submitted. Yet
this allows to submit several video buffers, and resubmit a buffer while
another is under handling.
As before, dma_async_issue_pending() is the only guarantee to have all the
buffers issued.
When an alignment issue is detected (ie. one address in a descriptor is not
a multiple of 8), if the already running channel is in "aligned mode", the
channel will stop, and restarted in "misaligned mode" to finished the issued
list.
- descriptors reusing
A submitted, issued and completed descriptor can be reused, ie resubmitted if
it was prepared with the proper flag (DMA_PREP_ACK). Only a channel
resources release will in this case release that buffer.
This allows a rolling ring of buffers to be reused, where there are several
thousands of hardware descriptors used (video buffer for example).
Additionally, a set of more casual features is introduced :
- debugging traces
- lockless way to know if a descriptor is terminated or not
The driver was tested on zylonite board (pxa3xx) and mioa701 (pxa27x),
with dmatest, pxa_camera and pxamci.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2015-05-25 23:29:20 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-04-23 00:40:30 +09:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-04-23 00:40:30 +09:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-04-23 00:40:30 +09:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-06 10:55:27 +05:30
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-06 10:55:27 +05:30
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-29 10:30:53 -07:00
|
|
|
|
2013-10-08 06:42:10 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2013-10-08 06:42:10 +09:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-07 03:26:23 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-09-02 15:55:56 +05:30
|
|
|
|
2009-11-19 19:49:17 +01:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-11-19 19:49:17 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-09-02 15:57:09 +05:30
|
|
|
|
2010-03-30 15:33:42 +02:00
|
|
|
|
2016-09-02 15:57:09 +05:30
|
|
|
|
2016-10-06 17:59:53 -04:00
|
|
|
|
2010-03-30 15:33:42 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-30 15:33:42 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-11 21:24:44 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2009-12-11 21:24:44 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-11 21:24:44 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-25 19:44:21 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2010-03-25 19:44:21 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-04-29 09:49:08 +02:00
|
|
|
|
2011-10-27 19:22:39 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-27 19:22:39 -07:00
|
|
|
|
2016-06-16 14:28:34 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2017-06-08 19:46:23 -03:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2011-10-27 19:22:39 -07:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2017-06-16 11:58:46 -03:00
|
|
|
|
2011-10-27 19:22:39 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-22 21:09:34 -04:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2012-08-22 21:09:34 -04:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2015-04-09 12:35:49 +03:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-11 21:24:44 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2010-05-23 20:28:19 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2010-05-23 20:28:19 -07:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2010-05-23 20:28:19 -07:00
|
|
|
|
2010-07-30 16:23:03 +08:00
|
|
|
|
2011-11-17 16:14:23 +09:00
|
|
|
|
2014-05-16 16:17:37 +02:00
|
|
|
|
2010-07-30 16:23:03 +08:00
|
|
|
|
|
|
|
|
|
2011-01-05 17:43:52 +09:00
|
|
|
|
|
|
|
|
|
2011-11-17 16:14:22 +09:00
|
|
|
|
2011-11-17 16:14:23 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-30 16:23:03 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2010-09-30 13:56:34 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2010-09-30 13:56:34 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-30 13:56:34 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-06 10:25:55 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2010-10-06 10:25:55 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-06 10:25:55 +02:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-02-27 00:47:42 +08:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2011-02-27 00:47:42 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-29 13:10:02 +03:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2011-05-29 13:10:02 +03:00
|
|
|
|
2016-10-18 10:39:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-17 15:23:01 +05:30
|
|
|
|
2016-10-18 10:39:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-16 15:59:14 +02:00
|
|
|
|
|
|
|
|
|
2016-09-02 15:57:51 +05:30
|
|
|
|
2015-10-16 15:59:14 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-12-13 14:40:44 +01:00
|
|
|
|
2015-10-16 15:59:14 +02:00
|
|
|
|
|
|
|
|
|
2017-09-22 09:31:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-28 17:36:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-11 16:00:04 +02:00
|
|
|
|
2017-09-28 17:36:41 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-10-24 13:47:50 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2015-11-18 22:31:11 +01:00
|
|
|
|
2016-09-02 16:00:41 +05:30
|
|
|
|
DMA: sa11x0: add SA-11x0 DMA driver
Add support for the SA-11x0 DMA driver, which replaces the private
API version in arch/arm/mach-sa1100/dma.c.
We model this as a set of virtual DMA channels, one for each request
signal, and assign the virtual DMA channel to a physical DMA channel
when there is work to be done. This allows DMA users to claim their
channels, and hold them while not in use, without affecting the
availability of the physical channels.
Another advantage over this approach, compared to the private version,
is that a channel can be reconfigured on the fly without having to
release and re-request it - which for the IrDA driver, allows us to
use DMA for SIR mode transmit without eating up three physical
channels. As IrDA is half-duplex, we actually only need one physical
channel, and this architecture allows us to achieve that.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-01-09 21:44:07 +00:00
|
|
|
|
2012-04-13 12:07:23 +01:00
|
|
|
|
DMA: sa11x0: add SA-11x0 DMA driver
Add support for the SA-11x0 DMA driver, which replaces the private
API version in arch/arm/mach-sa1100/dma.c.
We model this as a set of virtual DMA channels, one for each request
signal, and assign the virtual DMA channel to a physical DMA channel
when there is work to be done. This allows DMA users to claim their
channels, and hold them while not in use, without affecting the
availability of the physical channels.
Another advantage over this approach, compared to the private version,
is that a channel can be reconfigured on the fly without having to
release and re-request it - which for the IrDA driver, allows us to
use DMA for SIR mode transmit without eating up three physical
channels. As IrDA is half-duplex, we actually only need one physical
channel, and this architecture allows us to achieve that.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-01-09 21:44:07 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DMA: sa11x0: add SA-11x0 DMA driver
Add support for the SA-11x0 DMA driver, which replaces the private
API version in arch/arm/mach-sa1100/dma.c.
We model this as a set of virtual DMA channels, one for each request
signal, and assign the virtual DMA channel to a physical DMA channel
when there is work to be done. This allows DMA users to claim their
channels, and hold them while not in use, without affecting the
availability of the physical channels.
Another advantage over this approach, compared to the private version,
is that a channel can be reconfigured on the fly without having to
release and re-request it - which for the IrDA driver, allows us to
use DMA for SIR mode transmit without eating up three physical
channels. As IrDA is half-duplex, we actually only need one physical
channel, and this architecture allows us to achieve that.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-01-09 21:44:07 +00:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-15 11:04:08 +08:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2012-06-15 11:04:08 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-13 12:10:24 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-13 12:10:24 +01:00
|
|
|
|
2016-05-12 18:02:23 +01:00
|
|
|
|
2016-10-22 18:25:10 -04:00
|
|
|
|
2016-09-02 16:01:52 +05:30
|
|
|
|
2016-05-12 18:02:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2016-09-02 16:07:05 +05:30
|
|
|
|
2014-01-06 20:18:24 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2014-01-06 20:18:24 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-02-18 10:17:12 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2014-02-18 10:17:12 +08:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2014-01-17 09:46:05 +01:00
|
|
|
|
2016-06-24 10:51:25 +05:30
|
|
|
|
|
|
|
|
|
2016-04-06 10:38:08 +05:30
|
|
|
|
2014-04-23 20:23:26 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-24 10:51:25 +05:30
|
|
|
|
2014-04-23 20:23:26 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-06-24 10:51:25 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-23 20:23:26 +05:30
|
|
|
|
2016-07-01 17:07:06 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-23 20:23:26 +05:30
|
|
|
|
2015-05-05 22:06:08 +08:00
|
|
|
|
2016-12-15 22:03:35 +08:00
|
|
|
|
2016-09-02 16:10:07 +05:30
|
|
|
|
2014-12-11 14:59:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-12-15 22:03:35 +08:00
|
|
|
|
2014-12-11 14:59:17 -08:00
|
|
|
|
2015-03-18 19:17:34 +05:30
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
|
|
|
|
|
2006-05-23 17:18:44 -07:00
|
|
|
|
2018-03-15 15:40:36 +08:00
|
|
|
|
|
|
|
|
|
2016-02-04 23:34:32 -05:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2012-04-13 12:07:23 +01:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2013-04-09 14:05:43 +03:00
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2013-02-12 09:15:02 -08:00
|
|
|
|
2018-04-25 11:45:03 +03:00
|
|
|
|
|
|
|
|
|
2015-08-24 13:43:14 +05:30
|
|
|
|
2006-06-17 21:24:58 -07:00
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|
2006-06-17 21:24:58 -07:00
|
|
|
|
2009-03-25 09:13:25 -07:00
|
|
|
|
|
|
|
|
|
2009-09-08 15:06:10 -07:00
|
|
|
|
2009-03-25 09:13:25 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-08 11:58:45 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-27 14:21:40 +02:00
|
|
|
|
2008-07-08 11:58:45 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-12-09 10:33:16 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-16 01:27:42 -07:00
|
|
|
|