Hello Holger, hello Andrew,
This change is not as good as it looks. It may work on dvb cards perfectly, but it has negative side effects on my analog saa7146 based cards.Here you are.. this should also still report address errors correctly.looks good,
but I wonder if we shouldn't add a delay'n'retry on adress error for the current message only...The problem is the crappy i2c behaviour of these chipsets. I mean, i2c is such a simple protocol and nevertheless some engineers "succeed" in screwing it up. 8-/
(imagine the stv0299 i2c gate case: 1st msg is opening the gate, then the second message has to wait a bit, but we don't want to resend the entire message...)
Anyway, I applied your patch to CVS, further optimisations can follow later.I modified it the following way: currently, all analog saa7146 based cards use i2c transactions with i2c irqs enabled, for better performance. dvb cards don't use this, since it screws up gpio/debi irqs and results in "gpio oops"/"debi oops" messages and ts lockup.
Holger
CU Michael. -- Info: To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.