Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: Trouble usings AverTV dvb-t 771 (2.6.10-rc1) && PVR 2/350 (ivtv-0.2.0l) at same time
Am Sonntag, 7. November 2004 23:03 schrieb Hamish Moffatt:
>
> Hooray! Someone else has the same problem I do :-)
> I have two DVB cards in my system.
>
Also hooray, because I start to thing, I am to stupit for all this linux
stuff (started half year ago with debian) and have to install a M$-MC --- No,
not realy an option ;-)
>
> You can fiddle with the PCI latencies, using setpci or powertweak or
> similar. I never found a value that made it go away permanently.
I know what you mean, I played also a lot with the latency but finaly I give
up :-(
>
> The DVB cards use the BT878 audio path to transfer data. The FIFOs are
> big enough for audio data with a reasonable PCI latency, which would be
> about 1.4 Mbit/s at CD quality rates, but instead we are transferring
> DVB data at 10+ Mbit/s through the same FIFOs. I don't think they are
> adequate, but nothing can be done.
Hell - that sounds for me, that it will be a long-term issus.
>
> I was experiencing the lockup problem regularly. When it gets more than 20,
> it assumes that the interrupt has locked up and will never go away.
> What I've found is that the limit of 20 consecutive interrupts is too low -
> I increased it to 100 here and I haven't had any more problem.
> I have the driver log when it gets to more than 20, which happens
> occasionally.
Does that mean that this lockup is final fallback to prevent the system for
IRQ disaster? What does it mean to the system I we changed the lockup to a
higher value? Are there any results like hanging, performance issues,
sablility or interference with other drivers?
>
> I have been meaning to modify my kernel again to log just how many
> interrupts it got to before it cleared. It's obviously > 20 and < 100.
>
> A quick mod to your kernel to test my theory would be to find the line
> in drivers/media/dvb/bt8xx/bt878.c in bt878_irq() which says:
>
> if (count > 20) {
>
> and increase the number.
>
> Please let me know if this helps you. If it does, I'll propose a patch
> to linux-dvb to increase the limit.
Bingo,
I change in bt878.c:
if (bt878_verbose && count > 20)
and
if (count > 100)
and everything look fine :-)
I force the system roundabout 2 Hour, with multible recordings while view
recordings .... and not lockup any more.
Very interesting is that I get not (bt878(0): irq FDSR risc_pc=xxxxxx)
messages any more.
But normal I should get some as before when count > 20. So maybe the message
logging itself make the situtation also worse. This remembers me a little bit
to my past, when I was write some DOS Driver with an Interrupt handler. The
golden rules was: If your interrupt handler was call, leave it fast as
possible and message logging wasn't fast. But but this was DOS and an
ISA-Card and I have no Idea how the game is played today with Linux.
So I will force my system the next days and will see If your modifikation will
avoid the problem.
Thanks a lot
Cheers Jan
Home |
Main Index |
Thread Index