From 6a70db21f40fa92900f6d90bd58ffb29d5b4ac92 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 1 Sep 2011 12:09:59 +0000 Subject: [PATCH] --- yaml --- r: 263919 b: refs/heads/master c: 483f97f8b2b7f0ab09e14c06fe327d5e346fac28 h: refs/heads/master i: 263917: fd579ad7b9b7813d5c0dddf8ef4d2cdfc3f89bea 263915: eb901b234e3823f3d6b751cd482ea4f0f7b8fc32 263911: 785321b623012232df60f1988159b481ebbd1b7f 263903: 2a16ce6a953ec6f5a3eef8c460fbfc95e7ec18ef v: v3 --- [refs] | 2 +- trunk/drivers/net/sfc/io.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 8c7c8d73e064..04f3decc992c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86c432ca5d6da90a26ac8d3e680f2268b502d9c5 +refs/heads/master: 483f97f8b2b7f0ab09e14c06fe327d5e346fac28 diff --git a/trunk/drivers/net/sfc/io.h b/trunk/drivers/net/sfc/io.h index dc45110b2456..751d1ec112cc 100644 --- a/trunk/drivers/net/sfc/io.h +++ b/trunk/drivers/net/sfc/io.h @@ -48,9 +48,9 @@ * replacing the low 96 bits with zero does not affect functionality. * - If the host writes to the last dword address of such a register * (i.e. the high 32 bits) the underlying register will always be - * written. If the collector does not hold values for the low 96 - * bits of the register, they will be written as zero. Writing to - * the last qword does not have this effect and must not be done. + * written. If the collector and the current write together do not + * provide values for all 128 bits of the register, the low 96 bits + * will be written as zero. * - If the host writes to the address of any other part of such a * register while the collector already holds values for some other * register, the write is discarded and the collector maintains its @@ -237,12 +237,13 @@ static inline void _efx_writeo_page(struct efx_nic *efx, efx_oword_t *value, #ifdef EFX_USE_QWORD_IO _efx_writeq(efx, value->u64[0], reg + 0); + _efx_writeq(efx, value->u64[1], reg + 8); #else _efx_writed(efx, value->u32[0], reg + 0); _efx_writed(efx, value->u32[1], reg + 4); -#endif _efx_writed(efx, value->u32[2], reg + 8); _efx_writed(efx, value->u32[3], reg + 12); +#endif } #define efx_writeo_page(efx, value, reg, page) \ _efx_writeo_page(efx, value, \