diff options
| author | Dmitri Belimov <d.belimov@gmail.com> | 2010-01-08 04:38:28 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-01-17 08:31:38 -0500 |
| commit | 08be64be3d1e5ecd72e7ba3147aea518e527f08e (patch) | |
| tree | b178f7cff13a7b2fc046f45ba7a497e15db153ae | |
| parent | 423f5c0d016cd6b65c468d3dcdeeb708ee68074b (diff) | |
V4L/DVB (13966): DVB-T regression fix for saa7134 cards
Some customers has problem with quality of DVB-T
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/446575
After this patch http://patchwork.kernel.org/patch/23345/
This is patch for fix regression with DVB-T. Tested with many people.
Signed-off-by: Alexey Osipov <lion-simba@pridelands.ru>
Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
| -rw-r--r-- | drivers/media/video/saa7134/saa7134-core.c | 13 | ||||
| -rw-r--r-- | drivers/media/video/saa7134/saa7134-ts.c | 13 |
2 files changed, 13 insertions, 13 deletions
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c index 9f85e917f9f3..a7ad7810fddc 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c | |||
| @@ -420,19 +420,6 @@ int saa7134_set_dmabits(struct saa7134_dev *dev) | |||
| 420 | ctrl |= SAA7134_MAIN_CTRL_TE5; | 420 | ctrl |= SAA7134_MAIN_CTRL_TE5; |
| 421 | irq |= SAA7134_IRQ1_INTE_RA2_1 | | 421 | irq |= SAA7134_IRQ1_INTE_RA2_1 | |
| 422 | SAA7134_IRQ1_INTE_RA2_0; | 422 | SAA7134_IRQ1_INTE_RA2_0; |
| 423 | |||
| 424 | /* dma: setup channel 5 (= TS) */ | ||
| 425 | |||
| 426 | saa_writeb(SAA7134_TS_DMA0, (dev->ts.nr_packets - 1) & 0xff); | ||
| 427 | saa_writeb(SAA7134_TS_DMA1, | ||
| 428 | ((dev->ts.nr_packets - 1) >> 8) & 0xff); | ||
| 429 | /* TSNOPIT=0, TSCOLAP=0 */ | ||
| 430 | saa_writeb(SAA7134_TS_DMA2, | ||
| 431 | (((dev->ts.nr_packets - 1) >> 16) & 0x3f) | 0x00); | ||
| 432 | saa_writel(SAA7134_RS_PITCH(5), TS_PACKET_SIZE); | ||
| 433 | saa_writel(SAA7134_RS_CONTROL(5), SAA7134_RS_CONTROL_BURST_16 | | ||
| 434 | SAA7134_RS_CONTROL_ME | | ||
| 435 | (dev->ts.pt_ts.dma >> 12)); | ||
| 436 | } | 423 | } |
| 437 | 424 | ||
| 438 | /* set task conditions + field handling */ | 425 | /* set task conditions + field handling */ |
diff --git a/drivers/media/video/saa7134/saa7134-ts.c b/drivers/media/video/saa7134/saa7134-ts.c index 03488ba4c99c..b9817d74943f 100644 --- a/drivers/media/video/saa7134/saa7134-ts.c +++ b/drivers/media/video/saa7134/saa7134-ts.c | |||
| @@ -250,6 +250,19 @@ int saa7134_ts_start(struct saa7134_dev *dev) | |||
| 250 | 250 | ||
| 251 | BUG_ON(dev->ts_started); | 251 | BUG_ON(dev->ts_started); |
| 252 | 252 | ||
| 253 | /* dma: setup channel 5 (= TS) */ | ||
| 254 | saa_writeb(SAA7134_TS_DMA0, (dev->ts.nr_packets - 1) & 0xff); | ||
| 255 | saa_writeb(SAA7134_TS_DMA1, | ||
| 256 | ((dev->ts.nr_packets - 1) >> 8) & 0xff); | ||
| 257 | /* TSNOPIT=0, TSCOLAP=0 */ | ||
| 258 | saa_writeb(SAA7134_TS_DMA2, | ||
| 259 | (((dev->ts.nr_packets - 1) >> 16) & 0x3f) | 0x00); | ||
| 260 | saa_writel(SAA7134_RS_PITCH(5), TS_PACKET_SIZE); | ||
| 261 | saa_writel(SAA7134_RS_CONTROL(5), SAA7134_RS_CONTROL_BURST_16 | | ||
| 262 | SAA7134_RS_CONTROL_ME | | ||
| 263 | (dev->ts.pt_ts.dma >> 12)); | ||
| 264 | |||
| 265 | /* reset hardware TS buffers */ | ||
| 253 | saa_writeb(SAA7134_TS_SERIAL1, 0x00); | 266 | saa_writeb(SAA7134_TS_SERIAL1, 0x00); |
| 254 | saa_writeb(SAA7134_TS_SERIAL1, 0x03); | 267 | saa_writeb(SAA7134_TS_SERIAL1, 0x03); |
| 255 | saa_writeb(SAA7134_TS_SERIAL1, 0x00); | 268 | saa_writeb(SAA7134_TS_SERIAL1, 0x00); |
