aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ieee1394/video1394.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/ieee1394/video1394.c b/drivers/ieee1394/video1394.c
index 598b19fc5989..f4d1ec00af65 100644
--- a/drivers/ieee1394/video1394.c
+++ b/drivers/ieee1394/video1394.c
@@ -489,6 +489,9 @@ static void wakeup_dma_ir_ctx(unsigned long l)
489 reset_ir_status(d, i); 489 reset_ir_status(d, i);
490 d->buffer_status[d->buffer_prg_assignment[i]] = VIDEO1394_BUFFER_READY; 490 d->buffer_status[d->buffer_prg_assignment[i]] = VIDEO1394_BUFFER_READY;
491 do_gettimeofday(&d->buffer_time[d->buffer_prg_assignment[i]]); 491 do_gettimeofday(&d->buffer_time[d->buffer_prg_assignment[i]]);
492 dma_region_sync_for_cpu(&d->dma,
493 d->buffer_prg_assignment[i] * d->buf_size,
494 d->buf_size);
492 } 495 }
493 } 496 }
494 497
@@ -1096,6 +1099,8 @@ static long video1394_ioctl(struct file *file,
1096 DBGMSG(ohci->host->id, "Starting iso transmit DMA ctx=%d", 1099 DBGMSG(ohci->host->id, "Starting iso transmit DMA ctx=%d",
1097 d->ctx); 1100 d->ctx);
1098 put_timestamp(ohci, d, d->last_buffer); 1101 put_timestamp(ohci, d, d->last_buffer);
1102 dma_region_sync_for_device(&d->dma,
1103 v.buffer * d->buf_size, d->buf_size);
1099 1104
1100 /* Tell the controller where the first program is */ 1105 /* Tell the controller where the first program is */
1101 reg_write(ohci, d->cmdPtr, 1106 reg_write(ohci, d->cmdPtr,
@@ -1111,6 +1116,9 @@ static long video1394_ioctl(struct file *file,
1111 "Waking up iso transmit dma ctx=%d", 1116 "Waking up iso transmit dma ctx=%d",
1112 d->ctx); 1117 d->ctx);
1113 put_timestamp(ohci, d, d->last_buffer); 1118 put_timestamp(ohci, d, d->last_buffer);
1119 dma_region_sync_for_device(&d->dma,
1120 v.buffer * d->buf_size, d->buf_size);
1121
1114 reg_write(ohci, d->ctrlSet, 0x1000); 1122 reg_write(ohci, d->ctrlSet, 0x1000);
1115 } 1123 }
1116 } 1124 }