
2 Jul
2009
2 Jul
'09
8:47 a.m.
On Wed, 1 Jul 2009 09:57:10 -0700 Prafulla Wadaskar prafulla@marvell.com wrote:
kwgbe_send/recv both have loops waiting for the hardware to set a bit. GCC 4.3.3 cleverly optimizes this to ... a while(1); loop.
Struct used is defined as volatile here. Is this not sufficient?
Right, but that was only for recv - send isn't volatile. I'll send a new patch with the required changes. The question is which :-):
1. Make structure volatile in send as well
2. Use readl() where needed
3. Keep the memory barrier approach (and maybe add a mb() macro to arm as well)
I'm happy to get suggestions!
I'll prepare the openrd_base board patches a bit more and send them to the list later today.
// Simon