Re: CI/CAM fixes for knc1 dvb-s cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Freitag 04 April 2008 schrieb Oliver Endriss:
> Christoph Pfister wrote:
> > > > <<<fix-knc1-dvbs-ci.diff>>>
> > > >        case SUBID_DVBS_KNC1:
> > > >        case SUBID_DVBS_KNC1_PLUS:
> > > >        case SUBID_DVBS_EASYWATCH_1:
> > > >+               budget_av->reinitialise_demod = 1;
> > > >
> > > > Fix CI interface on (some) KNC1 DVBS cards
> > > > Quoting the commit introducing reinitialise_demod (3984 / by adq):
> > > > "These cards [KNC1 DVBT and DVBC] need special handling for CI -
> > > > reinitialising the frontend device when the CI module is reset."
> > > > Apparently my 1894:0010 also needs that fix, because once you
> > > > initialise CI/CAM you lose lock. Signed-off-by: Christoph Pfister
> > > > <pfister@xxxxxxxxxxx>
> > >
> > > Are you _sure_ that 'reinitialise_demod = 1' is required by all 3 card
> > > types, and does not hurt for SUBID_DVBS_KNC1_PLUS (1131:0011,
> > > 1894:0011) and SUBID_DVBS_EASYWATCH_1 (1894:001a)?
> >
> > Do you want me to limit reinitialise_demod to the one type of card I'm
> > using or is it ok for you this way?
>
> Yes, please. We should not add a quirk unless we have verified that it
> is really required. It is easier to add a hack than to remove it. ;-)

Ok.

> > (I'll repost a modified version of the first patch removing the 0xff
> > check altogether later today ...)
>
> OK. I'll commit your patches this weekend.

Here is the final version - thanks :)

Christoph
# HG changeset patch
# User Christoph Pfister <pfister@xxxxxxxxxxx>
# Date 1207400970 -7200
# Node ID 107968b904703af90f0d242b7759e460caf5e454
# Parent  5f32121d01cf58806df26a7a3e5be4f5e63576ac
Fix CI interface on (some) KNC1 DVBS cards
Quoting the commit introducing reinitialise_demod (3984 / by adq):
"These cards [KNC1 DVBT and DVBC] need special handling for CI - reinitialising the frontend
device when the CI module is reset."
Apparently my 1894:0010 also needs that fix, because once you initialise CI/CAM you lose lock.
Signed-off-by: Christoph Pfister <pfister@xxxxxxxxxxx>

diff -r 5f32121d01cf -r 107968b90470 linux/drivers/media/dvb/ttpci/budget-av.c
--- a/linux/drivers/media/dvb/ttpci/budget-av.c	Sat Apr 05 14:56:16 2008 +0200
+++ b/linux/drivers/media/dvb/ttpci/budget-av.c	Sat Apr 05 15:09:30 2008 +0200
@@ -941,6 +941,12 @@ static void frontend_init(struct budget_
 	switch (saa->pci->subsystem_device) {
 
 	case SUBID_DVBS_KNC1:
+		/*
+		 * maybe that setting is needed for other dvb-s cards as well,
+		 * but so far it has been only confirmed for this type
+		 */
+		budget_av->reinitialise_demod = 1;
+		/* fall through */
 	case SUBID_DVBS_KNC1_PLUS:
 	case SUBID_DVBS_EASYWATCH_1:
 		if (saa->pci->subsystem_vendor == 0x1894) {
# HG changeset patch
# User Christoph Pfister <pfister@xxxxxxxxxxx>
# Date 1207400176 -7200
# Node ID 5f32121d01cf58806df26a7a3e5be4f5e63576ac
# Parent  1abbd650fe07ab0ea0a18dfbd1213d431dd29ccd
Fix support for certain cams in buget-av
The current ci implementation doesn't accept 0xff when reading data bytes (address == 0),
thus breaks cams which report a buffer size of 0x--ff like my orion one.
Remove the 0xff check altogether, because validation is really the job of a higher layer.
Signed-off-by: Christoph Pfister <pfister@xxxxxxxxxxx>

diff -r 1abbd650fe07 -r 5f32121d01cf linux/drivers/media/dvb/ttpci/budget-av.c
--- a/linux/drivers/media/dvb/ttpci/budget-av.c	Thu Apr 03 17:08:04 2008 -0300
+++ b/linux/drivers/media/dvb/ttpci/budget-av.c	Sat Apr 05 14:56:16 2008 +0200
@@ -178,7 +178,7 @@ static int ciintf_read_cam_control(struc
 	udelay(1);
 
 	result = ttpci_budget_debiread(&budget_av->budget, DEBICICAM, address & 3, 1, 0, 0);
-	if ((result == -ETIMEDOUT) || ((result == 0xff) && ((address & 3) < 2))) {
+	if (result == -ETIMEDOUT) {
 		ciintf_slot_shutdown(ca, slot);
 		printk(KERN_INFO "budget-av: cam ejected 3\n");
 		return -ETIMEDOUT;
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux