aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-firmware.c
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2010-02-10 15:34:46 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 15:11:07 -0300
commit587808d5f59e842f9258a15e88ad530fcf6e6763 (patch)
tree07252eaff987faf5ad1b6256d520c13ab90e4554 /drivers/media/video/ivtv/ivtv-firmware.c
parent00cb9f6920aaeb34bcef146085ae57e363641a85 (diff)
downloadkernel_samsung_smdk4412-587808d5f59e842f9258a15e88ad530fcf6e6763.zip
kernel_samsung_smdk4412-587808d5f59e842f9258a15e88ad530fcf6e6763.tar.gz
kernel_samsung_smdk4412-587808d5f59e842f9258a15e88ad530fcf6e6763.tar.bz2
V4L/DVB: ivtv: Fix ivtv_api_get_data() to avoid unneeded IO during IRQ handling
ivtv_api_get_data() was performing more PCI MMIO than needed, resulting often in it accounting for more than half the total time spent in ivtv_irq_handler(). Now it only reads at most 7 of the 16 mailbox data words over the PCI bus, and in some instances only 2 or 3 data words as needed. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-firmware.c')
-rw-r--r--drivers/media/video/ivtv/ivtv-firmware.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/ivtv/ivtv-firmware.c b/drivers/media/video/ivtv/ivtv-firmware.c
index c1b7ec4..a71e8ba 100644
--- a/drivers/media/video/ivtv/ivtv-firmware.c
+++ b/drivers/media/video/ivtv/ivtv-firmware.c
@@ -258,7 +258,7 @@ void ivtv_init_mpeg_decoder(struct ivtv *itv)
IVTV_ERR("ivtv_init_mpeg_decoder failed to start playback\n");
return;
}
- ivtv_api_get_data(&itv->dec_mbox, IVTV_MBOX_DMA, data);
+ ivtv_api_get_data(&itv->dec_mbox, IVTV_MBOX_DMA, 2, data);
mem_offset = itv->dec_mem + data[1];
if ((readbytes = load_fw_direct(IVTV_DECODE_INIT_MPEG_FILENAME,