> What is "Xad." ? (btw, coding style FAIL !)

That's the struct I use to access the control registers of the hardware.
About the coding style, don't worry it's never going to make it into mainstream 
as there's only one piece of that 
hardware ever built ! (which is also why I didn't respect things like allowing 
multiple devices, please don't nail me to 
the cross for that). And it's only my 2nd real Linux driver...

> Are you trying to write to HW registers using a structure like that
> without using the appropriate MMIO register accessors ?
> In that case, your accesses may happen our of order since you don't have
> memory barriers (among other potential problems).

Yes. I discovered the out() functions afterwards. But I insert asm(eieio) to 
avoid 'out of order' problems.
 
> The crash looks like you aren't properly clearing the interrupt
> condition on the HW, it remains asserted, tho it shouldn't overflow like
> that, something seems wrong with your PIC.

Is there some constraints I should tell the electronics guys ? Should the 
interrupt be raised for less than some max 
duration ? It's on a raising signal, so I don't see why that should be an issue.

> What HW is this ? What PIC ? It looks like the interrupt source isn't
> masked on the PIC itself while it's being handled or something...

The hardware is a heavily modified Xilinx ML405 derivative.
The PIC is a XPS_INTC (in VHDL)
-- 
Guillaume Dargaud
http://www.gdargaud.net/Antarctica/
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to