diff options
Diffstat (limited to 'drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r-- | drivers/media/video/cx88/cx88-mpeg.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c index ee2300e1ae0b..35e6d0c2b872 100644 --- a/drivers/media/video/cx88/cx88-mpeg.c +++ b/drivers/media/video/cx88/cx88-mpeg.c | |||
@@ -54,7 +54,7 @@ static int cx8802_start_dma(struct cx8802_dev *dev, | |||
54 | { | 54 | { |
55 | struct cx88_core *core = dev->core; | 55 | struct cx88_core *core = dev->core; |
56 | 56 | ||
57 | dprintk(0, "cx8802_start_dma %d\n", buf->vb.width); | 57 | dprintk(0, "cx8802_start_dma w: %d, h: %d, f: %d\n", dev->width, dev->height, buf->vb.field); |
58 | 58 | ||
59 | /* setup fifo + format */ | 59 | /* setup fifo + format */ |
60 | cx88_sram_channel_setup(core, &cx88_sram_channels[SRAM_CH28], | 60 | cx88_sram_channel_setup(core, &cx88_sram_channels[SRAM_CH28], |
@@ -158,7 +158,8 @@ static int cx8802_restart_queue(struct cx8802_dev *dev, | |||
158 | 158 | ||
159 | /* ------------------------------------------------------------------ */ | 159 | /* ------------------------------------------------------------------ */ |
160 | 160 | ||
161 | int cx8802_buf_prepare(struct cx8802_dev *dev, struct cx88_buffer *buf) | 161 | int cx8802_buf_prepare(struct cx8802_dev *dev, struct cx88_buffer *buf, |
162 | enum v4l2_field field) | ||
162 | { | 163 | { |
163 | int size = dev->ts_packet_size * dev->ts_packet_count; | 164 | int size = dev->ts_packet_size * dev->ts_packet_count; |
164 | int rc; | 165 | int rc; |
@@ -171,7 +172,7 @@ int cx8802_buf_prepare(struct cx8802_dev *dev, struct cx88_buffer *buf) | |||
171 | buf->vb.width = dev->ts_packet_size; | 172 | buf->vb.width = dev->ts_packet_size; |
172 | buf->vb.height = dev->ts_packet_count; | 173 | buf->vb.height = dev->ts_packet_count; |
173 | buf->vb.size = size; | 174 | buf->vb.size = size; |
174 | buf->vb.field = V4L2_FIELD_TOP; | 175 | buf->vb.field = field /*V4L2_FIELD_TOP*/; |
175 | 176 | ||
176 | if (0 != (rc = videobuf_iolock(dev->pci,&buf->vb,NULL))) | 177 | if (0 != (rc = videobuf_iolock(dev->pci,&buf->vb,NULL))) |
177 | goto fail; | 178 | goto fail; |
@@ -315,14 +316,14 @@ static void cx8802_mpeg_irq(struct cx8802_dev *dev) | |||
315 | spin_unlock(&dev->slock); | 316 | spin_unlock(&dev->slock); |
316 | } | 317 | } |
317 | 318 | ||
318 | /* other general errors */ | 319 | /* other general errors */ |
319 | if (status & 0x1f0100) { | 320 | if (status & 0x1f0100) { |
320 | dprintk( 0, "general errors: 0x%08x\n", status & 0x1f0100 ); | 321 | dprintk( 0, "general errors: 0x%08x\n", status & 0x1f0100 ); |
321 | spin_lock(&dev->slock); | 322 | spin_lock(&dev->slock); |
322 | cx8802_stop_dma(dev); | 323 | cx8802_stop_dma(dev); |
323 | cx8802_restart_queue(dev,&dev->mpegq); | 324 | cx8802_restart_queue(dev,&dev->mpegq); |
324 | spin_unlock(&dev->slock); | 325 | spin_unlock(&dev->slock); |
325 | } | 326 | } |
326 | } | 327 | } |
327 | 328 | ||
328 | #define MAX_IRQ_LOOP 10 | 329 | #define MAX_IRQ_LOOP 10 |
@@ -378,8 +379,8 @@ int cx8802_init_common(struct cx8802_dev *dev) | |||
378 | } | 379 | } |
379 | 380 | ||
380 | pci_read_config_byte(dev->pci, PCI_CLASS_REVISION, &dev->pci_rev); | 381 | pci_read_config_byte(dev->pci, PCI_CLASS_REVISION, &dev->pci_rev); |
381 | pci_read_config_byte(dev->pci, PCI_LATENCY_TIMER, &dev->pci_lat); | 382 | pci_read_config_byte(dev->pci, PCI_LATENCY_TIMER, &dev->pci_lat); |
382 | printk(KERN_INFO "%s/2: found at %s, rev: %d, irq: %d, " | 383 | printk(KERN_INFO "%s/2: found at %s, rev: %d, irq: %d, " |
383 | "latency: %d, mmio: 0x%lx\n", dev->core->name, | 384 | "latency: %d, mmio: 0x%lx\n", dev->core->name, |
384 | pci_name(dev->pci), dev->pci_rev, dev->pci->irq, | 385 | pci_name(dev->pci), dev->pci_rev, dev->pci->irq, |
385 | dev->pci_lat,pci_resource_start(dev->pci,0)); | 386 | dev->pci_lat,pci_resource_start(dev->pci,0)); |
@@ -429,7 +430,7 @@ void cx8802_fini_common(struct cx8802_dev *dev) | |||
429 | 430 | ||
430 | int cx8802_suspend_common(struct pci_dev *pci_dev, pm_message_t state) | 431 | int cx8802_suspend_common(struct pci_dev *pci_dev, pm_message_t state) |
431 | { | 432 | { |
432 | struct cx8802_dev *dev = pci_get_drvdata(pci_dev); | 433 | struct cx8802_dev *dev = pci_get_drvdata(pci_dev); |
433 | struct cx88_core *core = dev->core; | 434 | struct cx88_core *core = dev->core; |
434 | 435 | ||
435 | /* stop mpeg dma */ | 436 | /* stop mpeg dma */ |