xref: /linux/drivers/net/ethernet/intel/i40e/i40e_io.h (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1*5dfd37c3SIvan Vecera /* SPDX-License-Identifier: GPL-2.0 */
2*5dfd37c3SIvan Vecera /* Copyright(c) 2023 Intel Corporation. */
3*5dfd37c3SIvan Vecera 
4*5dfd37c3SIvan Vecera #ifndef _I40E_IO_H_
5*5dfd37c3SIvan Vecera #define _I40E_IO_H_
6*5dfd37c3SIvan Vecera 
7*5dfd37c3SIvan Vecera /* get readq/writeq support for 32 bit kernels, use the low-first version */
8*5dfd37c3SIvan Vecera #include <linux/io-64-nonatomic-lo-hi.h>
9*5dfd37c3SIvan Vecera 
10*5dfd37c3SIvan Vecera #define wr32(a, reg, value)	writel((value), ((a)->hw_addr + (reg)))
11*5dfd37c3SIvan Vecera #define rd32(a, reg)		readl((a)->hw_addr + (reg))
12*5dfd37c3SIvan Vecera 
13*5dfd37c3SIvan Vecera #define rd64(a, reg)		readq((a)->hw_addr + (reg))
14*5dfd37c3SIvan Vecera #define i40e_flush(a)		readl((a)->hw_addr + I40E_GLGEN_STAT)
15*5dfd37c3SIvan Vecera 
16*5dfd37c3SIvan Vecera #endif /* _I40E_IO_H_ */
17