aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb-frontends/si2168.c
diff options
context:
space:
mode:
authorBrad Love <brad@nextdimension.cc>2018-01-17 17:31:58 -0500
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2018-03-06 07:40:14 -0500
commitd4c779bc91d1faef76351ccd6d326f729cdfcb1e (patch)
tree7e2bd5d198ef7a78f7bf15b15f2a340f2a9a3385 /drivers/media/dvb-frontends/si2168.c
parentmedia: s3c-camif: fix out-of-bounds array access (diff)
downloadlinux-dev-d4c779bc91d1faef76351ccd6d326f729cdfcb1e.tar.xz
linux-dev-d4c779bc91d1faef76351ccd6d326f729cdfcb1e.zip
media: si2168: Add spectrum inversion property
Some tuners produce inverted spectrum, but the si2168 is not currently set up to accept it. This adds an optional parameter to set the frontend up to receive inverted spectrum. Parameter is optional and only boards who enable inversion will utilize this. Signed-off-by: Brad Love <brad@nextdimension.cc> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/dvb-frontends/si2168.c')
-rw-r--r--drivers/media/dvb-frontends/si2168.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index c1a638c8565d..282dc92cb102 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -339,6 +339,8 @@ static int si2168_set_frontend(struct dvb_frontend *fe)
memcpy(cmd.args, "\x14\x00\x0a\x10\x00\x00", 6);
cmd.args[4] = delivery_system | bandwidth;
+ if (dev->spectral_inversion)
+ cmd.args[5] |= 1;
cmd.wlen = 6;
cmd.rlen = 4;
ret = si2168_cmd_execute(client, &cmd);
@@ -798,6 +800,7 @@ static int si2168_probe(struct i2c_client *client,
dev->ts_mode = config->ts_mode;
dev->ts_clock_inv = config->ts_clock_inv;
dev->ts_clock_gapped = config->ts_clock_gapped;
+ dev->spectral_inversion = config->spectral_inversion;
dev_info(&client->dev, "Silicon Labs Si2168-%c%d%d successfully identified\n",
dev->version >> 24 & 0xff, dev->version >> 16 & 0xff,