android_kernel_asus_sm8350/drivers/media/common/tuners
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] Fix Kconfig errors due to two visible menus 2010-11-22 11:27:36 -02:00
Makefile V4L/DVB: NXP TDA18218 silicon tuner driver 2010-10-21 01:04:42 -02:00
max2165_priv.h V4L/DVB (13373): Maxium MAX2165 silicon tuner 2009-12-05 18:41:33 -02:00
max2165.c [media] drivers/media: Removed unnecessary KERN_<level>s from dprintk uses 2010-12-29 08:16:29 -02:00
max2165.h V4L/DVB (13373): Maxium MAX2165 silicon tuner 2009-12-05 18:41:33 -02:00
mc44s803_priv.h V4L/DVB (10452): Add Freescale MC44S803 tuner driver 2009-03-30 12:42:39 -03:00
mc44s803.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
mc44s803.h V4L/DVB (10452): Add Freescale MC44S803 tuner driver 2009-03-30 12:42:39 -03:00
mt20xx.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
mt20xx.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
mt2060_priv.h
mt2060.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
mt2060.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
mt2131_priv.h V4L/DVB (8805): Steven Toth email address change 2008-09-03 18:37:21 -03:00
mt2131.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
mt2131.h V4L/DVB (8805): Steven Toth email address change 2008-09-03 18:37:21 -03:00
mt2266.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
mt2266.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
mxl5005s.c V4L/DVB (13331): mxl5005s: provide ability to override QAM gain for HVR-1600 2009-12-05 18:41:23 -02:00
mxl5005s.h V4L/DVB (13331): mxl5005s: provide ability to override QAM gain for HVR-1600 2009-12-05 18:41:23 -02:00
mxl5007t.c V4L/DVB: Fix test in copy_reg_bits() 2009-12-05 18:41:45 -02:00
mxl5007t.h V4L/DVB (8549): mxl5007: Fix an error at include file 2008-07-27 19:36:08 -03:00
qt1010_priv.h
qt1010.c V4L/DVB (12341): zl10353 and qt1010: fix stack corruption bug 2009-08-13 20:39:02 -03:00
qt1010.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
tda827x.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
tda827x.h V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback 2008-10-12 09:37:09 -02:00
tda8290.c [media] saa7134: Kworld SBTVD: make both analog and digital to work 2011-01-19 11:45:28 -02:00
tda8290.h V4L/DVB (9049): convert tuner drivers to use dvb_frontend->callback 2008-10-12 09:37:09 -02:00
tda9887.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
tda9887.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
tda18218_priv.h V4L/DVB: NXP TDA18218 silicon tuner driver 2010-10-21 01:04:42 -02:00
tda18218.c [media] tda18218: fix compile warning 2011-01-04 16:47:45 -02:00
tda18218.h V4L/DVB: NXP TDA18218 silicon tuner driver 2010-10-21 01:04:42 -02:00
tda18271-common.c [media] af9015: Fix max I2C message size when used with tda18271 2010-10-27 15:02:35 -02:00
tda18271-fe.c V4L/DVB: tda18271: Add some hint about what tda18217 reg ID returned 2010-10-21 01:06:19 -02:00
tda18271-maps.c V4L/DVB (13112): tda18271: display some state information in debug output 2009-12-05 18:40:24 -02:00
tda18271-priv.h V4L/DVB (13214): tda18271: allow for i2c buses that cant send 16 bytes at once 2009-12-05 18:40:55 -02:00
tda18271.h [media] tda18271: allow restricting max out to 4 bytes 2010-10-21 01:17:43 -02:00
tea5761.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
tea5761.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
tea5767.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
tea5767.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
tuner-i2c.h 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
tuner-simple.c V4L/DVB: tuners:tuner-simple Fix warning: variable 'tun' set but not used 2010-08-02 15:29:39 -03:00
tuner-simple.h Rename common tuner Kconfig names to use the same 2008-04-29 18:41:38 -03:00
tuner-types.c V4L/DVB: tuner: Add a definition for the Philips FQ1236 MK5 NTSC tuner 2010-07-08 16:49:53 -03:00
tuner-xc2028-types.h
tuner-xc2028.c V4L/DVB: xc3028: fix regression in firmware loading time 2010-05-18 00:43:45 -03:00
tuner-xc2028.h V4L/DVB (12825): tm6000: I2C reading operations is not reliable on tm6000 2010-05-18 00:40:06 -03:00
xc5000.c V4L/DVB: drivers/media: Make static data tables and strings const 2010-10-21 01:04:52 -02:00
xc5000.h V4L/DVB: drivers/media: Make static data tables and strings const 2010-10-21 01:04:52 -02:00