Hello Robert,
I won't contradict you... ;-) It's likely that the chip cannot handle such "extreme" "video pictures"...Some issues seem more like a bug than "graceful recovery", particularly the fact that the SAA7146A will sometimes not _finish_ DMA transfers. With burst and FIFO threshold set to 4 Dwords, the chip _randomly_ does not DMA the last 2-8 Dwords. I'd say the SAA7146A's PCI logic is simply bugged.
Thanks again for your very useful investigations. I just tested these values on my system and they don't change anything to the negative side for me, so I'll commit them.But, on a more helpful note: I found that it makes quite a difference what WIDTH and HEIGHT you select for the BRS! Now the current code uses 4*188 as width and 1024/4 as height, which does _NOT_ give the best results. In my testing, I found that the most reliable configuration is: TS_WIDTH = 376 (2*188) TS_HEIGHT = 512 (1024/2) With this BRS configuration, the SAA7146A produces the least "DMA glitches" on my machine, and even allows me to use a burst of 128 Dwords (with a threshold of 32 Dwords), which was _not_ possible with Width=188/Height=1024! I suspect this configuration is working best, because it has no number greater than 512 in it, and the BRS seems to have an issue with line or pixel counts exceeding 511/512...
Because of the fact that there are BRS issues (I need to apply a BRS workaround for working vbi capture on analog saa7146 tv cards, search for "vbi_workaround" in the code), I guess these smaller values are safe to use.I'd suggest putting the "DMA verification" code in place first, though, and _then_ starting to change the BRS configuration values to see if it indeed improves the results.
Regards, Robert Schlabbach
CU Michael. -- Info: To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.