Mailing List archive

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

[linux-dvb] Re: first version of budget-ci implementation



On Tuesday 06 April 2004 15:46, Jesper Sörensen wrote:
> Andrew de Quincey wrote:
> >Hmm, on further thought, it might be objecting to the IRQ enable bits I'm
> >using... they're "sort of" standard, but defined in a later document than
> > the original standard. Perhaps some CAMs don't like them.
> >
> >The attached patch will disable them just during the link_init procedure.
>
> I've tested both patches now, but unfortunately neither seems to work. :-(
>
> With the timeout patch:

[...]

> Apr  6 15:45:08 htpc kernel: dvb_ca_en50221_wait_if_status
> Apr  6 15:45:09 htpc kernel: dvb_ca_en50221_wait_if_status failed
> timeout:1001
> Apr  6 15:45:09 htpc kernel: dvb_ca: DVB CAM link initialisation failed :(
>
> With the noirq patch:

[...]

> Apr  6 16:32:57 htpc kernel: dvb_ca_en50221_link_init
> Apr  6 16:32:57 htpc kernel: dvb_ca_en50221_wait_if_status
> Apr  6 16:32:57 htpc kernel: dvb_ca_en50221_wait_if_status succeeded 
> timeout:0
> Apr  6 16:32:57 htpc kernel: dvb_ca_en50221_wait_if_status
> Apr  6 16:32:57 htpc kernel: dvb_ca_en50221_wait_if_status failed 
> timeout:101
> Apr  6 16:32:57 htpc kernel: dvb_ca: DVB CAM link initialisation failed :(

Oh dear, this is the sort of thing that Robert was seeing with the Zetacam.

Its odd that the first wait_if_status works though. Attached is another patch 
which will just ignore if a timeout occurs and try to keep going. It'll 
probably claim the CAM is initialised OK, but it might not _actually_ be, so 
can you give a full debug dmesg again with this one... ta.

> I did notice that CPU utilization jumps to 100 % after loading the
> modules. This is what top tells me:

Thanks, I'll look into that.
Index: linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
===================================================================
RCS file: /cvs/linuxtv/dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c,v
retrieving revision 1.2
diff -r1.2 dvb_ca_en50221.c
275a276
> 			printk("STATUS: %x\n", res);
281a283
> 			printk("STATUS: %x\n", res);
326c328,329
<         if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10)) != 0) return ret;
---
> //        if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10)) != 0) return ret;
>         dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_DA, HZ/10);
340c343,344
<         if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10)) != 0) return ret;
---
> //        if ((ret = dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10)) != 0) return ret;
>         dvb_ca_en50221_wait_if_status(ca, slot, STATUSREG_FR, HZ/10);

Home | Main Index | Thread Index