[mpeg2] Re: Porting kfir for kernel 2.6
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Fri Feb 18 15:26:47 CET 2005
Anssi Hannula wrote:
> Klaus Schmidinger wrote:
>
>>
>> There is still a small problem with buffers running full, but I guess
>> this is a thread problem that has nothing to do with the kfir device,
>> since
>> that device does deliver lots of data, while the rest of VDR is
>> apparently
>> not starting to process it in time. But once it has started, it runs
>> fine.
>>
>
> My patch ignored the O_NONBLOCK, here's a bugfix (against
> kfir-2.6-driver.tar.bz2) for that, maybe it'll help.
>
>
> ------------------------------------------------------------------------
>
> diff -Nur kfir-2.6-driver-old/driver/kfir.c kfir-2.6-driver/driver/kfir.c
> --- kfir-2.6-driver-old/driver/kfir.c 2005-02-13 20:51:01.000000000 +0200
> +++ kfir-2.6-driver/driver/kfir.c 2005-02-17 22:07:06.000000000 +0200
> @@ -2614,7 +2614,7 @@
> struct kfir_dev *kfir = (struct kfir_dev *) dev;
> int todo = count;
> int blocksize, split;
> - int nonblock = 0;
> + int nonblock = file->f_flags & O_NONBLOCK;
> DECLARE_WAITQUEUE(wait, current);
> dbprintk(KERN_DEBUG "kfir: called kfir_read, nonblock=%d count=%d\n",
> nonblock, count);
With this it works really good!
After letting it run for a while suddenly this happened:
Feb 18 15:19:42 video kernel: irq 5: nobody cared!
Feb 18 15:19:42 video kernel: [<c010868c>] __report_bad_irq+0x1c/0x70
Feb 18 15:19:42 video kernel: [<c010875b>] note_interrupt+0x5b/0x80
Feb 18 15:19:42 video kernel: [<c010894c>] do_IRQ+0xdc/0x120
Feb 18 15:19:42 video kernel: [<c0106cd8>] common_interrupt+0x18/0x20
Feb 18 15:19:42 video kernel: [<c0104030>] default_idle+0x0/0x30
Feb 18 15:19:42 video kernel: [<c0104054>] default_idle+0x24/0x30
Feb 18 15:19:42 video kernel: [<c01040bc>] cpu_idle+0x1c/0x40
Feb 18 15:19:42 video kernel: [<c03ce6bd>] start_kernel+0x16d/0x1d0
Feb 18 15:19:42 video kernel: handlers:
Feb 18 15:19:42 video kernel: [<d8d58eb0>] (kfir_irq+0x0/0x2f0 [kfir])
Feb 18 15:19:42 video kernel: Disabling IRQ #5
IRQ #5 is apparently the one assigned to the kfir card:
CPU0
0: 2748867 XT-PIC timer
2: 0 XT-PIC cascade
5: 100474 XT-PIC kfir
10: 140526 XT-PIC saa7146 (2)
11: 394979 XT-PIC saa7146 (1)
12: 7825916 XT-PIC eth0, saa7146 (0)
14: 8249 XT-PIC ide0
15: 0 XT-PIC ide1
NMI: 0
LOC: 0
ERR: 0
MIS: 0
Do you have any idea what might be the problem here?
Klaus
More information about the mpeg2
mailing list