Skip to content

Commit 372feac

Browse files
committed
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine fixes from Vinod Koul: "Back from long weekend here in India and now the time to send fixes for slave dmaengine. - Dan's fix of sirf xlate code - Jean's fix for timberland - edma fixes by Sekhar for SG handling and Yuan for changing init call" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dma: fix eDMA driver as a subsys_initcall dmaengine: sirf: off by one in of_dma_sirfsoc_xlate() platform: Fix timberdale dependencies dma: edma: fix incorrect SG list handling
2 parents 5269519 + 8edc51c commit 372feac

File tree

5 files changed

+18
-6
lines changed

5 files changed

+18
-6
lines changed

drivers/dma/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ config AMCC_PPC440SPE_ADMA
197197

198198
config TIMB_DMA
199199
tristate "Timberdale FPGA DMA support"
200-
depends on MFD_TIMBERDALE || HAS_IOMEM
200+
depends on MFD_TIMBERDALE
201201
select DMA_ENGINE
202202
help
203203
Enable support for the Timberdale FPGA DMA engine.

drivers/dma/edma.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,13 @@ static void edma_execute(struct edma_chan *echan)
182182
echan->ecc->dummy_slot);
183183
}
184184

185-
edma_resume(echan->ch_num);
186-
187185
if (edesc->processed <= MAX_NR_SG) {
188186
dev_dbg(dev, "first transfer starting %d\n", echan->ch_num);
189187
edma_start(echan->ch_num);
188+
} else {
189+
dev_dbg(dev, "chan: %d: completed %d elements, resuming\n",
190+
echan->ch_num, edesc->processed);
191+
edma_resume(echan->ch_num);
190192
}
191193

192194
/*

drivers/dma/fsl-edma.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,17 @@ static struct platform_driver fsl_edma_driver = {
968968
.remove = fsl_edma_remove,
969969
};
970970

971-
module_platform_driver(fsl_edma_driver);
971+
static int __init fsl_edma_init(void)
972+
{
973+
return platform_driver_register(&fsl_edma_driver);
974+
}
975+
subsys_initcall(fsl_edma_init);
976+
977+
static void __exit fsl_edma_exit(void)
978+
{
979+
platform_driver_unregister(&fsl_edma_driver);
980+
}
981+
module_exit(fsl_edma_exit);
972982

973983
MODULE_ALIAS("platform:fsl-edma");
974984
MODULE_DESCRIPTION("Freescale eDMA engine driver");

drivers/dma/sirf-dma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,7 @@ static struct dma_chan *of_dma_sirfsoc_xlate(struct of_phandle_args *dma_spec,
666666
struct sirfsoc_dma *sdma = ofdma->of_dma_data;
667667
unsigned int request = dma_spec->args[0];
668668

669-
if (request > SIRFSOC_DMA_CHANNELS)
669+
if (request >= SIRFSOC_DMA_CHANNELS)
670670
return NULL;
671671

672672
return dma_get_slave_channel(&sdma->channels[request].chan);

drivers/media/platform/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ config VIDEO_VIU
5656

5757
config VIDEO_TIMBERDALE
5858
tristate "Support for timberdale Video In/LogiWIN"
59-
depends on VIDEO_V4L2 && I2C && DMADEVICES
59+
depends on MFD_TIMBERDALE && VIDEO_V4L2 && I2C && DMADEVICES
6060
select DMA_ENGINE
6161
select TIMB_DMA
6262
select VIDEO_ADV7180

0 commit comments

Comments
 (0)