aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@linuxtv.org>2011-08-08 10:54:37 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-09-03 17:07:20 -0400
commit8fc74fdb0f877dc13981fb112ea6b16b04690fc2 (patch)
tree4b3f95195c3f5ec0501d68e473a58872bac5e2b0
parent14f55794b24506a82e995a92e599a3aa9d08781e (diff)
[media] DVB: gp8psk-fe: use SYS_TURBO
Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/dvb-usb/gp8psk-fe.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/media/dvb/dvb-usb/gp8psk-fe.c b/drivers/media/dvb/dvb-usb/gp8psk-fe.c
index 60d11e57e7d0..5426267980c7 100644
--- a/drivers/media/dvb/dvb-usb/gp8psk-fe.c
+++ b/drivers/media/dvb/dvb-usb/gp8psk-fe.c
@@ -144,19 +144,25 @@ static int gp8psk_fe_set_frontend(struct dvb_frontend* fe,
144 cmd[6] = (freq >> 16) & 0xff; 144 cmd[6] = (freq >> 16) & 0xff;
145 cmd[7] = (freq >> 24) & 0xff; 145 cmd[7] = (freq >> 24) & 0xff;
146 146
147 /* backwards compatibility: DVB-S + 8-PSK were used for Turbo-FEC */
148 if (c->delivery_system == SYS_DVBS && c->modulation == PSK_8)
149 c->delivery_system = SYS_TURBO;
150
147 switch (c->delivery_system) { 151 switch (c->delivery_system) {
148 case SYS_DVBS: 152 case SYS_DVBS:
149 /* Allow QPSK and 8PSK (even for DVB-S) */ 153 if (c->modulation != QPSK) {
150 if (c->modulation != QPSK && c->modulation != PSK_8) {
151 deb_fe("%s: unsupported modulation selected (%d)\n", 154 deb_fe("%s: unsupported modulation selected (%d)\n",
152 __func__, c->modulation); 155 __func__, c->modulation);
153 return -EOPNOTSUPP; 156 return -EOPNOTSUPP;
154 } 157 }
155 c->fec_inner = FEC_AUTO; 158 c->fec_inner = FEC_AUTO;
156 break; 159 break;
157 case SYS_DVBS2: 160 case SYS_DVBS2: /* kept for backwards compatibility */
158 deb_fe("%s: DVB-S2 delivery system selected\n", __func__); 161 deb_fe("%s: DVB-S2 delivery system selected\n", __func__);
159 break; 162 break;
163 case SYS_TURBO:
164 deb_fe("%s: Turbo-FEC delivery system selected\n", __func__);
165 break;
160 166
161 default: 167 default:
162 deb_fe("%s: unsupported delivery system selected (%d)\n", 168 deb_fe("%s: unsupported delivery system selected (%d)\n",
@@ -189,7 +195,10 @@ static int gp8psk_fe_set_frontend(struct dvb_frontend* fe,
189 default: 195 default:
190 cmd[9] = 5; break; 196 cmd[9] = 5; break;
191 } 197 }
192 cmd[8] = ADV_MOD_DVB_QPSK; 198 if (c->delivery_system == SYS_TURBO)
199 cmd[8] = ADV_MOD_TURBO_QPSK;
200 else
201 cmd[8] = ADV_MOD_DVB_QPSK;
193 break; 202 break;
194 case PSK_8: /* PSK_8 is for compatibility with DN */ 203 case PSK_8: /* PSK_8 is for compatibility with DN */
195 cmd[8] = ADV_MOD_TURBO_8PSK; 204 cmd[8] = ADV_MOD_TURBO_8PSK;