Jeff Garzik wrote:
>> -            IXGB_WRITE_REG_ARRAY(hw, RA, (i << 1), 0);
>> +            /* Write high reg first to disable the AV bit first */
>>              IXGB_WRITE_REG_ARRAY(hw, RA, ((i << 1) + 1), 0);
>> +            IXGB_WRITE_REG_ARRAY(hw, RA, (i << 1), 0);
> 
> Are you sure the order is guaranteed even after this code change, when
> considering all manner of CPU and bus posted writes?
> 
> ACK if yes

AFAIK, yes, because a bus controller should not be able to write combine
address sequence 4,0,12,8 into 0-12, because that would be reordering
writes.

I've only seen a strangely configured AMD 8132 bridge write combine
*linear* writes like this 0,4,8,12 into 0-12, so you can either reorder
the writes *or* put in a write flush between linear writes to work
around any issues created by write combining register writes.

In any case I believe this work around to be okay.
--
Jesse
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to