Lines Matching defs:gve_priv
180 struct gve_priv { struct
181 struct net_device *dev;
182 struct gve_tx_ring *tx; /* array of tx_cfg.num_queues */
183 struct gve_rx_ring *rx; /* array of rx_cfg.num_queues */
184 struct gve_queue_page_list *qpls; /* array of num qpls */
185 struct gve_notify_block *ntfy_blocks; /* array of num_ntfy_blks */
186 dma_addr_t ntfy_block_bus;
187 struct msix_entry *msix_vectors; /* array of num_ntfy_blks + 1 */
188 char mgmt_msix_name[IFNAMSIZ + 16];
189 u32 mgmt_msix_idx;
190 __be32 *counter_array; /* array of num_event_counters */
191 dma_addr_t counter_array_bus;
193 u16 num_event_counters;
194 u16 tx_desc_cnt; /* num desc per ring */
195 u16 rx_desc_cnt; /* num desc per ring */
196 u16 tx_pages_per_qpl; /* tx buffer length */
197 u16 rx_pages_per_qpl; /* rx buffer length */
198 u64 max_registered_pages;
199 u64 num_registered_pages; /* num pages registered with NIC */
200 u32 rx_copybreak; /* copy packets smaller than this */
201 u16 default_num_queues; /* default num queues to set up */
203 struct gve_queue_config tx_cfg;
204 struct gve_queue_config rx_cfg;
205 struct gve_qpl_config qpl_cfg; /* map used QPL ids */
206 u32 num_ntfy_blks; /* spilt between TX and RX so must be even */
208 struct gve_registers __iomem *reg_bar0; /* see gve_register.h */
209 __be32 __iomem *db_bar2; /* "array" of doorbells */
210 u32 msg_enable; /* level for netif* netdev print macros */
211 struct pci_dev *pdev;
214 u32 tx_timeo_cnt;
217 union gve_adminq_command *adminq;
218 dma_addr_t adminq_bus_addr;
219 u32 adminq_mask; /* masks prod_cnt to adminq size */
220 u32 adminq_prod_cnt; /* free-running count of AQ cmds executed */
221 u32 adminq_cmd_fail; /* free-running count of AQ cmds failed */
222 u32 adminq_timeouts; /* free-running count of AQ cmds timeouts */
224 u32 adminq_describe_device_cnt;
225 u32 adminq_cfg_device_resources_cnt;
226 u32 adminq_register_page_list_cnt;
227 u32 adminq_unregister_page_list_cnt;
228 u32 adminq_create_tx_queue_cnt;
229 u32 adminq_create_rx_queue_cnt;
230 u32 adminq_destroy_tx_queue_cnt;
231 u32 adminq_destroy_rx_queue_cnt;
232 u32 adminq_dcfg_device_resources_cnt;
233 u32 adminq_set_driver_parameter_cnt;
234 u32 adminq_report_stats_cnt;
235 u32 adminq_report_link_speed_cnt;
238 u32 interface_up_cnt; /* count of times interface turned up since last reset */
239 u32 interface_down_cnt; /* count of times interface turned down since last reset */
240 u32 reset_cnt; /* count of reset */
241 u32 page_alloc_fail; /* count of page alloc fails */
242 u32 dma_mapping_error; /* count of dma mapping errors */
243 u32 stats_report_trigger_cnt; /* count of device-requested stats-reports since last reset */
244 struct workqueue_struct *gve_wq;
245 struct work_struct service_task;
246 struct work_struct stats_report_task;
247 unsigned long service_task_flags;
248 unsigned long state_flags;
250 struct gve_stats_report *stats_report;
251 u64 stats_report_len;
252 dma_addr_t stats_report_bus; /* dma address for the stats report */
253 unsigned long ethtool_flags;
255 unsigned long stats_report_timer_period;
256 struct timer_list stats_report_timer;
280 static inline bool gve_get_do_reset(struct gve_priv *priv) in gve_get_do_reset() argument