OpenCloudOS-Kernel/drivers/media/video/saa7134
Mauro Carvalho Chehab ecb71d262b [media] saa7134: Kworld SBTVD: make both analog and digital to work
There are some weird bugs at tda8290/tda18271 initialization, as it
insits do do analog initialization during DVB frontend attach:

DVB: registering new adapter (saa7133[0])
DVB: registering adapter 0 frontend 0 (Fujitsu mb86A20s)...
mb86a20s: mb86a20s_initfe
tda18271_write_regs: [2-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5
tda18271_init: [2-0060|M] error -5 on line 830
tda18271_tune: [2-0060|M] error -5 on line 908
tda18271_write_regs
tda18271_write_regs: [2-0060|M] ERROR: idx = 0x5, len = 1, i2c_transfer returned: -5
tda18271c2_rf_tracking_filters_correction: [2-0060|M] error -5 on line 265
tda18271_write_regs
tda18271_write_regs: [2-0060|M] ERROR: idx = 0x25, len = 1, i2c_transfer returned: -5
tda18271_channel_configuration: [2-0060|M] error -5 on line 119
tda18271_set_analog_params: [2-0060|M] error -5 on line 1045
tda18271_set_analog_params: [2-0060|M] error -5 on line 1045
tda829x 2-004b: tda8295 not locked, no signal?
tda829x 2-004b: tda8295_i2c_bridge: disable i2c gate
tda829x 2-004b: tda8295 not locked, no signal?
tda829x 2-004b: tda8295_i2c_bridge: disable i2c gate
mb86a20s_i2c_writereg: writereg error (rc == -5, reg == 0x29, data == 0x33)
mb86a20s: Init failed. Will try again later

The problem is that mb86a20s is only visible if the analog part is disabled.

However, due to a trick at mb86a20s, it will later initialize properly:

mb86a20s: mb86a20s_initfe: Initialization succeded.

This is hacky and ugly. However, I coldn't find any easy way to fix it.
A proper fix would be to have a resource locking schema, used by both
V4L and DVB parts that would block access to analog registers while
digital registers are in use, but this will probably put tda829x into
a dead lock.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-01-19 11:45:28 -02:00
..
Kconfig [media] rc: rename the remaining things to rc_core 2010-12-29 08:16:50 -02:00
Makefile V4L/DVB: saa7134-input can't be a module right now 2010-10-21 01:16:52 -02:00
saa6752hs.c V4L/DVB: saa6752hs: remove obsolete v4l2-i2c-drv.h header 2010-10-21 01:05:59 -02:00
saa7134-alsa.c V4L/DVB: drivers/media: Remove unnecessary casts of private_data 2010-08-02 16:42:53 -03:00
saa7134-cards.c [media] saa7134: Kworld SBTVD: make both analog and digital to work 2011-01-19 11:45:28 -02:00
saa7134-core.c Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
saa7134-dvb.c [media] saa7134: Kworld SBTVD: make both analog and digital to work 2011-01-19 11:45:28 -02:00
saa7134-empress.c media/video: don't use flush_scheduled_work() 2010-12-24 16:14:20 +01:00
saa7134-i2c.c V4L/DVB: saa7134: get rid of I2C_HW_SAA7134 2010-10-21 01:06:07 -02:00
saa7134-input.c [media] saa7134: Add support for Compro VideoMate Vista M1F 2010-12-29 08:17:17 -02:00
saa7134-reg.h V4L/DVB: saa7134: Fix IRQ2 bit names for the register map 2010-05-19 12:56:52 -03:00
saa7134-ts.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa7134-tvaudio.c [media] drivers/media: Removed unnecessary KERN_<level>s from dprintk uses 2010-12-29 08:16:29 -02:00
saa7134-vbi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
saa7134-video.c [media] v4l: fix handling of v4l2_input.capabilities 2010-12-30 08:02:29 -02:00
saa7134.h [media] saa7134: Add support for Compro VideoMate Vista M1F 2010-12-29 08:17:17 -02:00