Mailing List archive

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

[mpeg2] Re: Any news on the lockup problem on insmod (was VIA problem)



Frank Siegert writes:
 > [Urban Myth]
 > 
 > Frankly it does not matter if it is chipset related or otherwise. But it seems
 > quite a lot people are experiencing problems on a lot different configurations,
 > and this is _not_ an urban myth. The BMK board does not run here, neither on
 > the BX (Intel based) nor the VIA (Duron/Athlon), it always locks up the
 > system completely on insmod kfir.o and I am only fishing for a solution.
 > 
 > >From my investigations I seems that it locks up completely upon loading the
 > micro code, however not always in the same place? The board is generating
 > interrupts however, and these are processed by the irq handler. The whole
 > thing seems a bit strange as the lockup happens upon the read() call where
 > the system loads in the microcode file, however this is only an assumption,
 > as sometimes the read goes through and then it locks up later (1 out of 10
 > the read() call works). It is quite hard to analyse when the total roundtrip
 > needs several minutes per try due to the fsck of the file system and all you
 > have are some printk() outputs from within kfir.o. 
 > 
 > Any ideas?


Well, it is hard to debug when it works. I also added 
safeguards to make the microcode loading safer. One possible problem
is that IRQ signals could be created when the Altera is not loaded
yet. In that case the IRQ cannot be serviced or results in a lockup
since the Altera is not loaded yet and the IRQ regs cannot be read.
But I disable all interrupts and clear the Altera registers again
before enabling IRQs again. So, I don't know what happens.

I also do not have some magical documentation which could explain it
all. I got the sources to the NT driver and a Kfir datasheet with a
superficial register description, that's it. The Altera loading
process is exactly as in the NT sources + some modifications I
explained above. If you remove the cli() and sti() and the extra IRQ
clearing it is exactly the same.

Documentation for the PCI bridge PLX9054 should be publically
available. Maybe something else needs to be initialized there.


Ralph



Home | Main Index | Thread Index