xref: /dpdk/drivers/net/gve/base/gve_register.h (revision c9ba2caf63025f57d70d8816a54688e384537a3b)
1f86e5ed8SJunfeng Guo /* SPDX-License-Identifier: MIT
2f86e5ed8SJunfeng Guo  * Google Virtual Ethernet (gve) driver
3f86e5ed8SJunfeng Guo  * Copyright (C) 2015-2022 Google, Inc.
4f86e5ed8SJunfeng Guo  */
5f86e5ed8SJunfeng Guo 
6f86e5ed8SJunfeng Guo #ifndef _GVE_REGISTER_H_
7f86e5ed8SJunfeng Guo #define _GVE_REGISTER_H_
8f86e5ed8SJunfeng Guo 
9*c9ba2cafSJunfeng Guo #include "gve_osdep.h"
10*c9ba2cafSJunfeng Guo 
11f86e5ed8SJunfeng Guo /* Fixed Configuration Registers */
12f86e5ed8SJunfeng Guo struct gve_registers {
13f86e5ed8SJunfeng Guo 	__be32	device_status;
14f86e5ed8SJunfeng Guo 	__be32	driver_status;
15f86e5ed8SJunfeng Guo 	__be32	max_tx_queues;
16f86e5ed8SJunfeng Guo 	__be32	max_rx_queues;
17f86e5ed8SJunfeng Guo 	__be32	adminq_pfn;
18f86e5ed8SJunfeng Guo 	__be32	adminq_doorbell;
19f86e5ed8SJunfeng Guo 	__be32	adminq_event_counter;
20f86e5ed8SJunfeng Guo 	u8	reserved[3];
21f86e5ed8SJunfeng Guo 	u8	driver_version;
22f86e5ed8SJunfeng Guo };
23f86e5ed8SJunfeng Guo 
24f86e5ed8SJunfeng Guo enum gve_device_status_flags {
25f86e5ed8SJunfeng Guo 	GVE_DEVICE_STATUS_RESET_MASK		= BIT(1),
26f86e5ed8SJunfeng Guo 	GVE_DEVICE_STATUS_LINK_STATUS_MASK	= BIT(2),
27f86e5ed8SJunfeng Guo 	GVE_DEVICE_STATUS_REPORT_STATS_MASK	= BIT(3),
28f86e5ed8SJunfeng Guo };
29f86e5ed8SJunfeng Guo #endif /* _GVE_REGISTER_H_ */
30