OSDN Git Service

media: si2157: add support for 1.7MHz and 6.1 MHz
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 10 Dec 2021 12:37:54 +0000 (13:37 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 14 Dec 2021 15:19:04 +0000 (16:19 +0100)
Some tuners allow setting the bandwidth filter to 1.7MHz and
6.1 MHz. Add support for it upstream, as the narrower is the
bandwidth filter, the better.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/tuners/si2157.c
drivers/media/tuners/si2157_priv.h

index aeecb38..2d3937a 100644 (file)
@@ -458,8 +458,12 @@ static int si2157_set_params(struct dvb_frontend *fe)
                goto err;
        }
 
+       if (SUPPORTS_1700KHz(dev) && c->bandwidth_hz <= 1700000)
+               bandwidth = 0x09;
        if (c->bandwidth_hz <= 6000000)
                bandwidth = 0x06;
+       if (SUPPORTS_1700KHz(dev) && c->bandwidth_hz <= 6100000)
+               bandwidth = 0x10;
        else if (c->bandwidth_hz <= 7000000)
                bandwidth = 0x07;
        else if (c->bandwidth_hz <= 8000000)
index df17a5f..24849c8 100644 (file)
@@ -66,6 +66,11 @@ struct si2157_cmd {
        unsigned rlen;
 };
 
+#define SUPPORTS_1700KHz(dev) (((dev)->part_id == SI2141) || \
+                              ((dev)->part_id == SI2147) || \
+                              ((dev)->part_id == SI2157) || \
+                              ((dev)->part_id == SI2177))
+
 /* Old firmware namespace */
 #define SI2158_A20_FIRMWARE "dvb-tuner-si2158-a20-01.fw"
 #define SI2141_A10_FIRMWARE "dvb-tuner-si2141-a10-01.fw"