From patchwork Sun May 31 19:33:35 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 27134 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n4VJXi5X008432 for ; Sun, 31 May 2009 19:33:44 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752477AbZEaTdj (ORCPT ); Sun, 31 May 2009 15:33:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752600AbZEaTdi (ORCPT ); Sun, 31 May 2009 15:33:38 -0400 Received: from bombadil.infradead.org ([18.85.46.34]:38936 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752477AbZEaTdi (ORCPT ); Sun, 31 May 2009 15:33:38 -0400 Received: from 200-153-220-101.dsl.telesp.net.br ([200.153.220.101] helo=pedra.chehab.org) by bombadil.infradead.org with esmtpsa (Exim 4.69 #1 (Red Hat Linux)) id 1MAqmp-0001Mt-Sd; Sun, 31 May 2009 19:33:40 +0000 Date: Sun, 31 May 2009 16:33:35 -0300 From: Mauro Carvalho Chehab To: Andy Walls Cc: linux-media@vger.kernel.org, Terry Wu Subject: Re: [PATCH] xc2028: Add support for Taiwan 6 MHz DVB-T Message-ID: <20090531163335.4c13546e@pedra.chehab.org> In-Reply-To: <1243791558.3147.38.camel@palomino.walls.org> References: <1243773703.3133.24.camel@palomino.walls.org> <20090531102220.2ebf15ca@pedra.chehab.org> <1243791558.3147.38.camel@palomino.walls.org> X-Mailer: Claws Mail 3.3.1 (GTK+ 2.10.4; x86_64-redhat-linux-gnu) Mime-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Em Sun, 31 May 2009 13:39:18 -0400 Andy Walls escreveu: > > Hmm... why are you asking for the QAM firmware here? Shouldn't it be at FE_QAM? > > I think I can provide a little insight: > > They way I understood things is that DVB-T demodulators (like the > ZarLink used for the DTV1800 - zl10353 driver) are always of type > FE_OFDM. The OFDM subcarriers for DVB-T can be modulated with QPSK or > QAM (I think there is a hierarchical modulation scheme - I have to do > more reading). > > In the Linux dvb frontend drivers, the FE_QAM type is used for only for > cable TV (DVB-C) frontends. > > > My questions: > Is OFDM used for other Digital TV aside from DVB-T? > > Does the XC20208 have firmware explcitily for OFDM irrespective of the > subcarrier modulation? > > > Here is a list of DVB deployment reports: > > http://www.dvb.org/dvb-deployment-data.xls > > Columns Q, R and U show these countries as DVB-T in a 6 MHz bandwidth > > Taiwan: ~8000 subcarriers, 16 QAM > Uruguay: ~2000 subcarriers, 16 QAM and 64 QAM > > > So both of the currently deployed DVB-T systems using 6 MHz use QAM > subcarriers. > > The only deployments using QPSK are using it in an 8 MHz bandwidth for > mobile services. > > All the DVB demods in the v4l-dvb source tree that are FE_OFDM are > marked FE_CAN_QAM_{16,64,AUTO}, except in > > v4l-dvb/linux/drivers/media/dvb/frontends/cx22700.c > > the CX22700 is not marked FE_CAN_QAM_AUTO. After reviewing your table, I agree that we should load the QAM firmware every time that 6 MHz of Bandwidth is selected. Terry's report also helps to solve the mystery with the QAM firmwares that exist only for 6 MHz: they are there for OFTM with QAM modulation, and not for Cable QAM. Other independent tests confirmed that QAM for cable doesn't work. However, the selection of D2633 and D2620 will depend on what demod you'll have, since, AFAIK, this is related to the output power level. So, this should be selected at the boards level. Also, there's no need to set DTV6, since this is already done inside xc2028_set_params, on the next switch(). So, the proper patch to tuner-xc3028 seems to be the enclosed one. If both of you and Terry agree, I'll apply this one at the tree. Cheers, Mauro. Cheers, Mauro --- 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 diff --git a/linux/drivers/media/common/tuners/tuner-xc2028.c b/linux/drivers/media/common/tuners/tuner-xc2028.c --- a/linux/drivers/media/common/tuners/tuner-xc2028.c +++ b/linux/drivers/media/common/tuners/tuner-xc2028.c @@ -1026,21 +1026,20 @@ static int xc2028_set_params(struct dvb_ 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; - type |= QAM; + /* + * 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 + */ + if (bw == BANDWIDTH_6_MHZ) + type |= QAM; break; case FE_ATSC: bw = BANDWIDTH_6_MHZ; /* 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; }