Commit 988bd281 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] cxd2841er: provide signal strength for DVB-C

Currently, there's no stats for DVB-C. Let's at least return
signal strength. The scale is different than on DVB-T, so let's
use a relative scale, for now.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 4216be14
...@@ -1750,7 +1750,6 @@ static void cxd2841er_read_signal_strength(struct dvb_frontend *fe) ...@@ -1750,7 +1750,6 @@ static void cxd2841er_read_signal_strength(struct dvb_frontend *fe)
dev_dbg(&priv->i2c->dev, "%s()\n", __func__); dev_dbg(&priv->i2c->dev, "%s()\n", __func__);
switch (p->delivery_system) { switch (p->delivery_system) {
case SYS_DVBC_ANNEX_A:
case SYS_DVBC_ANNEX_B: case SYS_DVBC_ANNEX_B:
case SYS_DVBC_ANNEX_C: case SYS_DVBC_ANNEX_C:
strength = 65535 - cxd2841er_read_agc_gain_c( strength = 65535 - cxd2841er_read_agc_gain_c(
...@@ -1766,6 +1765,12 @@ static void cxd2841er_read_signal_strength(struct dvb_frontend *fe) ...@@ -1766,6 +1765,12 @@ static void cxd2841er_read_signal_strength(struct dvb_frontend *fe)
/* Formula was empirically determinated @ 410 MHz */ /* Formula was empirically determinated @ 410 MHz */
p->strength.stat[0].uvalue = ((s32)strength) * 366 / 100 - 89520; p->strength.stat[0].uvalue = ((s32)strength) * 366 / 100 - 89520;
break; /* Code moved out of the function */ break; /* Code moved out of the function */
case SYS_DVBC_ANNEX_A:
strength = cxd2841er_read_agc_gain_t_t2(priv,
p->delivery_system);
p->strength.stat[0].scale = FE_SCALE_RELATIVE;
p->strength.stat[0].uvalue = strength;
break;
case SYS_ISDBT: case SYS_ISDBT:
strength = 65535 - cxd2841er_read_agc_gain_i( strength = 65535 - cxd2841er_read_agc_gain_i(
priv, p->delivery_system); priv, p->delivery_system);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment