Message ID | 537B08CD.90607@solarflare.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/drivers/net/ethernet/sfc/io.h b/drivers/net/ethernet/sfc/io.h index 4d3f119..adadcf0 100644 --- a/drivers/net/ethernet/sfc/io.h +++ b/drivers/net/ethernet/sfc/io.h @@ -66,10 +66,18 @@ #define EFX_USE_QWORD_IO 1 #endif +/* PIO only works on 64-bit architectures */ +#if BITS_PER_LONG == 64 +/* not strictly necessary to restrict to x86 arch, but done for safety + * since unusual write combining behaviour can break PIO. + */ +#ifdef CONFIG_X86_64 /* PIO is a win only if write-combining is possible */ #ifdef ARCH_HAS_IOREMAP_WC #define EFX_USE_PIO 1 #endif +#endif +#endif #ifdef EFX_USE_QWORD_IO static inline void _efx_writeq(struct efx_nic *efx, __le64 value,