aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-06-01 10:46:08 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-06-16 18:07:17 -0400
commita1014d70db862c8e9de9207c3a0397e644ad9d4a (patch)
tree19a5fbd854b87260669c9eb1ef6bb4e271d3e517 /drivers/media/common
parent22d4645311689cd20967813775e492c786f2d3c6 (diff)
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: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tuner-xc2028.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c
index ed2653d3b52d..14649e456fdb 100644
--- a/drivers/media/common/tuners/tuner-xc2028.c
+++ b/drivers/media/common/tuners/tuner-xc2028.c
@@ -1022,21 +1022,20 @@ static int xc2028_set_params(struct dvb_frontend *fe,
1022 switch(fe->ops.info.type) { 1022 switch(fe->ops.info.type) {
1023 case FE_OFDM: 1023 case FE_OFDM:
1024 bw = p->u.ofdm.bandwidth; 1024 bw = p->u.ofdm.bandwidth;
1025 break; 1025 /*
1026 case FE_QAM: 1026 * The only countries with 6MHz seem to be Taiwan/Uruguay.
1027 tuner_info("WARN: There are some reports that " 1027 * Both seem to require QAM firmware for OFDM decoding
1028 "QAM 6 MHz doesn't work.\n" 1028 * Tested in Taiwan by Terry Wu <terrywu2009@gmail.com>
1029 "If this works for you, please report by " 1029 */
1030 "e-mail to: v4l-dvb-maintainer@linuxtv.org\n"); 1030 if (bw == BANDWIDTH_6_MHZ)
1031 bw = BANDWIDTH_6_MHZ; 1031 type |= QAM;
1032 type |= QAM;
1033 break; 1032 break;
1034 case FE_ATSC: 1033 case FE_ATSC:
1035 bw = BANDWIDTH_6_MHZ; 1034 bw = BANDWIDTH_6_MHZ;
1036 /* The only ATSC firmware (at least on v2.7) is D2633 */ 1035 /* The only ATSC firmware (at least on v2.7) is D2633 */
1037 type |= ATSC | D2633; 1036 type |= ATSC | D2633;
1038 break; 1037 break;
1039 /* DVB-S is not supported */ 1038 /* DVB-S and pure QAM (FE_QAM) are not supported */
1040 default: 1039 default:
1041 return -EINVAL; 1040 return -EINVAL;
1042 } 1041 }