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

source code of linux/drivers/net/ethernet/google/gve/gve_register.h