[linux-dvb] saa7134 bug in 64 bits system
awalls at radix.net
Sat Oct 11 21:34:05 CEST 2008
On Sat, 2008-10-11 at 18:12 +0200, mathieu.taillefumier at free.fr wrote:
> Hi devs,
> I discover an annoying bug in the saa7134 module after using my tv card again.
> The card is a cinergy ht pcmcia which works perfectly on both XP and fedora 10
> (with a customized kernel 2.7.27-rc8) but fail to initialize the card correctly
> on 64bits kernel (it is a lfs in this case with the same version of the kernel
> and the same drivers for the tv card). The drivers I am using are the last
> version of the mercurial repository. I attached the dmesg files for both 32bits
> and 64bits (same arch).
With a diff of the dmesg files, I noticed things are being detected and
configured slightly differently. I'm not sure that's important, but
this one in particular caught my eye:
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
-ACPI: Skipping IOAPIC probe due to 'noapic' option.
+ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base)
+IOAPIC: apic_id 1, version 0, address 0xfec00000, GSI 0-23
Any particular reason you're specifying noapic for 32 bit and not for 64
Again, I'm not sure if it's important, but if you are troubleshooting
between 2 setups, you want to eliminate as many unknowns as possible by
keeping things the same as much as you can.
> I try to track the problem and it seems that it is coming from the init function
> of the driver in particular the line saa_readl(SAA7134_GPIO_GPSTATUS0>>2). the
> gpio is wrong on 64 bits. The kernel indicates gpio is ffffffff instead of gpio
> is 0 (which is the correct value).
The devices on a PCI bus return 0xffffffff when there is a PCI bus read
Given the error messages from line 731 on in the dmesg-64 file, I'd say
the PCI bus is returning a lot of PCI read errors to the driver. To
verify, one could probably modify the saa_readl() macro in saa7134.h to
a static inline function that also printk()'s out what was just read.
(Not that that will help solve the problem.)
> So I do not know if it is problem in the
> drivers or if the problem is coming from the kernel itself.
I'm wagering it's a PCI bus configuration/setup problem. (*guess*)
Given that it looks like your video card is a PCMCIA/CardBus card, maybe
something with the Yenta driver is not right. (*Wild guess*)
This message, that only appeared in dmesg-64, may be of concern, since
you're using a PCMCIA/CardBus card:
cs: pcmcia_socket0: unable to apply power.
pccard: CardBus card inserted into slot 0
> I am willing to help
> the devs to track down this bug so please let me know if you need some help.
Those are just WAGs as to what might be wrong. More differential
analysis of the dmesg and dmesg-64 files may help you narrow things
down. I will think you'll need to expand your search beyond the saa7134
driver messages - to me they appear to be symptoms caused by a problem
with something else. Good luck.
More information about the linux-dvb