* [PATCH] tda18271-fe: Fix dvb-c standard selection
@ 2013-11-01 19:31 CrazyCat
0 siblings, 0 replies; 4+ messages in thread
From: CrazyCat @ 2013-11-01 19:31 UTC (permalink / raw)
To: linux-media
Fix dvb-c standard selection - qam8 for ANNEX_AC
Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/drivers/media/tuners/tda18271-fe.c
b/drivers/media/tuners/tda18271-fe.c
index 4995b89..6a385c8 100644
--- a/drivers/media/tuners/tda18271-fe.c
+++ b/drivers/media/tuners/tda18271-fe.c
@@ -960,16 +960,12 @@ static int tda18271_set_params(struct dvb_frontend
*fe)
break;
case SYS_DVBC_ANNEX_B:
bw = 6000000;
- /* falltrough */
+ map = &std_map->qam_6;
+ break;
case SYS_DVBC_ANNEX_A:
case SYS_DVBC_ANNEX_C:
- if (bw <= 6000000) {
- map = &std_map->qam_6;
- } else if (bw <= 7000000) {
- map = &std_map->qam_7;
- } else {
- map = &std_map->qam_8;
- }
+ bw = 8000000;
+ map = &std_map->qam_8;
break;
default:
tda_warn("modulation type not supported!\n");
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] tda18271-fe: Fix dvb-c standard selection
@ 2013-11-02 21:05 CrazyCat
2013-11-02 21:21 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 4+ messages in thread
From: CrazyCat @ 2013-11-02 21:05 UTC (permalink / raw)
To: linux-media
Fix dvb-c standard selection - qam8 for ANNEX_AC
Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/drivers/media/tuners/tda18271-fe.c b/drivers/media/tuners/tda18271-fe.c
index 4995b89..6a385c8 100644
--- a/drivers/media/tuners/tda18271-fe.c
+++ b/drivers/media/tuners/tda18271-fe.c
@@ -960,16 +960,12 @@ static int tda18271_set_params(struct dvb_frontend *fe)
break;
case SYS_DVBC_ANNEX_B:
bw = 6000000;
- /* falltrough */
+ map = &std_map->qam_6;
+ break;
case SYS_DVBC_ANNEX_A:
case SYS_DVBC_ANNEX_C:
- if (bw <= 6000000) {
- map = &std_map->qam_6;
- } else if (bw <= 7000000) {
- map = &std_map->qam_7;
- } else {
- map = &std_map->qam_8;
- }
+ bw = 8000000;
+ map = &std_map->qam_8;
break;
default:
tda_warn("modulation type not supported!\n");
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tda18271-fe: Fix dvb-c standard selection
2013-11-02 21:05 [PATCH] tda18271-fe: Fix dvb-c standard selection CrazyCat
@ 2013-11-02 21:21 ` Mauro Carvalho Chehab
[not found] ` <52756F4E.3030805@narod.ru>
0 siblings, 1 reply; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2013-11-02 21:21 UTC (permalink / raw)
To: CrazyCat; +Cc: linux-media
Em Sat, 02 Nov 2013 23:05:14 +0200
CrazyCat <crazycat69@narod.ru> escreveu:
> Fix dvb-c standard selection - qam8 for ANNEX_AC
>
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> diff --git a/drivers/media/tuners/tda18271-fe.c b/drivers/media/tuners/tda18271-fe.c
> index 4995b89..6a385c8 100644
> --- a/drivers/media/tuners/tda18271-fe.c
> +++ b/drivers/media/tuners/tda18271-fe.c
> @@ -960,16 +960,12 @@ static int tda18271_set_params(struct dvb_frontend *fe)
> break;
> case SYS_DVBC_ANNEX_B:
> bw = 6000000;
> - /* falltrough */
> + map = &std_map->qam_6;
> + break;
> case SYS_DVBC_ANNEX_A:
> case SYS_DVBC_ANNEX_C:
> - if (bw <= 6000000) {
> - map = &std_map->qam_6;
> - } else if (bw <= 7000000) {
> - map = &std_map->qam_7;
> - } else {
> - map = &std_map->qam_8;
> - }
> + bw = 8000000;
> + map = &std_map->qam_8;
This is wrong, as it breaks for 6MHz-spaced channels, like what's used
in Brazil and Japan.
What happens here is that, if the tuner uses a too wide lowpass filter,
the interference will be higher at the demod, and it may not be able
to decode.
As the bandwidth is already estimated by the DVB frontend core, the
tuners should be adjusted to get the closest filter for a given
bandwidth.
So, the driver is correct (and it is tested under 6MHz spaced channels).
> break;
> default:
> tda_warn("modulation type not supported!\n");
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Cheers,
Mauro
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tda18271-fe: Fix dvb-c standard selection
[not found] ` <52756F4E.3030805@narod.ru>
@ 2013-11-03 0:19 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2013-11-03 0:19 UTC (permalink / raw)
To: CrazyCat, linux-media
Em Sat, 02 Nov 2013 23:31:58 +0200
CrazyCat <crazycat69@narod.ru> escreveu:
> Mauro Carvalho Chehab пишет:
> > This is wrong, as it breaks for 6MHz-spaced channels, like what's used
> > in Brazil and Japan.
> >
> > What happens here is that, if the tuner uses a too wide lowpass filter,
> > the interference will be higher at the demod, and it may not be able
> > to decode.
> >
> > As the bandwidth is already estimated by the DVB frontend core, the
> > tuners should be adjusted to get the closest filter for a given
> > bandwidth.
> >
> > So, the driver is correct (and it is tested under 6MHz spaced channels).
>
> But usual applications only set cable standard (Annex A/C or B) and not set bandwidth. So for annex A/C default selected 6MHz ?
Usual applications set the symbol rate, and symbol rate is easily
converted into bandwidth. The DVB core does that. see
dtv_set_frontend():
switch (c->delivery_system) {
case SYS_ATSC:
case SYS_DVBC_ANNEX_B:
c->bandwidth_hz = 6000000;
break;
case SYS_DVBC_ANNEX_A:
rolloff = 115;
break;
case SYS_DVBC_ANNEX_C:
rolloff = 113;
break;
default:
break;
}
if (rolloff)
c->bandwidth_hz = (c->symbol_rate * rolloff) / 100;
--
Cheers,
Mauro
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-03 0:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-02 21:05 [PATCH] tda18271-fe: Fix dvb-c standard selection CrazyCat
2013-11-02 21:21 ` Mauro Carvalho Chehab
[not found] ` <52756F4E.3030805@narod.ru>
2013-11-03 0:19 ` Mauro Carvalho Chehab
-- strict thread matches above, loose matches on Subject: below --
2013-11-01 19:31 CrazyCat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox