* [PATCH 1/4] si2157: implement sleep
@ 2014-07-10 11:13 Antti Palosaari
2014-07-10 11:13 ` [PATCH 2/4] si2168: " Antti Palosaari
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Antti Palosaari @ 2014-07-10 11:13 UTC (permalink / raw)
To: linux-media; +Cc: Antti Palosaari
Implement sleep for power-management.
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/tuners/si2157.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c
index 271a752..3f88e53 100644
--- a/drivers/media/tuners/si2157.c
+++ b/drivers/media/tuners/si2157.c
@@ -89,12 +89,23 @@ static int si2157_init(struct dvb_frontend *fe)
static int si2157_sleep(struct dvb_frontend *fe)
{
struct si2157 *s = fe->tuner_priv;
+ int ret;
+ struct si2157_cmd cmd;
dev_dbg(&s->client->dev, "%s:\n", __func__);
s->active = false;
+ memcpy(cmd.args, "\x13", 1);
+ cmd.len = 1;
+ ret = si2157_cmd_execute(s, &cmd);
+ if (ret)
+ goto err;
+
return 0;
+err:
+ dev_dbg(&s->client->dev, "%s: failed=%d\n", __func__, ret);
+ return ret;
}
static int si2157_set_params(struct dvb_frontend *fe)
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/4] si2168: implement sleep
2014-07-10 11:13 [PATCH 1/4] si2157: implement sleep Antti Palosaari
@ 2014-07-10 11:13 ` Antti Palosaari
2014-07-10 11:13 ` [PATCH 3/4] si2168: set cmd args using memcpy Antti Palosaari
2014-07-10 11:13 ` [PATCH 4/4] si2168: implement CNR statistic Antti Palosaari
2 siblings, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2014-07-10 11:13 UTC (permalink / raw)
To: linux-media; +Cc: Antti Palosaari
Implement sleep for power-management.
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/dvb-frontends/si2168.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 8637d2e..0d0545e 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -438,13 +438,6 @@ static int si2168_init(struct dvb_frontend *fe)
dev_dbg(&s->client->dev, "%s:\n", __func__);
- cmd.args[0] = 0x13;
- cmd.wlen = 1;
- cmd.rlen = 0;
- ret = si2168_cmd_execute(s, &cmd);
- if (ret)
- goto err;
-
cmd.args[0] = 0xc0;
cmd.args[1] = 0x12;
cmd.args[2] = 0x00;
@@ -559,12 +552,24 @@ err:
static int si2168_sleep(struct dvb_frontend *fe)
{
struct si2168 *s = fe->demodulator_priv;
+ int ret;
+ struct si2168_cmd cmd;
dev_dbg(&s->client->dev, "%s:\n", __func__);
s->active = false;
+ memcpy(cmd.args, "\x13", 1);
+ cmd.wlen = 1;
+ cmd.rlen = 0;
+ ret = si2168_cmd_execute(s, &cmd);
+ if (ret)
+ goto err;
+
return 0;
+err:
+ dev_dbg(&s->client->dev, "%s: failed=%d\n", __func__, ret);
+ return ret;
}
static int si2168_get_tune_settings(struct dvb_frontend *fe,
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/4] si2168: set cmd args using memcpy
2014-07-10 11:13 [PATCH 1/4] si2157: implement sleep Antti Palosaari
2014-07-10 11:13 ` [PATCH 2/4] si2168: " Antti Palosaari
@ 2014-07-10 11:13 ` Antti Palosaari
2014-07-10 11:13 ` [PATCH 4/4] si2168: implement CNR statistic Antti Palosaari
2 siblings, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2014-07-10 11:13 UTC (permalink / raw)
To: linux-media; +Cc: Antti Palosaari
Use memcpy for set cmd buffer in order to keep style in line with
rest of file.
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/dvb-frontends/si2168.c | 48 +++++++-----------------------------
1 file changed, 9 insertions(+), 39 deletions(-)
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 0d0545e..3a40181 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -95,20 +95,17 @@ static int si2168_read_status(struct dvb_frontend *fe, fe_status_t *status)
switch (c->delivery_system) {
case SYS_DVBT:
- cmd.args[0] = 0xa0;
- cmd.args[1] = 0x01;
+ memcpy(cmd.args, "\xa0\x01", 2);
cmd.wlen = 2;
cmd.rlen = 13;
break;
case SYS_DVBC_ANNEX_A:
- cmd.args[0] = 0x90;
- cmd.args[1] = 0x01;
+ memcpy(cmd.args, "\x90\x01", 2);
cmd.wlen = 2;
cmd.rlen = 9;
break;
case SYS_DVBT2:
- cmd.args[0] = 0x50;
- cmd.args[1] = 0x01;
+ memcpy(cmd.args, "\x50\x01", 2);
cmd.wlen = 2;
cmd.rlen = 14;
break;
@@ -412,7 +409,7 @@ static int si2168_set_frontend(struct dvb_frontend *fe)
if (ret)
goto err;
- cmd.args[0] = 0x85;
+ memcpy(cmd.args, "\x85", 1);
cmd.wlen = 1;
cmd.rlen = 1;
ret = si2168_cmd_execute(s, &cmd);
@@ -438,54 +435,28 @@ static int si2168_init(struct dvb_frontend *fe)
dev_dbg(&s->client->dev, "%s:\n", __func__);
- cmd.args[0] = 0xc0;
- cmd.args[1] = 0x12;
- cmd.args[2] = 0x00;
- cmd.args[3] = 0x0c;
- cmd.args[4] = 0x00;
- cmd.args[5] = 0x0d;
- cmd.args[6] = 0x16;
- cmd.args[7] = 0x00;
- cmd.args[8] = 0x00;
- cmd.args[9] = 0x00;
- cmd.args[10] = 0x00;
- cmd.args[11] = 0x00;
- cmd.args[12] = 0x00;
+ memcpy(cmd.args, "\xc0\x12\x00\x0c\x00\x0d\x16\x00\x00\x00\x00\x00\x00", 13);
cmd.wlen = 13;
cmd.rlen = 0;
ret = si2168_cmd_execute(s, &cmd);
if (ret)
goto err;
- cmd.args[0] = 0xc0;
- cmd.args[1] = 0x06;
- cmd.args[2] = 0x01;
- cmd.args[3] = 0x0f;
- cmd.args[4] = 0x00;
- cmd.args[5] = 0x20;
- cmd.args[6] = 0x20;
- cmd.args[7] = 0x01;
+ memcpy(cmd.args, "\xc0\x06\x01\x0f\x00\x20\x20\x01", 8);
cmd.wlen = 8;
cmd.rlen = 1;
ret = si2168_cmd_execute(s, &cmd);
if (ret)
goto err;
- cmd.args[0] = 0x02;
+ memcpy(cmd.args, "\x02", 1);
cmd.wlen = 1;
cmd.rlen = 13;
ret = si2168_cmd_execute(s, &cmd);
if (ret)
goto err;
- cmd.args[0] = 0x05;
- cmd.args[1] = 0x00;
- cmd.args[2] = 0xaa;
- cmd.args[3] = 0x4d;
- cmd.args[4] = 0x56;
- cmd.args[5] = 0x40;
- cmd.args[6] = 0x00;
- cmd.args[7] = 0x00;
+ memcpy(cmd.args, "\x05\x00\xaa\x4d\x56\x40\x00\x00", 8);
cmd.wlen = 8;
cmd.rlen = 1;
ret = si2168_cmd_execute(s, &cmd);
@@ -527,8 +498,7 @@ static int si2168_init(struct dvb_frontend *fe)
release_firmware(fw);
fw = NULL;
- cmd.args[0] = 0x01;
- cmd.args[1] = 0x01;
+ memcpy(cmd.args, "\x01\x01", 2);
cmd.wlen = 2;
cmd.rlen = 1;
ret = si2168_cmd_execute(s, &cmd);
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 4/4] si2168: implement CNR statistic
2014-07-10 11:13 [PATCH 1/4] si2157: implement sleep Antti Palosaari
2014-07-10 11:13 ` [PATCH 2/4] si2168: " Antti Palosaari
2014-07-10 11:13 ` [PATCH 3/4] si2168: set cmd args using memcpy Antti Palosaari
@ 2014-07-10 11:13 ` Antti Palosaari
2 siblings, 0 replies; 4+ messages in thread
From: Antti Palosaari @ 2014-07-10 11:13 UTC (permalink / raw)
To: linux-media; +Cc: Antti Palosaari
Implement CNR statistic.
Signed-off-by: Antti Palosaari <crope@iki.fi>
---
drivers/media/dvb-frontends/si2168.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index 3a40181..d561d2c 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -141,6 +141,15 @@ static int si2168_read_status(struct dvb_frontend *fe, fe_status_t *status)
s->fe_status = *status;
+ if (*status & FE_HAS_LOCK) {
+ c->cnr.len = 1;
+ c->cnr.stat[0].scale = FE_SCALE_DECIBEL;
+ c->cnr.stat[0].svalue = cmd.args[3] * 1000 / 4;
+ } else {
+ c->cnr.len = 1;
+ c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+ }
+
dev_dbg(&s->client->dev, "%s: status=%02x args=%*ph\n",
__func__, *status, cmd.rlen, cmd.args);
--
1.9.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-07-10 11:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-10 11:13 [PATCH 1/4] si2157: implement sleep Antti Palosaari
2014-07-10 11:13 ` [PATCH 2/4] si2168: " Antti Palosaari
2014-07-10 11:13 ` [PATCH 3/4] si2168: set cmd args using memcpy Antti Palosaari
2014-07-10 11:13 ` [PATCH 4/4] si2168: implement CNR statistic Antti Palosaari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).