diff options
author | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-03-10 07:22:34 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-03-11 06:37:21 -0400 |
commit | d591590e1b5bba2f96b44b1e05f65bc8269f0a68 (patch) | |
tree | a47bb1f16d503c6e48492a2b6942e9d2452c93d9 | |
parent | 80846a5c2f6650c903e6fa0708030cb6ba1124c8 (diff) |
[media] drx-j: enable DVBv5 stats
Now that everything is set, let's enable DVBv5 stats, for
applications that support it.
DVBv3 apps will still work.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r-- | drivers/media/dvb-frontends/drx39xyj/drxj.c | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c index 8098d87cda0b..0c0e9f3b108f 100644 --- a/drivers/media/dvb-frontends/drx39xyj/drxj.c +++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c | |||
@@ -6200,7 +6200,7 @@ rw_error: | |||
6200 | * \return Error code | 6200 | * \return Error code |
6201 | */ | 6201 | */ |
6202 | static int get_vsb_post_rs_pck_err(struct i2c_device_addr *dev_addr, | 6202 | static int get_vsb_post_rs_pck_err(struct i2c_device_addr *dev_addr, |
6203 | u16 *pck_errs, u16 *pck_count) | 6203 | u32 *pck_errs, u32 *pck_count) |
6204 | { | 6204 | { |
6205 | int rc; | 6205 | int rc; |
6206 | u16 data = 0; | 6206 | u16 data = 0; |
@@ -10664,8 +10664,8 @@ ctrl_sig_quality(struct drx_demod_instance *demod, | |||
10664 | struct dtv_frontend_properties *p = &state->frontend.dtv_property_cache; | 10664 | struct dtv_frontend_properties *p = &state->frontend.dtv_property_cache; |
10665 | enum drx_standard standard = ext_attr->standard; | 10665 | enum drx_standard standard = ext_attr->standard; |
10666 | int rc; | 10666 | int rc; |
10667 | u32 ber, cnt; | 10667 | u32 ber, cnt, err, pkt; |
10668 | u16 err, pkt, mer, strength; | 10668 | u16 mer, strength; |
10669 | 10669 | ||
10670 | rc = get_sig_strength(demod, &strength); | 10670 | rc = get_sig_strength(demod, &strength); |
10671 | if (rc < 0) { | 10671 | if (rc < 0) { |
@@ -12249,11 +12249,11 @@ static struct dvb_frontend_ops drx39xxj_ops; | |||
12249 | struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) | 12249 | struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) |
12250 | { | 12250 | { |
12251 | struct drx39xxj_state *state = NULL; | 12251 | struct drx39xxj_state *state = NULL; |
12252 | |||
12253 | struct i2c_device_addr *demod_addr = NULL; | 12252 | struct i2c_device_addr *demod_addr = NULL; |
12254 | struct drx_common_attr *demod_comm_attr = NULL; | 12253 | struct drx_common_attr *demod_comm_attr = NULL; |
12255 | struct drxj_data *demod_ext_attr = NULL; | 12254 | struct drxj_data *demod_ext_attr = NULL; |
12256 | struct drx_demod_instance *demod = NULL; | 12255 | struct drx_demod_instance *demod = NULL; |
12256 | struct dtv_frontend_properties *p; | ||
12257 | struct drxuio_cfg uio_cfg; | 12257 | struct drxuio_cfg uio_cfg; |
12258 | struct drxuio_data uio_data; | 12258 | struct drxuio_data uio_data; |
12259 | int result; | 12259 | int result; |
@@ -12331,6 +12331,27 @@ struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) | |||
12331 | sizeof(struct dvb_frontend_ops)); | 12331 | sizeof(struct dvb_frontend_ops)); |
12332 | 12332 | ||
12333 | state->frontend.demodulator_priv = state; | 12333 | state->frontend.demodulator_priv = state; |
12334 | |||
12335 | /* Initialize stats - needed for DVBv5 stats to work */ | ||
12336 | p = &state->frontend.dtv_property_cache; | ||
12337 | p->strength.len = 1; | ||
12338 | p->pre_bit_count.len = 1; | ||
12339 | p->pre_bit_error.len = 1; | ||
12340 | p->post_bit_count.len = 1; | ||
12341 | p->post_bit_error.len = 1; | ||
12342 | p->block_count.len = 1; | ||
12343 | p->block_error.len = 1; | ||
12344 | p->cnr.len = 1; | ||
12345 | |||
12346 | p->strength.stat[0].scale = FE_SCALE_RELATIVE; | ||
12347 | p->pre_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12348 | p->pre_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12349 | p->post_bit_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12350 | p->post_bit_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12351 | p->block_count.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12352 | p->block_error.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12353 | p->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE; | ||
12354 | |||
12334 | return &state->frontend; | 12355 | return &state->frontend; |
12335 | 12356 | ||
12336 | error: | 12357 | error: |