lkml.org 
[lkml]   [2008]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: HELP: Is writeq an atomic operation??
Date
From
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


\
 
 \ /
  Last update: 2008-05-03 01:35    [W:0.030 / U:0.900 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site