Thread (6 messages) flat view 6 messages, 2 authors, 2011-07-11

Re: Analysing a kernel panic

From: Guillaume Dargaud <hidden>
Date: 2011-07-08 07:26:52

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help