Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] DVB: gp8psk-fe: use SYS_TURBO

Signed-off-by: Andreas Oberritter <obi@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Andreas Oberritter and committed by
Mauro Carvalho Chehab
8fc74fdb 14f55794

+13 -4
+13 -4
drivers/media/dvb/dvb-usb/gp8psk-fe.c
··· 144 144 cmd[6] = (freq >> 16) & 0xff; 145 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 151 switch (c->delivery_system) { 148 152 case SYS_DVBS: 149 - /* Allow QPSK and 8PSK (even for DVB-S) */ 150 - if (c->modulation != QPSK && c->modulation != PSK_8) { 153 + if (c->modulation != QPSK) { 151 154 deb_fe("%s: unsupported modulation selected (%d)\n", 152 155 __func__, c->modulation); 153 156 return -EOPNOTSUPP; 154 157 } 155 158 c->fec_inner = FEC_AUTO; 156 159 break; 157 - case SYS_DVBS2: 160 + case SYS_DVBS2: /* kept for backwards compatibility */ 158 161 deb_fe("%s: DVB-S2 delivery system selected\n", __func__); 162 + break; 163 + case SYS_TURBO: 164 + deb_fe("%s: Turbo-FEC delivery system selected\n", __func__); 159 165 break; 160 166 161 167 default: ··· 195 189 default: 196 190 cmd[9] = 5; break; 197 191 } 198 - cmd[8] = ADV_MOD_DVB_QPSK; 192 + if (c->delivery_system == SYS_TURBO) 193 + cmd[8] = ADV_MOD_TURBO_QPSK; 194 + else 195 + cmd[8] = ADV_MOD_DVB_QPSK; 199 196 break; 200 197 case PSK_8: /* PSK_8 is for compatibility with DN */ 201 198 cmd[8] = ADV_MOD_TURBO_8PSK;