diff options
| author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-01 14:11:11 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-01-04 14:29:01 -0500 |
| commit | 9a27e6a0b70966ee141c8f576cc4836d5001d44f (patch) | |
| tree | 482c8bed021faf28ffb1421dbe0599bcb7af79ed | |
| parent | 26c924febc2a840fc232bfb3771df39810f5d362 (diff) | |
[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: Mauro Carvalho Chehab <mchehab@redhat.com>
| -rw-r--r-- | drivers/media/dvb/dvb-core/dvb_frontend.c | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c index b72b87ecc3e3..33ce309e8a9b 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c | |||
| @@ -1079,15 +1079,29 @@ static void dtv_property_cache_sync(struct dvb_frontend *fe, | |||
| 1079 | c->modulation = p->u.qam.modulation; | 1079 | c->modulation = p->u.qam.modulation; |
| 1080 | break; | 1080 | break; |
| 1081 | case FE_OFDM: | 1081 | case FE_OFDM: |
| 1082 | if (p->u.ofdm.bandwidth == BANDWIDTH_6_MHZ) | 1082 | switch (p->u.ofdm.bandwidth) { |
| 1083 | c->bandwidth_hz = 6000000; | 1083 | case BANDWIDTH_10_MHZ: |
| 1084 | else if (p->u.ofdm.bandwidth == BANDWIDTH_7_MHZ) | 1084 | c->bandwidth_hz = 10000000; |
| 1085 | c->bandwidth_hz = 7000000; | 1085 | break; |
| 1086 | else if (p->u.ofdm.bandwidth == BANDWIDTH_8_MHZ) | 1086 | case BANDWIDTH_8_MHZ: |
| 1087 | c->bandwidth_hz = 8000000; | 1087 | c->bandwidth_hz = 8000000; |
| 1088 | else | 1088 | break; |
| 1089 | /* Including BANDWIDTH_AUTO */ | 1089 | case BANDWIDTH_7_MHZ: |
| 1090 | c->bandwidth_hz = 7000000; | ||
| 1091 | break; | ||
| 1092 | case BANDWIDTH_6_MHZ: | ||
| 1093 | c->bandwidth_hz = 6000000; | ||
| 1094 | break; | ||
| 1095 | case BANDWIDTH_5_MHZ: | ||
| 1096 | c->bandwidth_hz = 5000000; | ||
| 1097 | break; | ||
| 1098 | case BANDWIDTH_1_712_MHZ: | ||
| 1099 | c->bandwidth_hz = 1712000; | ||
| 1100 | break; | ||
| 1101 | case BANDWIDTH_AUTO: | ||
| 1090 | c->bandwidth_hz = 0; | 1102 | c->bandwidth_hz = 0; |
| 1103 | } | ||
| 1104 | |||
| 1091 | c->code_rate_HP = p->u.ofdm.code_rate_HP; | 1105 | c->code_rate_HP = p->u.ofdm.code_rate_HP; |
| 1092 | c->code_rate_LP = p->u.ofdm.code_rate_LP; | 1106 | c->code_rate_LP = p->u.ofdm.code_rate_LP; |
| 1093 | c->modulation = p->u.ofdm.constellation; | 1107 | c->modulation = p->u.ofdm.constellation; |
| @@ -1130,14 +1144,29 @@ static void dtv_property_legacy_params_sync(struct dvb_frontend *fe, | |||
| 1130 | break; | 1144 | break; |
| 1131 | case FE_OFDM: | 1145 | case FE_OFDM: |
| 1132 | dprintk("%s() Preparing OFDM req\n", __func__); | 1146 | dprintk("%s() Preparing OFDM req\n", __func__); |
| 1133 | if (c->bandwidth_hz == 6000000) | 1147 | switch (c->bandwidth_hz) { |
| 1134 | p->u.ofdm.bandwidth = BANDWIDTH_6_MHZ; | 1148 | case 10000000: |
| 1135 | else if (c->bandwidth_hz == 7000000) | 1149 | p->u.ofdm.bandwidth = BANDWIDTH_10_MHZ; |
| 1136 | p->u.ofdm.bandwidth = BANDWIDTH_7_MHZ; | 1150 | break; |
| 1137 | else if (c->bandwidth_hz == 8000000) | 1151 | case 8000000: |
| 1138 | p->u.ofdm.bandwidth = BANDWIDTH_8_MHZ; | 1152 | p->u.ofdm.bandwidth = BANDWIDTH_8_MHZ; |
| 1139 | else | 1153 | break; |
| 1154 | case 7000000: | ||
| 1155 | p->u.ofdm.bandwidth = BANDWIDTH_7_MHZ; | ||
| 1156 | break; | ||
| 1157 | case 6000000: | ||
| 1158 | p->u.ofdm.bandwidth = BANDWIDTH_6_MHZ; | ||
| 1159 | break; | ||
| 1160 | case 5000000: | ||
| 1161 | p->u.ofdm.bandwidth = BANDWIDTH_5_MHZ; | ||
| 1162 | break; | ||
| 1163 | case 1712000: | ||
| 1164 | p->u.ofdm.bandwidth = BANDWIDTH_1_712_MHZ; | ||
| 1165 | break; | ||
| 1166 | case 0: | ||
| 1167 | default: | ||
| 1140 | p->u.ofdm.bandwidth = BANDWIDTH_AUTO; | 1168 | p->u.ofdm.bandwidth = BANDWIDTH_AUTO; |
| 1169 | } | ||
| 1141 | p->u.ofdm.code_rate_HP = c->code_rate_HP; | 1170 | p->u.ofdm.code_rate_HP = c->code_rate_HP; |
| 1142 | p->u.ofdm.code_rate_LP = c->code_rate_LP; | 1171 | p->u.ofdm.code_rate_LP = c->code_rate_LP; |
| 1143 | p->u.ofdm.constellation = c->modulation; | 1172 | p->u.ofdm.constellation = c->modulation; |
