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 Wednesday 07 April 2004 00:04, Jesper Sörensen wrote:
> >Hmm, it isn't looking particularly hopeful unfortunately :( But... maybe
> > its just not waiting long enough after the reset... the attached patch
> > adds a huge delay just in case.
>
> The extra delay didn't change anything. :(
Argh, thanks for trying that last one. OK, the attached patch does Robert's
suggestion of clearing the reset bit manually.
> I've started looking into the code but I don't really know if I'll be
> able to figure something out. The sleeping stuff in the main loop
> [while(!ca->exit)] in dvb_ca_en50221_thread() doesn't seem to work
> though. According to my tests that loop was run about 200000 times in a
> few seconds, so I'd say that's what's causing the 100 % CPU. Maybe you
> already knew that but I just thought I'd point it out anyway... :)
Heh, yeah I've been messing about with that stuff since the rewrite of the IO
code, so its probably a bit broken right now; I'm in the middle of getting
the higher layers going right now so I can test the IO stuff, so I'll fix
those bits later.
> If you get any ideas you know where to find me, otherwise we'll wait and
> see what kind of results other testers get (Carlo perhaps), and I'll see
> if I can check the hardware on Windows. Thanks for your efforts so far!
> It's very much appreciated.
Thanks! I hope we can sort this thing out...
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);
315a318,319
> printk("PRESTATUS: %x\n", ca->pub->read_cam_control(ca->pub, slot, CTRLIF_STATUS));
>
319a324,327
> dvb_delay(100);
> ca->pub->write_cam_control(ca->pub, slot, CTRLIF_COMMAND, 0);
> dvb_delay(100);
>
326c334,335
< 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);
331a341
> printk("CAM SENT BUF SIZE: %i\n", buf_size)
340c350,351
< 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);
587c598
< goto exit;
---
> // goto exit;
1039a1051
> dvb_delay(1000);
Home |
Main Index |
Thread Index