diff options
author | Ricardo Cerqueira <devnull@localhost> | 2006-01-04 03:15:34 +0000 |
---|---|---|
committer | Ricardo Cerqueira <devnull@localhost> | 2006-01-04 03:15:34 +0000 |
commit | 16d66bebc54b2dcab8b538e1a224bc40c6cd7511 (patch) | |
tree | 49ec62a2b87752a5d37b03521a76415ae5924c92 | |
parent | 3bc98ce6ea05a056facc4c5254c7a5725eea1e6c (diff) | |
download | mediapointer-dvb-s2-16d66bebc54b2dcab8b538e1a224bc40c6cd7511.tar.gz mediapointer-dvb-s2-16d66bebc54b2dcab8b538e1a224bc40c6cd7511.tar.bz2 |
Fixed the audio distortion in cx88-alsa
From: Ricardo Cerqueira <v4l@cerqueira.org>
The audio distortion was apparently being caused by the high amount of
interrupts being generated. Increasing the buffer from 512 to 4096 seems
to fix it
Signed-off-by:
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-alsa.c | 8 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-core.c | 12 | ||||
-rw-r--r-- | v4l/ChangeLog | 10 |
3 files changed, 20 insertions, 10 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-alsa.c b/linux/drivers/media/video/cx88/cx88-alsa.c index 399271a96..145afd07c 100644 --- a/linux/drivers/media/video/cx88/cx88-alsa.c +++ b/linux/drivers/media/video/cx88/cx88-alsa.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-alsa.c,v 1.23 2006/01/03 16:37:08 mchehab Exp $ + * $Id: cx88-alsa.c,v 1.24 2006/01/04 03:15:34 rmcc Exp $ * * Support for audio capture * PCI function #1 of the cx2388x. @@ -388,9 +388,9 @@ static snd_pcm_hardware_t snd_cx88_digital_hw = { .rate_max = 96000, .channels_min = 1, .channels_max = 2, - .buffer_bytes_max = (4*128), - .period_bytes_min = 128, - .period_bytes_max = 128, + .buffer_bytes_max = (4*1024), + .period_bytes_min = 1024, + .period_bytes_max = 1024, .periods_min = 4, .periods_max = 4, }; diff --git a/linux/drivers/media/video/cx88/cx88-core.c b/linux/drivers/media/video/cx88/cx88-core.c index dc2d1a643..bd1b6e782 100644 --- a/linux/drivers/media/video/cx88/cx88-core.c +++ b/linux/drivers/media/video/cx88/cx88-core.c @@ -1,5 +1,5 @@ /* - * $Id: cx88-core.c,v 1.50 2006/01/01 17:17:39 mchehab Exp $ + * $Id: cx88-core.c,v 1.51 2006/01/04 03:15:34 rmcc Exp $ * * device driver for Conexant 2388x based TV cards * driver core @@ -253,9 +253,9 @@ cx88_free_buffer(struct pci_dev *pci, struct cx88_buffer *buf) * channel 22 (u video) - 2.0k * channel 23 (v video) - 2.0k * channel 24 (vbi) - 4.0k - * channels 25+26 (audio) - 0.5k + * channels 25+26 (audio) - 4.0k * channel 28 (mpeg) - 4.0k - * TOTAL = 25.5k + * TOTAL = 29.0k * * Every channel has 160 bytes control data (64 bytes instruction * queue and 6 CDT entries), which is close to 2k total. @@ -321,7 +321,7 @@ struct sram_channel cx88_sram_channels[] = { .ctrl_start = 0x180680, .cdt = 0x180680 + 64, .fifo_start = 0x185400, - .fifo_size = 0x000200, + .fifo_size = 0x001000, .ptr1_reg = MO_DMA25_PTR1, .ptr2_reg = MO_DMA25_PTR2, .cnt1_reg = MO_DMA25_CNT1, @@ -333,7 +333,7 @@ struct sram_channel cx88_sram_channels[] = { .ctrl_start = 0x180720, .cdt = 0x180680 + 64, /* same as audio IN */ .fifo_start = 0x185400, /* same as audio IN */ - .fifo_size = 0x000200, /* same as audio IN */ + .fifo_size = 0x001000, /* same as audio IN */ .ptr1_reg = MO_DMA26_PTR1, .ptr2_reg = MO_DMA26_PTR2, .cnt1_reg = MO_DMA26_CNT1, @@ -344,7 +344,7 @@ struct sram_channel cx88_sram_channels[] = { .cmds_start = 0x180200, .ctrl_start = 0x1807C0, .cdt = 0x1807C0 + 64, - .fifo_start = 0x185600, + .fifo_start = 0x186400, .fifo_size = 0x001000, .ptr1_reg = MO_DMA28_PTR1, .ptr2_reg = MO_DMA28_PTR2, diff --git a/v4l/ChangeLog b/v4l/ChangeLog index d69d04381..8fdff170a 100644 --- a/v4l/ChangeLog +++ b/v4l/ChangeLog @@ -1,3 +1,13 @@ +2006-01-04 03:11 rmcc + + * linux/drivers/media/video/cx88/cx88-alsa.c: + * linux/drivers/media/video/cx88/cx88-core.c: + + - Got rid of the audio distortion by increasing the buffer size to + 4k + + Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org> + 2006-01-03 22:45 hverkuil * linux/drivers/media/video/cx25840/cx25840-core.c: (get_v4lctrl): |