diff options
-rw-r--r-- | .hgignore | 11 | ||||
-rw-r--r-- | linux/drivers/media/video/Kconfig | 9 | ||||
-rw-r--r-- | linux/drivers/media/video/Makefile | 2 | ||||
-rw-r--r-- | linux/drivers/media/video/bt866.c | 2 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-core.c | 10 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-tvaudio.c | 4 | ||||
-rw-r--r-- | linux/drivers/media/video/em28xx/Kconfig | 1 | ||||
-rw-r--r-- | linux/drivers/media/video/tvp5150.c | 7 |
8 files changed, 34 insertions, 12 deletions
@@ -1,3 +1,6 @@ +.*[.]rej +.*[.]orig +.*[~] v4l/.version v4l/.tmp_versions/.* v4l/[^/]*[.]c @@ -9,16 +12,14 @@ v4l/Kconfig v4l/Kconfig.kern v4l/Makefile.media v4l/ivtv -.*[.]rej -.*[.]orig -.*[~] -.myconfig v4l/Modules.symvers v4l/scripts/Kconfig v4l/scripts/Kconfig.kern v4l/config-compat.h +v4l/.myconfig test/ioctl-test test/sliced-vbi-detect test/sliced-vbi-test test/vbi-test - +.pc +patches/ diff --git a/linux/drivers/media/video/Kconfig b/linux/drivers/media/video/Kconfig index af6c9f992..ebf0a7a95 100644 --- a/linux/drivers/media/video/Kconfig +++ b/linux/drivers/media/video/Kconfig @@ -406,6 +406,15 @@ config VIDEO_SAA711X To compile this driver as a module, choose M here: the module will be called saa7115. +config VIDEO_TVP5150 + tristate "Texas Instruments TVP5150 video decoder" + depends on VIDEO_DEV && I2C + ---help--- + Support for the Texas Instruments TVP5150 video decoder. + + To compile this driver as a module, choose M here: the + module will be called tvp5150. + config VIDEO_SAA7127 tristate "Philips SAA7127/9 digital video encoders" depends on VIDEO_V4L2 && I2C && EXPERIMENTAL diff --git a/linux/drivers/media/video/Makefile b/linux/drivers/media/video/Makefile index e82e511f2..231f62b57 100644 --- a/linux/drivers/media/video/Makefile +++ b/linux/drivers/media/video/Makefile @@ -46,7 +46,7 @@ obj-$(CONFIG_VIDEO_MEYE) += meye.o obj-$(CONFIG_VIDEO_SAA7134) += ir-kbd-i2c.o saa7134/ obj-$(CONFIG_VIDEO_CX88) += cx88/ obj-$(CONFIG_VIDEO_EM28XX) += em28xx/ -obj-$(CONFIG_VIDEO_EM28XX) += tvp5150.o +obj-$(CONFIG_VIDEO_TVP5150) += tvp5150.o obj-$(CONFIG_VIDEO_PVRUSB2) += pvrusb2/ obj-$(CONFIG_VIDEO_MSP3400) += msp3400.o obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o diff --git a/linux/drivers/media/video/bt866.c b/linux/drivers/media/video/bt866.c index 64f21c0a2..06c1a918f 100644 --- a/linux/drivers/media/video/bt866.c +++ b/linux/drivers/media/video/bt866.c @@ -66,7 +66,7 @@ MODULE_LICENSE("GPL"); struct bt866 { struct i2c_client *i2c; int addr; - unsigned char reg[128]; + unsigned char reg[256]; int norm; int enable; diff --git a/linux/drivers/media/video/cx88/cx88-core.c b/linux/drivers/media/video/cx88/cx88-core.c index fbbb6ecf5..849e5bef1 100644 --- a/linux/drivers/media/video/cx88/cx88-core.c +++ b/linux/drivers/media/video/cx88/cx88-core.c @@ -832,6 +832,11 @@ int cx88_start_audio_dma(struct cx88_core *core) { /* constant 128 made buzz in analog Nicam-stereo for bigger fifo_size */ int bpl = cx88_sram_channels[SRAM_CH25].fifo_size/4; + + /* If downstream RISC is enabled, bail out; ALSA is managing DMA */ + if (cx_read(MO_AUD_DMACNTRL) & 0x10) + return 0; + /* setup fifo + format */ cx88_sram_channel_setup(core, &cx88_sram_channels[SRAM_CH25], bpl, 0); cx88_sram_channel_setup(core, &cx88_sram_channels[SRAM_CH26], bpl, 0); @@ -841,11 +846,16 @@ int cx88_start_audio_dma(struct cx88_core *core) /* start dma */ cx_write(MO_AUD_DMACNTRL, 0x0003); /* Up and Down fifo enable */ + return 0; } int cx88_stop_audio_dma(struct cx88_core *core) { + /* If downstream RISC is enabled, bail out; ALSA is managing DMA */ + if (cx_read(MO_AUD_DMACNTRL) & 0x10) + return 0; + /* stop dma */ cx_write(MO_AUD_DMACNTRL, 0x0000); diff --git a/linux/drivers/media/video/cx88/cx88-tvaudio.c b/linux/drivers/media/video/cx88/cx88-tvaudio.c index fccba4f6c..bb14a3598 100644 --- a/linux/drivers/media/video/cx88/cx88-tvaudio.c +++ b/linux/drivers/media/video/cx88/cx88-tvaudio.c @@ -140,14 +140,10 @@ static void set_audio_finish(struct cx88_core *core, u32 ctl) { u32 volume; -#ifndef CONFIG_VIDEO_CX88_ALSA /* restart dma; This avoids buzz in NICAM and is good in others */ cx88_stop_audio_dma(core); -#endif cx_write(AUD_RATE_THRES_DMD, 0x000000C0); -#ifndef CONFIG_VIDEO_CX88_ALSA cx88_start_audio_dma(core); -#endif if (cx88_boards[core->board].blackbird) { /* sets sound input from external adc */ diff --git a/linux/drivers/media/video/em28xx/Kconfig b/linux/drivers/media/video/em28xx/Kconfig index dfb15bfb8..538d0fd5d 100644 --- a/linux/drivers/media/video/em28xx/Kconfig +++ b/linux/drivers/media/video/em28xx/Kconfig @@ -6,6 +6,7 @@ config VIDEO_EM28XX select VIDEO_TVEEPROM select VIDEO_IR select VIDEO_SAA711X + select VIDEO_TVP5150 ---help--- This is a video4linux driver for Empia 28xx based TV cards. diff --git a/linux/drivers/media/video/tvp5150.c b/linux/drivers/media/video/tvp5150.c index 7cafcd52b..1eb6e96bd 100644 --- a/linux/drivers/media/video/tvp5150.c +++ b/linux/drivers/media/video/tvp5150.c @@ -325,7 +325,7 @@ static inline void tvp5150_selmux(struct i2c_client *c) if ((decoder->route.output & TVP5150_BLACK_SCREEN) || !decoder->enable) input = 8; - switch (input) { + switch (decoder->route.input) { case TVP5150_COMPOSITE1: input |= 2; /* fall through */ @@ -339,6 +339,11 @@ static inline void tvp5150_selmux(struct i2c_client *c) break; } + tvp5150_dbg( 1, "Selecting video route: route input=%i, output=%i " + "=> tvp5150 input=%i, opmode=%i\n", + decoder->route.input,decoder->route.output, + input, opmode ); + tvp5150_write(c, TVP5150_OP_MODE_CTL, opmode); tvp5150_write(c, TVP5150_VD_IN_SRC_SEL_1, input); }; |