Messages in this thread Patch in this message | | | From | Marc Gonzalez <> | Subject | Re: si2168: different default that windows driver | Date | Wed, 17 Jun 2020 15:55:07 +0200 |
| |
Hello Brad,
I found this patch you wrote: https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/blob/master/patches/mainline-extra/tip/10.random.patches/0004-si2168-different-default-that-windows-driver.patch
Subject: [PATCH 4/5] si2168: different default that windows driver
Unsure of meaning, look into... --- drivers/media/dvb-frontends/si2168.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 0d9d384cf..72794ead8 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c @@ -418,6 +418,8 @@ static int si2168_set_frontend(struct dvb_frontend *fe) } cmd_init(&cmd, "\x14\x00\x0f\x10\x10\x00", 6, 4); + /* BUGBUG? FW defaults to 1, but windows driver uses 30; above is 0? */ + cmd.args[5] = 30; ret = si2168_cmd_execute(client, &cmd); if (ret) goto err;
0x14 = SET_PROPERTY args[1] is ignored args[2:3] = little-endian property = 0x100f args[4:5] = little-endian prop_arg = 0x0010
0x100f configures the "Signal Quality Indicator" computation. The value is averaged over the last N samples. N = prop_arg_bits[0:4] (legal values are 1-30, dunno what happens for 0 and 31)
You're not supposed to change args[5] i.e. prop_arg_bits[8:15] Maybe you meant cmd.args[4] = 30; ? Or just change the command to "\x14\x00\x0f\x10\x1e\x00" ? Or just use 16 samples instead of 30 for the averaging?
Regards.
| |