Re: si2168: different default that windows driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux