diff options
author | Vinod Koul <vinod.koul@linux.intel.com> | 2012-02-01 17:01:14 (GMT) |
---|---|---|
committer | Vinod Koul <vinod.koul@linux.intel.com> | 2012-02-01 17:01:28 (GMT) |
commit | e7211718b3aa0365a723d9b8192e6f50236a1c67 (patch) | |
tree | 35564f1a9a9fbc5eaaad2ce9e924c99afb98dcce | |
parent | ba7932334fbede4bb6a4ff4e635391ca7833203f (diff) | |
parent | c8ddf036d99e7fab943b7587c75a905e789ea7e7 (diff) | |
download | linux-e7211718b3aa0365a723d9b8192e6f50236a1c67.tar.xz |
Merge branch 'fixes' into next
-rw-r--r-- | arch/arm/mach-shmobile/setup-sh7372.c | 2 | ||||
-rw-r--r-- | drivers/dma/shdma.c | 3 | ||||
-rw-r--r-- | include/linux/sh_dma.h | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c index 6fcf304..a83cf51 100644 --- a/arch/arm/mach-shmobile/setup-sh7372.c +++ b/arch/arm/mach-shmobile/setup-sh7372.c @@ -662,6 +662,7 @@ static struct sh_dmae_pdata usb_dma0_platform_data = { .dmaor_is_32bit = 1, .needs_tend_set = 1, .no_dmars = 1, + .slave_only = 1, }; static struct resource sh7372_usb_dmae0_resources[] = { @@ -723,6 +724,7 @@ static struct sh_dmae_pdata usb_dma1_platform_data = { .dmaor_is_32bit = 1, .needs_tend_set = 1, .no_dmars = 1, + .slave_only = 1, }; static struct resource sh7372_usb_dmae1_resources[] = { diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 54043cd..812fd76 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c @@ -1262,7 +1262,8 @@ static int __init sh_dmae_probe(struct platform_device *pdev) INIT_LIST_HEAD(&shdev->common.channels); - dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask); + if (!pdata->slave_only) + dma_cap_set(DMA_MEMCPY, shdev->common.cap_mask); if (pdata->slave && pdata->slave_num) dma_cap_set(DMA_SLAVE, shdev->common.cap_mask); diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h index 8cd7fe5..425450b 100644 --- a/include/linux/sh_dma.h +++ b/include/linux/sh_dma.h @@ -70,6 +70,7 @@ struct sh_dmae_pdata { unsigned int needs_tend_set:1; unsigned int no_dmars:1; unsigned int chclr_present:1; + unsigned int slave_only:1; }; /* DMA register */ |