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
Makefile
e4000.c
e4000.h
e4000_priv.h
fc001x-common.h
fc0011.c
fc0011.h
fc0012-priv.h
fc0012.c
fc0012.h
fc0013-priv.h
fc0013.c
fc0013.h
fc2580.c
fc2580.h
fc2580_priv.h
max2165.c
max2165.h
max2165_priv.h
mc44s803.c
mc44s803.h
mc44s803_priv.h
mt20xx.c
mt20xx.h
mt2060.c
mt2060.h
mt2060_priv.h
mt2063.c
mt2063.h
mt2131.c
mt2131.h
mt2131_priv.h
mt2266.c
mt2266.h
mxl5005s.c
mxl5005s.h
mxl5007t.c
mxl5007t.h
qt1010.c
qt1010.h
qt1010_priv.h
tda827x.c
tda827x.h
tda8290.c
tda8290.h
tda9887.c
tda9887.h
tda18212.c
tda18212.h
tda18218.c
tda18218.h
tda18218_priv.h
tda18271-common.c
tda18271-fe.c
tda18271-maps.c
tda18271-priv.h
tda18271.h
tea5761.c
tea5761.h
tea5767.c
tea5767.h
tua9001.c
tua9001.h
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