On Friday, May 02, 2008 5:22 PM, Roland Dreier wrote: > > Yeah, I forgot I have a #ifndef writeq, then defined the > x86_64 version > > of that. I've not tested on x86, so I'm not sure whether > it works. > > How are you handling writeq when its not defined, as the > case in x86? > > Write two writel() inside a spinlock to avoid any transactions in the > middle (the HW I'm dealing with can deal with two 32-bit transactions, > as long as nothing comes in the middle). If your hardware demands a > single 64-bit transaction, you may be in trouble, because I'm not sure > all 32-bit systems can generate such a PCIe transaction. > > You can see include/linux/mlx4/doorbell.h for exactly what I did. > Thanks for the code sample. Yes, I need to send a single atomic 64-bit transaction. Eric -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html