[01/11] xc2028: tm6000: bugfix firmware xc3028L-v36.fw used with Zarlink and DTV78 or DTV8 no shift
Message ID | 1266255444-7422-1-git-send-email-stefan.ringel@arcor.de (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-path: <linux-media-owner@vger.kernel.org> Envelope-to: mchehab@infradead.org Delivery-date: Mon, 15 Feb 2010 17:38:14 +0000 Received: from bombadil.infradead.org [18.85.46.34] by pedra with IMAP (fetchmail-6.3.6) for <mchehab@localhost> (single-drop); Mon, 15 Feb 2010 18:58:44 -0200 (BRST) Received: from vger.kernel.org ([209.132.180.67]) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1Nh4ti-0000Nb-4S; Mon, 15 Feb 2010 17:38:14 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755773Ab0BORiM (ORCPT <rfc822; kmpark@infradead.org> + 1 other); Mon, 15 Feb 2010 12:38:12 -0500 Received: from mail-in-08.arcor-online.net ([151.189.21.48]:38148 "EHLO mail-in-08.arcor-online.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755643Ab0BORiL (ORCPT <rfc822;linux-media@vger.kernel.org>); Mon, 15 Feb 2010 12:38:11 -0500 Received: from mail-in-11-z2.arcor-online.net (mail-in-11-z2.arcor-online.net [151.189.8.28]) by mx.arcor.de (Postfix) with ESMTP id 800D02AEE55; Mon, 15 Feb 2010 18:38:09 +0100 (CET) Received: from mail-in-14.arcor-online.net (mail-in-14.arcor-online.net [151.189.21.54]) by mail-in-11-z2.arcor-online.net (Postfix) with ESMTP id 6455E345BF1; Mon, 15 Feb 2010 18:38:09 +0100 (CET) Received: from localhost.localdomain (dslb-188-103-172-103.pools.arcor-ip.net [188.103.172.103]) (Authenticated sender: stefan.ringel@arcor.de) by mail-in-14.arcor-online.net (Postfix) with ESMTPA id EFA1128B08E; Mon, 15 Feb 2010 18:38:08 +0100 (CET) X-DKIM: Sendmail DKIM Filter v2.8.2 mail-in-14.arcor-online.net EFA1128B08E DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arcor.de; s=mail-in; t=1266255489; bh=/BXXSMdT/7LEN1bzr3Rkfi3Pmnzp8uTL616BF1UYRY0=; h=From:To:Cc:Subject:Date:Message-Id; b=LQd3plJXRtJpBoNUniQZtxPwFI6Ib503Y9igYcRO87y1xWyAfZT2cWbpvYyTrOBjs 9/v5lf0gy/GJfQ4R/ZM7Azb3XRR6jhqdHQ+MjIQvccEjNywjaydnkw9X06LdXU2zVD B1UMyTMmPdvcr0/aD4PNlV981Swd3i9XSbS12tRI= From: stefan.ringel@arcor.de To: linux-media@vger.kernel.org Cc: mchehab@redhat.com, dheitmueller@kernellabs.com, Stefan Ringel <stefan.ringel@arcor.de> Subject: [PATCH 01/11] xc2028: tm6000: bugfix firmware xc3028L-v36.fw used with Zarlink and DTV78 or DTV8 no shift Date: Mon, 15 Feb 2010 18:37:14 +0100 Message-Id: <1266255444-7422-1-git-send-email-stefan.ringel@arcor.de> X-Mailer: git-send-email 1.6.6.1 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org |
Commit Message
Stefan Ringel
Feb. 15, 2010, 5:37 p.m. UTC
From: Stefan Ringel <stefan.ringel@arcor.de> Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Comments
On Mon, Feb 15, 2010 at 12:37 PM, <stefan.ringel@arcor.de> wrote: > From: Stefan Ringel <stefan.ringel@arcor.de> > > Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> > > diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c > index ed50168..e051caa 100644 > --- a/drivers/media/common/tuners/tuner-xc2028.c > +++ b/drivers/media/common/tuners/tuner-xc2028.c > @@ -1114,7 +1114,12 @@ static int xc2028_set_params(struct dvb_frontend *fe, > > /* All S-code tables need a 200kHz shift */ > if (priv->ctrl.demod) { > - demod = priv->ctrl.demod + 200; > + if ((priv->firm_version == 0x0306) && > + (priv->ctrl.demod == XC3028_FE_ZARLINK456) && > + ((type & DTV78) || (type & DTV8))) > + demod = priv->ctrl.demod; > + else > + demod = priv->ctrl.demod + 200; > /* > * The DTV7 S-code table needs a 700 kHz shift. > * Thanks to Terry Wu <terrywu2009@gmail.com> for reporting this I would still like to better understand the origin of this change. Was the tm6000 board not locking without it? Was this change based on any documented source? What basis are you using when deciding this issue is specific only to the zl10353 and not all boards using the xc3028L? We've got a number of boards already supported which use the xc3028L, so we need to ensure there is no regression introduced in those boards just to get yours working. Devin
Am 15.02.2010 19:36, schrieb Devin Heitmueller: > On Mon, Feb 15, 2010 at 12:37 PM, <stefan.ringel@arcor.de> wrote: > >> From: Stefan Ringel <stefan.ringel@arcor.de> >> >> Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> >> >> diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c >> index ed50168..e051caa 100644 >> --- a/drivers/media/common/tuners/tuner-xc2028.c >> +++ b/drivers/media/common/tuners/tuner-xc2028.c >> @@ -1114,7 +1114,12 @@ static int xc2028_set_params(struct dvb_frontend *fe, >> >> /* All S-code tables need a 200kHz shift */ >> if (priv->ctrl.demod) { >> - demod = priv->ctrl.demod + 200; >> + if ((priv->firm_version == 0x0306) && >> + (priv->ctrl.demod == XC3028_FE_ZARLINK456) && >> + ((type & DTV78) || (type & DTV8))) >> + demod = priv->ctrl.demod; >> + else >> + demod = priv->ctrl.demod + 200; >> /* >> * The DTV7 S-code table needs a 700 kHz shift. >> * Thanks to Terry Wu <terrywu2009@gmail.com> for reporting this >> > I would still like to better understand the origin of this change. > Was the tm6000 board not locking without it? Was this change based on > any documented source? What basis are you using when deciding this > issue is specific only to the zl10353 and not all boards using the > xc3028L? > > We've got a number of boards already supported which use the xc3028L, > so we need to ensure there is no regression introduced in those boards > just to get yours working. > > Devin > > Devin here in attachment the firmware table. You see, that it is has two entries for ZARLINK456, one for QAM, DTV6 and DTV7, and one for DTV78 and DTV8. The first have a shift from +200, the second doesn't. I can test for you without this patch to see what for demodulator status is has. Stefan Ringel
Am 15.02.2010 20:19, schrieb Stefan Ringel: > Am 15.02.2010 19:36, schrieb Devin Heitmueller: > >> On Mon, Feb 15, 2010 at 12:37 PM, <stefan.ringel@arcor.de> wrote: >> >> >>> From: Stefan Ringel <stefan.ringel@arcor.de> >>> >>> Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de> >>> >>> diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c >>> index ed50168..e051caa 100644 >>> --- a/drivers/media/common/tuners/tuner-xc2028.c >>> +++ b/drivers/media/common/tuners/tuner-xc2028.c >>> @@ -1114,7 +1114,12 @@ static int xc2028_set_params(struct dvb_frontend *fe, >>> >>> /* All S-code tables need a 200kHz shift */ >>> if (priv->ctrl.demod) { >>> - demod = priv->ctrl.demod + 200; >>> + if ((priv->firm_version == 0x0306) && >>> + (priv->ctrl.demod == XC3028_FE_ZARLINK456) && >>> + ((type & DTV78) || (type & DTV8))) >>> + demod = priv->ctrl.demod; >>> + else >>> + demod = priv->ctrl.demod + 200; >>> /* >>> * The DTV7 S-code table needs a 700 kHz shift. >>> * Thanks to Terry Wu <terrywu2009@gmail.com> for reporting this >>> >>> >> I would still like to better understand the origin of this change. >> Was the tm6000 board not locking without it? Was this change based on >> any documented source? What basis are you using when deciding this >> issue is specific only to the zl10353 and not all boards using the >> xc3028L? >> >> We've got a number of boards already supported which use the xc3028L, >> so we need to ensure there is no regression introduced in those boards >> just to get yours working. >> >> Devin >> >> >> > Devin here in attachment the firmware table. You see, that it is has two > entries for ZARLINK456, one for QAM, DTV6 and DTV7, and one for DTV78 > and DTV8. The first have a shift from +200, the second doesn't. I can > test for you without this patch to see what for demodulator status is has. > > Stefan Ringel > > Darvin, I have the test result. The first once is with my patch and the second without my patch.
diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c index ed50168..e051caa 100644 --- a/drivers/media/common/tuners/tuner-xc2028.c +++ b/drivers/media/common/tuners/tuner-xc2028.c @@ -1114,7 +1114,12 @@ static int xc2028_set_params(struct dvb_frontend *fe, /* All S-code tables need a 200kHz shift */ if (priv->ctrl.demod) { - demod = priv->ctrl.demod + 200; + if ((priv->firm_version == 0x0306) && + (priv->ctrl.demod == XC3028_FE_ZARLINK456) && + ((type & DTV78) || (type & DTV8))) + demod = priv->ctrl.demod; + else + demod = priv->ctrl.demod + 200; /* * The DTV7 S-code table needs a 700 kHz shift. * Thanks to Terry Wu <terrywu2009@gmail.com> for reporting this