[media] af9033: feed clock to RF tuner
authorAntti Palosaari <crope@iki.fi>
Sat, 9 Aug 2014 04:03:14 +0000 (01:03 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 4 Sep 2014 15:23:56 +0000 (12:23 -0300)
IT9135 RF tuner clock is coming from demodulator. We need enable it
early in demod init, before any tuner I/O. Currently it is enabled
by tuner driver itself, but it is too late and performance will be
reduced as some registers are not updated correctly. Clock is
disabled automatically when demod is put onto sleep.

Cc: <stable@vger.kernel.org> # v3.15+
Cc: Bimow Chen <Bimow.Chen@ite.com.tw>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/af9033.c

index be4bec2a96408b896b9e3e6e62a4a8ac70c4d566..5c90ea683a7e732d3431c8973e43b4ffea649c55 100644 (file)
@@ -314,6 +314,19 @@ static int af9033_init(struct dvb_frontend *fe)
                        goto err;
        }
 
+       /* feed clock to RF tuner */
+       switch (state->cfg.tuner) {
+       case AF9033_TUNER_IT9135_38:
+       case AF9033_TUNER_IT9135_51:
+       case AF9033_TUNER_IT9135_52:
+       case AF9033_TUNER_IT9135_60:
+       case AF9033_TUNER_IT9135_61:
+       case AF9033_TUNER_IT9135_62:
+               ret = af9033_wr_reg(state, 0x80fba8, 0x00);
+               if (ret < 0)
+                       goto err;
+       }
+
        /* settings for TS interface */
        if (state->cfg.ts_mode == AF9033_TS_MODE_USB) {
                ret = af9033_wr_reg_mask(state, 0x80f9a5, 0x00, 0x01);