Commit a1014d70 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (11917): Fix firmware load for DVB-T @ 6MHz bandwidth for xc3028/xc3028L

The only two countries that are known to use 6MHz bandwidth are Taiwan
and Uruguay. Both use QAM subcarriers at OFTM.

This patch fixes the firmware load for such countries, where the
required firmware is the QAM one.

This also confirms the previous tests where it was noticed that the 6MHz
QAM firmware doesn't work for cable. So, this patch also removes support
for DVB-C, instead of just printing a warning.

Thanks to Terry Wu <terrywu2009@gmail.com> for pointing this issue and
to Andy Walls <awalls@radix.net> for an initial patch for this fix.

Cc: Terry Wu <terrywu2009@gmail.com>
Acked-by: default avatarAndy Walls <awalls@radix.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 22d46453
......@@ -1022,13 +1022,12 @@ static int xc2028_set_params(struct dvb_frontend *fe,
switch(fe->ops.info.type) {
case FE_OFDM:
bw = p->u.ofdm.bandwidth;
break;
case FE_QAM:
tuner_info("WARN: There are some reports that "
"QAM 6 MHz doesn't work.\n"
"If this works for you, please report by "
"e-mail to: v4l-dvb-maintainer@linuxtv.org\n");
bw = BANDWIDTH_6_MHZ;
/*
* The only countries with 6MHz seem to be Taiwan/Uruguay.
* Both seem to require QAM firmware for OFDM decoding
* Tested in Taiwan by Terry Wu <terrywu2009@gmail.com>
*/
if (bw == BANDWIDTH_6_MHZ)
type |= QAM;
break;
case FE_ATSC:
......@@ -1036,7 +1035,7 @@ static int xc2028_set_params(struct dvb_frontend *fe,
/* The only ATSC firmware (at least on v2.7) is D2633 */
type |= ATSC | D2633;
break;
/* DVB-S is not supported */
/* DVB-S and pure QAM (FE_QAM) are not supported */
default:
return -EINVAL;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment