diff options
Diffstat (limited to 'arch/arm/mach-davinci/dma.c')
-rw-r--r-- | arch/arm/mach-davinci/dma.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/mach-davinci/dma.c index b705089e2be..cc5fcdad9b9 100644 --- a/arch/arm/mach-davinci/dma.c +++ b/arch/arm/mach-davinci/dma.c | |||
@@ -310,10 +310,9 @@ setup_dma_interrupt(unsigned lch, | |||
310 | ctlr = EDMA_CTLR(lch); | 310 | ctlr = EDMA_CTLR(lch); |
311 | lch = EDMA_CHAN_SLOT(lch); | 311 | lch = EDMA_CHAN_SLOT(lch); |
312 | 312 | ||
313 | if (!callback) { | 313 | if (!callback) |
314 | edma_shadow0_write_array(ctlr, SH_IECR, lch >> 5, | 314 | edma_shadow0_write_array(ctlr, SH_IECR, lch >> 5, |
315 | (1 << (lch & 0x1f))); | 315 | (1 << (lch & 0x1f))); |
316 | } | ||
317 | 316 | ||
318 | edma_cc[ctlr]->intr_data[lch].callback = callback; | 317 | edma_cc[ctlr]->intr_data[lch].callback = callback; |
319 | edma_cc[ctlr]->intr_data[lch].data = data; | 318 | edma_cc[ctlr]->intr_data[lch].data = data; |
@@ -376,12 +375,11 @@ static irqreturn_t dma_irq_handler(int irq, void *data) | |||
376 | /* Clear the corresponding IPR bits */ | 375 | /* Clear the corresponding IPR bits */ |
377 | edma_shadow0_write_array(ctlr, SH_ICR, j, | 376 | edma_shadow0_write_array(ctlr, SH_ICR, j, |
378 | (1 << i)); | 377 | (1 << i)); |
379 | if (edma_cc[ctlr]->intr_data[k].callback) { | 378 | if (edma_cc[ctlr]->intr_data[k].callback) |
380 | edma_cc[ctlr]->intr_data[k].callback( | 379 | edma_cc[ctlr]->intr_data[k].callback( |
381 | k, DMA_COMPLETE, | 380 | k, DMA_COMPLETE, |
382 | edma_cc[ctlr]->intr_data[k]. | 381 | edma_cc[ctlr]->intr_data[k]. |
383 | data); | 382 | data); |
384 | } | ||
385 | } | 383 | } |
386 | } | 384 | } |
387 | cnt++; | 385 | cnt++; |
@@ -473,9 +471,8 @@ static irqreturn_t dma_ccerr_handler(int irq, void *data) | |||
473 | if ((edma_read_array(ctlr, EDMA_EMR, 0) == 0) | 471 | if ((edma_read_array(ctlr, EDMA_EMR, 0) == 0) |
474 | && (edma_read_array(ctlr, EDMA_EMR, 1) == 0) | 472 | && (edma_read_array(ctlr, EDMA_EMR, 1) == 0) |
475 | && (edma_read(ctlr, EDMA_QEMR) == 0) | 473 | && (edma_read(ctlr, EDMA_QEMR) == 0) |
476 | && (edma_read(ctlr, EDMA_CCERR) == 0)) { | 474 | && (edma_read(ctlr, EDMA_CCERR) == 0)) |
477 | break; | 475 | break; |
478 | } | ||
479 | cnt++; | 476 | cnt++; |
480 | if (cnt > 10) | 477 | if (cnt > 10) |
481 | break; | 478 | break; |
@@ -531,8 +528,9 @@ static int reserve_contiguous_slots(int ctlr, unsigned int id, | |||
531 | if (id == EDMA_CONT_PARAMS_FIXED_EXACT) { | 528 | if (id == EDMA_CONT_PARAMS_FIXED_EXACT) { |
532 | stop_slot = i; | 529 | stop_slot = i; |
533 | break; | 530 | break; |
534 | } else | 531 | } else { |
535 | count = num_slots; | 532 | count = num_slots; |
533 | } | ||
536 | } | 534 | } |
537 | } | 535 | } |
538 | 536 | ||
@@ -1402,8 +1400,9 @@ static int __init edma_probe(struct platform_device *pdev) | |||
1402 | break; | 1400 | break; |
1403 | else | 1401 | else |
1404 | return -ENODEV; | 1402 | return -ENODEV; |
1405 | } else | 1403 | } else { |
1406 | found = 1; | 1404 | found = 1; |
1405 | } | ||
1407 | 1406 | ||
1408 | len[j] = resource_size(r[j]); | 1407 | len[j] = resource_size(r[j]); |
1409 | 1408 | ||