Commit 9a27e6a0 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

[media] dvb_frontend: Handle all possible DVBv3 values for bandwidth

Due to DVB-T2, several new possible values for bandwidth were added.
As the DVBv3 struct were updated to handle them, the core needs to
handle all of them, as a DVBv3 application might try to use it.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 26c924fe
...@@ -1079,15 +1079,29 @@ static void dtv_property_cache_sync(struct dvb_frontend *fe, ...@@ -1079,15 +1079,29 @@ static void dtv_property_cache_sync(struct dvb_frontend *fe,
c->modulation = p->u.qam.modulation; c->modulation = p->u.qam.modulation;
break; break;
case FE_OFDM: case FE_OFDM:
if (p->u.ofdm.bandwidth == BANDWIDTH_6_MHZ) switch (p->u.ofdm.bandwidth) {
c->bandwidth_hz = 6000000; case BANDWIDTH_10_MHZ:
else if (p->u.ofdm.bandwidth == BANDWIDTH_7_MHZ) c->bandwidth_hz = 10000000;
c->bandwidth_hz = 7000000; break;
else if (p->u.ofdm.bandwidth == BANDWIDTH_8_MHZ) case BANDWIDTH_8_MHZ:
c->bandwidth_hz = 8000000; c->bandwidth_hz = 8000000;
else break;
/* Including BANDWIDTH_AUTO */ case BANDWIDTH_7_MHZ:
c->bandwidth_hz = 7000000;
break;
case BANDWIDTH_6_MHZ:
c->bandwidth_hz = 6000000;
break;
case BANDWIDTH_5_MHZ:
c->bandwidth_hz = 5000000;
break;
case BANDWIDTH_1_712_MHZ:
c->bandwidth_hz = 1712000;
break;
case BANDWIDTH_AUTO:
c->bandwidth_hz = 0; c->bandwidth_hz = 0;
}
c->code_rate_HP = p->u.ofdm.code_rate_HP; c->code_rate_HP = p->u.ofdm.code_rate_HP;
c->code_rate_LP = p->u.ofdm.code_rate_LP; c->code_rate_LP = p->u.ofdm.code_rate_LP;
c->modulation = p->u.ofdm.constellation; c->modulation = p->u.ofdm.constellation;
...@@ -1130,14 +1144,29 @@ static void dtv_property_legacy_params_sync(struct dvb_frontend *fe, ...@@ -1130,14 +1144,29 @@ static void dtv_property_legacy_params_sync(struct dvb_frontend *fe,
break; break;
case FE_OFDM: case FE_OFDM:
dprintk("%s() Preparing OFDM req\n", __func__); dprintk("%s() Preparing OFDM req\n", __func__);
if (c->bandwidth_hz == 6000000) switch (c->bandwidth_hz) {
p->u.ofdm.bandwidth = BANDWIDTH_6_MHZ; case 10000000:
else if (c->bandwidth_hz == 7000000) p->u.ofdm.bandwidth = BANDWIDTH_10_MHZ;
p->u.ofdm.bandwidth = BANDWIDTH_7_MHZ; break;
else if (c->bandwidth_hz == 8000000) case 8000000:
p->u.ofdm.bandwidth = BANDWIDTH_8_MHZ; p->u.ofdm.bandwidth = BANDWIDTH_8_MHZ;
else break;
case 7000000:
p->u.ofdm.bandwidth = BANDWIDTH_7_MHZ;
break;
case 6000000:
p->u.ofdm.bandwidth = BANDWIDTH_6_MHZ;
break;
case 5000000:
p->u.ofdm.bandwidth = BANDWIDTH_5_MHZ;
break;
case 1712000:
p->u.ofdm.bandwidth = BANDWIDTH_1_712_MHZ;
break;
case 0:
default:
p->u.ofdm.bandwidth = BANDWIDTH_AUTO; p->u.ofdm.bandwidth = BANDWIDTH_AUTO;
}
p->u.ofdm.code_rate_HP = c->code_rate_HP; p->u.ofdm.code_rate_HP = c->code_rate_HP;
p->u.ofdm.code_rate_LP = c->code_rate_LP; p->u.ofdm.code_rate_LP = c->code_rate_LP;
p->u.ofdm.constellation = c->modulation; p->u.ofdm.constellation = c->modulation;
......
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