mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 07:00:48 +00:00
dmaengine: shdma: Enable on SH-Mobile ARM
Enable the shdma dmaengine driver on SH-Mobile ARM. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
parent
b2623a61cf
commit
927a7c9c17
@ -128,7 +128,7 @@ config TXX9_DMAC
|
|||||||
|
|
||||||
config SH_DMAE
|
config SH_DMAE
|
||||||
tristate "Renesas SuperH DMAC support"
|
tristate "Renesas SuperH DMAC support"
|
||||||
depends on SUPERH && SH_DMA
|
depends on (SUPERH && SH_DMA) || (ARM && ARCH_SHMOBILE)
|
||||||
depends on !SH_DMA_API
|
depends on !SH_DMA_API
|
||||||
select DMA_ENGINE
|
select DMA_ENGINE
|
||||||
help
|
help
|
||||||
|
@ -793,7 +793,7 @@ static irqreturn_t sh_dmae_interrupt(int irq, void *data)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_CPU_SH4)
|
#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
|
||||||
static irqreturn_t sh_dmae_err(int irq, void *data)
|
static irqreturn_t sh_dmae_err(int irq, void *data)
|
||||||
{
|
{
|
||||||
struct sh_dmae_device *shdev = (struct sh_dmae_device *)data;
|
struct sh_dmae_device *shdev = (struct sh_dmae_device *)data;
|
||||||
@ -1034,7 +1034,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
|
|||||||
/* Default transfer size of 32 bytes requires 32-byte alignment */
|
/* Default transfer size of 32 bytes requires 32-byte alignment */
|
||||||
shdev->common.copy_align = LOG2_DEFAULT_XFER_SIZE;
|
shdev->common.copy_align = LOG2_DEFAULT_XFER_SIZE;
|
||||||
|
|
||||||
#if defined(CONFIG_CPU_SH4)
|
#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
|
||||||
chanirq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
|
chanirq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
|
||||||
|
|
||||||
if (!chanirq_res)
|
if (!chanirq_res)
|
||||||
@ -1059,7 +1059,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
chanirq_res = errirq_res;
|
chanirq_res = errirq_res;
|
||||||
#endif /* CONFIG_CPU_SH4 */
|
#endif /* CONFIG_CPU_SH4 || CONFIG_ARCH_SHMOBILE */
|
||||||
|
|
||||||
if (chanirq_res->start == chanirq_res->end &&
|
if (chanirq_res->start == chanirq_res->end &&
|
||||||
!platform_get_resource(pdev, IORESOURCE_IRQ, 1)) {
|
!platform_get_resource(pdev, IORESOURCE_IRQ, 1)) {
|
||||||
@ -1106,7 +1106,7 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
|
|||||||
chan_probe_err:
|
chan_probe_err:
|
||||||
sh_dmae_chan_remove(shdev);
|
sh_dmae_chan_remove(shdev);
|
||||||
eirqres:
|
eirqres:
|
||||||
#if defined(CONFIG_CPU_SH4)
|
#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_SHMOBILE)
|
||||||
free_irq(errirq, shdev);
|
free_irq(errirq, shdev);
|
||||||
eirq_err:
|
eirq_err:
|
||||||
#endif
|
#endif
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
#include <linux/serial_core.h>
|
#include <linux/serial_core.h>
|
||||||
#ifdef CONFIG_SERIAL_SH_SCI_DMA
|
#ifdef CONFIG_SERIAL_SH_SCI_DMA
|
||||||
#include <asm/dmaengine.h>
|
#include <linux/sh_dma.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user