1/* SPDX-License-Identifier: (GPL-2.0 OR MIT)
2 * Google virtual Ethernet (gve) driver
3 *
4 * Copyright (C) 2015-2019 Google, Inc.
5 */
6
7#ifndef _GVE_REGISTER_H_
8#define _GVE_REGISTER_H_
9
10/* Fixed Configuration Registers */
11struct gve_registers {
12	__be32	device_status;
13	__be32	driver_status;
14	__be32	max_tx_queues;
15	__be32	max_rx_queues;
16	__be32	adminq_pfn;
17	__be32	adminq_doorbell;
18	__be32	adminq_event_counter;
19	u8	reserved[3];
20	u8	driver_version;
21	__be32	adminq_base_address_hi;
22	__be32	adminq_base_address_lo;
23	__be16	adminq_length;
24};
25
26enum gve_device_status_flags {
27	GVE_DEVICE_STATUS_RESET_MASK		= BIT(1),
28	GVE_DEVICE_STATUS_LINK_STATUS_MASK	= BIT(2),
29	GVE_DEVICE_STATUS_REPORT_STATS_MASK	= BIT(3),
30	GVE_DEVICE_STATUS_DEVICE_IS_RESET	= BIT(4),
31};
32
33enum gve_driver_status_flags {
34	GVE_DRIVER_STATUS_RUN_MASK		= BIT(0),
35	GVE_DRIVER_STATUS_RESET_MASK		= BIT(1),
36};
37#endif /* _GVE_REGISTER_H_ */
38