diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/dvb-frontends/si2168.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 5fbb6c12b766..680ba06c29fb 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c | |||
@@ -178,6 +178,28 @@ static int si2168_read_status(struct dvb_frontend *fe, enum fe_status *status) | |||
178 | c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 178 | c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
179 | } | 179 | } |
180 | 180 | ||
181 | /* UCB */ | ||
182 | if (*status & FE_HAS_SYNC) { | ||
183 | memcpy(cmd.args, "\x84\x01", 2); | ||
184 | cmd.wlen = 2; | ||
185 | cmd.rlen = 3; | ||
186 | ret = si2168_cmd_execute(client, &cmd); | ||
187 | if (ret) | ||
188 | goto err; | ||
189 | |||
190 | utmp1 = cmd.args[2] << 8 | cmd.args[1] << 0; | ||
191 | dev_dbg(&client->dev, "block_error=%u\n", utmp1); | ||
192 | |||
193 | /* Sometimes firmware returns bogus value */ | ||
194 | if (utmp1 == 0xffff) | ||
195 | utmp1 = 0; | ||
196 | |||
197 | c->block_error.stat[0].scale = FE_SCALE_COUNTER; | ||
198 | c->block_error.stat[0].uvalue += utmp1; | ||
199 | } else { | ||
200 | c->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
201 | } | ||
202 | |||
181 | return 0; | 203 | return 0; |
182 | err: | 204 | err: |
183 | dev_dbg(&client->dev, "failed=%d\n", ret); | 205 | dev_dbg(&client->dev, "failed=%d\n", ret); |
@@ -535,6 +557,8 @@ warm: | |||
535 | c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 557 | c->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
536 | c->post_bit_count.len = 1; | 558 | c->post_bit_count.len = 1; |
537 | c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | 559 | c->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; |
560 | c->block_error.len = 1; | ||
561 | c->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
538 | 562 | ||
539 | dev->active = true; | 563 | dev->active = true; |
540 | 564 | ||