V4L/DVB: Add FE_CAN_TURBO_FEC
authorKlaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Thu, 1 Jul 2010 04:37:34 +0000 (01:37 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 2 Aug 2010 18:02:12 +0000 (15:02 -0300)
Some (North American) providers use a non-standard mode called
"8psk turbo fec". Since there is no flag in the driver that
would allow an application to determine whether a particular
device can handle "turbo fec", the attached patch introduces
FE_CAN_TURBO_FEC.

Since there is no flag in the SI data that would indicate
that a transponder uses "turbo fec", VDR will assume that
all 8psk transponders on DVB-S use "turbo fec".

Tested-by: Derek Kelly <user.vdr@gmail.com>
Signed-off-by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/gp8psk-fe.c
include/linux/dvb/frontend.h

index 7a7f1b2b681ccaa38fbc9161aa8b0d726f14952b..dbdb5347b2a8b1c1983cfdc8bbfeb307caa862c2 100644 (file)
@@ -349,7 +349,7 @@ static struct dvb_frontend_ops gp8psk_fe_ops = {
                         * FE_CAN_QAM_16 is for compatibility
                         * (Myth incorrectly detects Turbo-QPSK as plain QAM-16)
                         */
-                       FE_CAN_QPSK | FE_CAN_QAM_16
+                       FE_CAN_QPSK | FE_CAN_QAM_16 | FE_CAN_TURBO_FEC
        },
 
        .release = gp8psk_fe_release,
index b6cb5425cde398a0def4d0d7b8e93d1d713569f4..493a2bf85f62b9fb57ee79b8f55ed7d8398d3c1b 100644 (file)
@@ -62,6 +62,7 @@ typedef enum fe_caps {
        FE_CAN_8VSB                     = 0x200000,
        FE_CAN_16VSB                    = 0x400000,
        FE_HAS_EXTENDED_CAPS            = 0x800000,   /* We need more bitspace for newer APIs, indicate this. */
+       FE_CAN_TURBO_FEC                = 0x8000000,  /* frontend supports "turbo fec modulation" */
        FE_CAN_2G_MODULATION            = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
        FE_NEEDS_BENDING                = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
        FE_CAN_RECOVER                  = 0x40000000, /* frontend can recover from a cable unplug automatically */