Subject: Interrupts problem
To: None <port-powerpc@netbsd.org>
From: Jean-Francois Boudreault <jfboudre@gel.ulaval.ca>
List: port-powerpc
Date: 08/31/2006 16:08:04
Hi there,
I have a problem with custom hardware interruptions.
I'm currently designing custom network device. I'm using Jachym's port
on virtex fpga with the console on the serial port. I have a driver
which allocate dma memory on initialization. I use a callout function
called every 30ms that simply write 32bits dma memory address to a
register of the custom device to initiate a network transfert (which
take <1ms). As soon transfert is completed, the custom device sends an
interruption which call my driver's interruption routine that reset the
callout to another 30ms.
On booting, I see packets going out of the custom device every 30ms as
expected. But as soon the system is booted and my console started ('sh'
called in single-user mode), it takes about 400ms to receive
interruption from the custom device. Then if I give input to the console
(simply press and hold ENTER key) I get back 30ms response from device.
Looks like interruptions problem but I can't fix it. I tried
modifications to init binary to not call 'sh' but same problem. Also
tried a sleep. Even tried to call ext_intr() every 10ms without success.
Any idea?
Thanks,
Jeff.