Roland Dreier wrote: > > If i uncomment the saa716x_read or write, what i get is a solid freeze > > on module load. If i leave it commented out, the module loads fine. > > That sounds like a typical bug during driver development... you're > probably wedging the hardware by doing the wrong access. > > I didn't see the source for saa716x_read or write in the code you > posted, so it's hard to say if there's a problem with them. > Attaching saa716x_read/write in saa716x_priv.h > Is your interrupt handler getting called? Is the device generating > interrupts? It looks so, from the logs. The only problem is i can't disable the interrupts, if i write "0" to 0x500, the interrupt/enable register, it gives me a solid freeze. If i read from the handler, commenting out the disable interrupts in init, that read also gives me a solid freeze. This lead me to think that there could be some problem with the MMIO block access. May 23 03:25:48 manu-04 kernel: [ 383.602737] saa716x_pci_init: found a Twinhan VP-6090 device May 23 03:25:48 manu-04 kernel: [ 383.602764] ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 16 (level, low) -> IRQ 16 May 23 03:25:48 manu-04 kernel: [ 383.603020] SAA7160/1/2 Rev 1 [1822:0027], irq: 16, latency: 0 May 23 03:25:48 manu-04 kernel: [ 383.603024] memory: 0x32200000, mmio: 0xe046e000 May 23 03:25:48 manu-04 kernel: [ 383.610761] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.624056] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.637348] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.650650] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.663951] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.677253] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.690554] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.703858] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.717156] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.730459] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.743760] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.757064] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.770364] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.783665] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.796966] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.810269] === Interrupts[0010] [] == May 23 03:25:48 manu-04 kernel: [ 383.823569] === Interrupts[0010] [] == > > > That part is then fine. Does MSI require any special tinkering ? > > Just pci_enable_msi() as usual. Thanks Regards, Manu