diff options
Diffstat (limited to 'drivers/media/video')
-rw-r--r-- | drivers/media/video/cx18/cx18-driver.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.c b/drivers/media/video/cx18/cx18-driver.c index 3419de9a5a4..3dfceb360b5 100644 --- a/drivers/media/video/cx18/cx18-driver.c +++ b/drivers/media/video/cx18/cx18-driver.c | |||
@@ -511,9 +511,9 @@ static int cx18_setup_pci(struct cx18 *cx, struct pci_dev *dev, | |||
511 | return -EIO; | 511 | return -EIO; |
512 | } | 512 | } |
513 | 513 | ||
514 | /* Check for bus mastering */ | 514 | /* Enable bus mastering and memory mapped IO for the CX23418 */ |
515 | pci_read_config_word(dev, PCI_COMMAND, &cmd); | 515 | pci_read_config_word(dev, PCI_COMMAND, &cmd); |
516 | cmd |= PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER; | 516 | cmd |= PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER; |
517 | pci_write_config_word(dev, PCI_COMMAND, cmd); | 517 | pci_write_config_word(dev, PCI_COMMAND, cmd); |
518 | 518 | ||
519 | pci_read_config_byte(dev, PCI_CLASS_REVISION, &cx->card_rev); | 519 | pci_read_config_byte(dev, PCI_CLASS_REVISION, &cx->card_rev); |
@@ -525,11 +525,6 @@ static int cx18_setup_pci(struct cx18 *cx, struct pci_dev *dev, | |||
525 | pci_write_config_byte(dev, PCI_LATENCY_TIMER, 64); | 525 | pci_write_config_byte(dev, PCI_LATENCY_TIMER, 64); |
526 | pci_read_config_byte(dev, PCI_LATENCY_TIMER, &pci_latency); | 526 | pci_read_config_byte(dev, PCI_LATENCY_TIMER, &pci_latency); |
527 | } | 527 | } |
528 | /* This config space value relates to DMA latencies. The | ||
529 | default value 0x8080 is too low however and will lead | ||
530 | to DMA errors. 0xffff is the max value which solves | ||
531 | these problems. */ | ||
532 | pci_write_config_dword(dev, 0x40, 0xffff); | ||
533 | 528 | ||
534 | CX18_DEBUG_INFO("cx%d (rev %d) at %02x:%02x.%x, " | 529 | CX18_DEBUG_INFO("cx%d (rev %d) at %02x:%02x.%x, " |
535 | "irq: %d, latency: %d, memory: 0x%lx\n", | 530 | "irq: %d, latency: %d, memory: 0x%lx\n", |