From: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
To: linux-media@vger.kernel.org
Subject: Re: [linux-media] Re: [PATCH] Add FE_CAN_PSK_8 to allow apps to identify PSK_8 capable DVB devices
Date: Sun, 18 Apr 2010 15:19:35 +0200 [thread overview]
Message-ID: <4BCB06E7.8050806@tvdr.de> (raw)
In-Reply-To: <s2n1a297b361004151321rb51b5225q79842aac2964371b@mail.gmail.com>
On 15.04.2010 22:21, Manu Abraham wrote:
> Hi Klaus,
>
> On Sun, Apr 11, 2010 at 1:12 PM, Klaus Schmidinger
> <Klaus.Schmidinger@tvdr.de> wrote:
>> The enum fe_caps provides flags that allow an application to detect
>> whether a device is capable of handling various modulation types etc.
>> A flag for detecting PSK_8, however, is missing.
>> This patch adds the flag FE_CAN_PSK_8 to frontend.h and implements
>> it for the gp8psk-fe.c and cx24116.c driver (apparently the only ones
>> with PSK_8). Only the gp8psk-fe.c has been explicitly tested, though.
>
>
> The FE_CAN_PSK_8 is a misnomer. In fact what you are looking for is
> FE_CAN_TURBO_FEC
Well, when processing the NIT data in VDR, for instance, the possible
modulation types that can be used according to the driver's frontend.h
are
QPSK,
QAM_16,
QAM_32,
QAM_64,
QAM_128,
QAM_256,
QAM_AUTO,
VSB_8,
VSB_16,
PSK_8,
APSK_16,
APSK_32,
DQPSK,
There is nothing in frontend.h that would be in any way related to
"turbo fec" (whatever that may be).
Of course we can rename FE_CAN_PSK_8 to FE_CAN_TURBO_FEC, but wouldn't
something like
if (Modulation == PSK_8 && !(frontendInfo.caps & FE_CAN_TURBO_FEC))
return false;
be even more irritating than a straight forward
if (Modulation == PSK_8 && !(frontendInfo.caps & FE_CAN_PSK_8))
return false;
After all it's
if (Modulation == QAM_256 && !(frontendInfo.caps & FE_CAN_QAM_256))
return false;
Please advise. Whatever you prefer is fine with me.
All I need in VDR is a flag that allows me to detect whether a device
can handle a given transponder's modulation. I don't really care how
that flag is named ;-).
> FE_CAN_8PSK will be matched by any DVB-S2 capable frontend, so that
> name is very likely to cause a very large confusion.
I chose FE_CAN_PSK_8 over FE_CAN_8PSK, because the modulation itself
is named PSK_8. This allows for easily finding all PSK_8 related places
with 'grep'. Personally I find the FE_CAN_8VSB and FE_CAN_16VSB misnomers,
because the modulations are named VSB_8 and VSB_16, respectively. They
should have been named FE_CAN_VSB_8 and FE_CAN_VSB_16 in the first place.
But that's, of course, a different story...
Klaus Schmidinger
> Another thing I am not entirely sure though ... The cx24116 requires a
> separate firmware and maybe some necessary code changes (?) for Turbo
> FEC to be supported, so I wonder whether applying the flag to the
> cx24116 driver would be any relevant....
>
> With regards to the Genpix driver, i guess the flag would be necessary.
>
>> Signed-off-by: Klaus Schmidinger <Klaus.Schmidinger@tvdr.de>
>> Tested-by: Derek Kelly <user.vdr@gmail.com>
>
> Other than for the naming of the Flag (which i suggest strongly to
> update the patch) and the application to the cx24116 driver, it looks
> appropriate;
>
> Acked-by: Manu Abraham <manu@linuxtv.org>
>
>
>
>
>>
>> --- linux/include/linux/dvb/frontend.h.001 2010-04-05 16:13:08.000000000 +0200
>> +++ linux/include/linux/dvb/frontend.h 2010-04-10 12:08:47.000000000 +0200
>> @@ -62,6 +62,7 @@
>> FE_CAN_8VSB = 0x200000,
>> FE_CAN_16VSB = 0x400000,
>> FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */
>> + FE_CAN_PSK_8 = 0x8000000, /* frontend supports "8psk 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 */
>> --- linux/drivers/media/dvb/dvb-usb/gp8psk-fe.c.001 2010-04-05 16:13:08.000000000 +0200
>> +++ linux/drivers/media/dvb/dvb-usb/gp8psk-fe.c 2010-04-10 12:18:37.000000000 +0200
>> @@ -349,7 +349,7 @@
>> * 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_PSK_8
>> },
>>
>> .release = gp8psk_fe_release,
>> --- linux/drivers/media/dvb/frontends/cx24116.c.001 2010-04-05 16:13:08.000000000 +0200
>> +++ linux/drivers/media/dvb/frontends/cx24116.c 2010-04-10 13:40:32.000000000 +0200
>> @@ -1496,7 +1496,7 @@
>> FE_CAN_FEC_4_5 | FE_CAN_FEC_5_6 | FE_CAN_FEC_6_7 |
>> FE_CAN_FEC_7_8 | FE_CAN_FEC_AUTO |
>> FE_CAN_2G_MODULATION |
>> - FE_CAN_QPSK | FE_CAN_RECOVER
>> + FE_CAN_QPSK | FE_CAN_RECOVER | FE_CAN_PSK_8
>> },
>>
>> .release = cx24116_release,
next prev parent reply other threads:[~2010-04-18 13:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-11 9:12 [PATCH] Add FE_CAN_PSK_8 to allow apps to identify PSK_8 capable DVB devices Klaus Schmidinger
2010-04-15 20:21 ` Manu Abraham
2010-04-18 13:19 ` Klaus Schmidinger [this message]
2010-04-18 14:51 ` [linux-media] " Manu Abraham
2010-04-18 18:34 ` [linux-media] " Klaus Schmidinger
2010-04-18 19:45 ` Manu Abraham
2010-05-02 9:34 ` [PATCH] Add FE_CAN_TURBO_FEC (was: Add FE_CAN_PSK_8 to allow apps to identify PSK_8 capable DVB devices) Klaus Schmidinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BCB06E7.8050806@tvdr.de \
--to=klaus.schmidinger@tvdr.de \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.