From: Daniel Scheller <d.schel...@gmx.net>

Adds a flag to enable or disable the IFAGCNEG bit in cxd2841er_init_tc().

Signed-off-by: Daniel Scheller <d.schel...@gmx.net>
---
 drivers/media/dvb-frontends/cxd2841er.c | 5 +++--
 drivers/media/dvb-frontends/cxd2841er.h | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/media/dvb-frontends/cxd2841er.c 
b/drivers/media/dvb-frontends/cxd2841er.c
index 67d4399..67bd13c 100644
--- a/drivers/media/dvb-frontends/cxd2841er.c
+++ b/drivers/media/dvb-frontends/cxd2841er.c
@@ -3783,9 +3783,10 @@ static int cxd2841er_init_tc(struct dvb_frontend *fe)
        dev_dbg(&priv->i2c->dev, "%s() bandwidth_hz=%d\n",
                        __func__, p->bandwidth_hz);
        cxd2841er_shutdown_to_sleep_tc(priv);
-       /* SONY_DEMOD_CONFIG_IFAGCNEG = 1 */
+       /* SONY_DEMOD_CONFIG_IFAGCNEG = 1 (0 for NO_AGCNEG */
        cxd2841er_write_reg(priv, I2C_SLVT, 0x00, 0x10);
-       cxd2841er_set_reg_bits(priv, I2C_SLVT, 0xcb, 0x40, 0x40);
+       cxd2841er_set_reg_bits(priv, I2C_SLVT, 0xcb,
+               ((priv->flags & CXD2841ER_NO_AGCNEG) ? 0x00 : 0x40), 0x40);
        /* SONY_DEMOD_CONFIG_IFAGC_ADC_FS = 0 */
        cxd2841er_write_reg(priv, I2C_SLVT, 0xcd, 0x50);
        /* SONY_DEMOD_CONFIG_PARALLEL_SEL = 1 */
diff --git a/drivers/media/dvb-frontends/cxd2841er.h 
b/drivers/media/dvb-frontends/cxd2841er.h
index d77b59f..4f94422 100644
--- a/drivers/media/dvb-frontends/cxd2841er.h
+++ b/drivers/media/dvb-frontends/cxd2841er.h
@@ -30,6 +30,7 @@
 #define CXD2841ER_ASCOT                8       /* bit 3 */
 #define CXD2841ER_EARLY_TUNE   16      /* bit 4 */
 #define CXD2841ER_NO_WAIT_LOCK 32      /* bit 5 */
+#define CXD2841ER_NO_AGCNEG    64      /* bit 6 */
 
 enum cxd2841er_xtal {
        SONY_XTAL_20500, /* 20.5 MHz */
-- 
2.10.2

Reply via email to