summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Cerqueira <devnull@localhost>2006-01-04 03:15:34 +0000
committerRicardo Cerqueira <devnull@localhost>2006-01-04 03:15:34 +0000
commit16d66bebc54b2dcab8b538e1a224bc40c6cd7511 (patch)
tree49ec62a2b87752a5d37b03521a76415ae5924c92
parent3bc98ce6ea05a056facc4c5254c7a5725eea1e6c (diff)
downloadmediapointer-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.c8
-rw-r--r--linux/drivers/media/video/cx88/cx88-core.c12
-rw-r--r--v4l/ChangeLog10
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):