WSL2-Linux-Kernel/drivers/media/tuners
Mauro Carvalho Chehab 78ef81f6ea [media] tda18271-common: hold the I2C adapter during write transfers
The tda18271 datasheet says:
	"The image rejection calibration and RF tracking filter
	 calibration must be launched exactly as described in the
	 flowchart, otherwise bad calibration or even blocking of the
	 TDA18211HD can result making it impossible to communicate
	 via the I2C-bus."
(yeah, tda18271 refers there to tda18211 - likely a typo at their
 datasheets)
That likely explains why sometimes tda18271 stops answering. That
is now happening more often on designs with drx-k chips, as the
firmware is now loaded asyncrousnly there.
While the above text doesn't explicitly tell that the I2C bus
couldn't be used by other devices during such initialization,
that seems to be a requirement there.
So, let's explicitly use the I2C lock there, avoiding I2C bus
share during those critical moments.
Compile-tested only. Please test.

Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-10-07 09:43:01 -03:00
..
Kconfig [media] v4l2: remove experimental tag from a number of old drivers 2012-09-26 09:44:42 -03:00
Makefile [media] tuners: add FCI FC2580 silicon tuner driver 2012-09-23 17:12:23 -03:00
e4000.c [media] e4000: fix crash when attach fails 2012-09-27 15:17:44 -03:00
e4000.h [media] Elonics E4000 silicon tuner driver 2012-09-18 12:24:59 -03:00
e4000_priv.h [media] Elonics E4000 silicon tuner driver 2012-09-18 12:24:59 -03:00
fc001x-common.h
fc0011.c
fc0011.h
fc0012-priv.h
fc0012.c
fc0012.h
fc0013-priv.h
fc0013.c
fc0013.h
fc2580.c [media] fc2580: use macro for 64 bit division and reminder 2012-10-01 17:07:06 -03:00
fc2580.h [media] tuners: add FCI FC2580 silicon tuner driver 2012-09-23 17:12:23 -03:00
fc2580_priv.h [media] tuners: add FCI FC2580 silicon tuner driver 2012-09-23 17:12:23 -03:00
max2165.c
max2165.h
max2165_priv.h
mc44s803.c [media] mc44s803: implement get_if_frequency() 2012-09-18 12:54:44 -03:00
mc44s803.h
mc44s803_priv.h
mt20xx.c
mt20xx.h
mt2060.c
mt2060.h
mt2060_priv.h
mt2063.c [media] mt2063: properly handle return error codes 2012-10-06 11:21:02 -03:00
mt2063.h [media] mt2063: properly handle return error codes 2012-10-06 11:21:02 -03:00
mt2131.c
mt2131.h
mt2131_priv.h
mt2266.c
mt2266.h
mxl5005s.c [media] mxl5005s: implement get_if_frequency() 2012-09-18 12:51:00 -03:00
mxl5005s.h
mxl5007t.c
mxl5007t.h
qt1010.c [media] qt1010: remove debug register dump 2012-09-15 09:21:41 -03:00
qt1010.h
qt1010_priv.h
tda827x.c
tda827x.h
tda8290.c
tda8290.h
tda9887.c
tda9887.h
tda18212.c
tda18212.h
tda18218.c [media] tda18218: switch to Kernel logging 2012-09-15 09:23:16 -03:00
tda18218.h
tda18218_priv.h [media] tda18218: switch to Kernel logging 2012-09-15 09:23:16 -03:00
tda18271-common.c [media] tda18271-common: hold the I2C adapter during write transfers 2012-10-07 09:43:01 -03:00
tda18271-fe.c [media] tda18271: properly report read errors in tda18271_get_id 2012-10-02 15:17:46 -03:00
tda18271-maps.c
tda18271-priv.h
tda18271.h [media] tda18271: delay IR & RF calibration until init() if delay_cal is set 2012-10-02 15:16:04 -03:00
tea5761.c
tea5761.h
tea5767.c
tea5767.h
tua9001.c [media] tua9001: enter full power save on attach 2012-09-27 04:26:07 -03:00
tua9001.h [media] tua9001: implement control pin callbacks 2012-09-23 19:41:38 -03:00
tua9001_priv.h
tuner-i2c.h
tuner-simple.c
tuner-simple.h
tuner-types.c
tuner-xc2028-types.h
tuner-xc2028.c
tuner-xc2028.h
xc4000.c
xc4000.h
xc5000.c
xc5000.h