Skip to content
  • Mauro Carvalho Chehab's avatar
    [media] tda18271-common: hold the I2C adapter during write transfers · 78ef81f6
    Mauro Carvalho Chehab authored
    
    
    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: default avatarMichael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    78ef81f6