sfc: Use 64-bit writes for TX push where possible
Subsystems (2)
PATCH 2/2 sfc: Use 64-bit writes for TX push where possible
This was originally done as part of commit 65f0b417dee94f779ce9b77102b7d73c93723b39 ("sfc: Use write-combining to reduce TX latency"), but that had to be reverted.
Signed-off-by Ben Hutchings <[email protected]>
--- drivers/net/sfc/io.h | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
drivers/net/sfc/io.h +5 -4
@@ -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, \
Signature · 7 lines
1.7.4.4 -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
David Miller
AppliedFrom: Ben Hutchings <[email protected]>
Date: Thu, 01 Sep 2011 23:09:59 +0100
Quoted 5 lines
This was originally done as part of commit
65f0b417dee94f779ce9b77102b7d73c93723b39("sfc: Use write-combining to reduce TX latency"), but that had to be reverted.Signed-off-by Ben Hutchings <[email protected]>
Applied.