media: m88ds3103: Fix lock led support
authorMichael Bunk <micha@freedict.org>
Sun, 16 Jan 2022 11:22:35 +0000 (11:22 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 29 Apr 2024 08:19:55 +0000 (09:19 +0100)
The new m88ds3101b demodulator version requires the highest bit of
register 0x11 be cleared after tuning to a new frequency to make the
lock output pin go high when a signal is found.  This pin is normally
connected to an indicator led.

Link: https://lore.kernel.org/linux-media/20220116112238.74171-1-micha@freedict.org
Signed-off-by: Michael Bunk <micha@freedict.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/dvb-frontends/m88ds3103.c

index e0272054fca511252762fd29f514dc48876e35c0..389548fa2e0c47ddc395d5485c2066fcf5954b2e 100644 (file)
@@ -1000,6 +1000,13 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
        if (ret)
                goto err;
 
+       if (dev->chiptype == M88DS3103_CHIPTYPE_3103B) {
+               /* to light up the LOCK led */
+               ret = m88ds3103_update_bits(dev, 0x11, 0x80, 0x00);
+               if (ret)
+                       goto err;
+       }
+
        dev->delivery_system = c->delivery_system;
 
        return 0;