Lines Matching +full:free +full:- +full:running
1 /* SPDX-License-Identifier: (GPL-2.0 OR MIT)
4 * Copyright (C) 2015-2019 Google, Inc.
10 #include <linux/dma-mapping.h>
75 /* An RX ring that contains a power-of-two sized desc and data ring. */
80 u64 rbytes; /* free-running bytes received */
81 u64 rpackets; /* free-running packets received */
82 u32 cnt; /* free-running total number of completed packets */
83 u32 fill_cnt; /* free-running total number of descs and buffs posted */
85 u64 rx_copybreak_pkt; /* free-running count of copybreak packets */
86 u64 rx_copied_pkt; /* free-running total number of copied packets */
87 u64 rx_skb_alloc_fail; /* free-running count of skb alloc fails */
88 u64 rx_buf_alloc_fail; /* free-running count of buffer alloc fails */
89 u64 rx_desc_err_dropped_pkt; /* free-running count of packets dropped by descriptor error */
118 /* A TX buffer - each queue has one */
127 /* A TX ring that contains a power-of-two sized desc ring and a FIFO buffer */
129 /* Cacheline 0 -- Accessed & dirtied during transmit */
134 /* Cacheline 1 -- Accessed & dirtied during gve_clean_tx_done */
136 u64 pkt_done; /* free-running - total packets completed */
137 u64 bytes_done; /* free-running - total bytes completed */
139 /* Cacheline 2 -- Read-mostly fields */
146 /* Slow-path fields */
160 __be32 irq_db_index; /* idx into Bar2 - set by device, must be 1st */
216 /* Admin queue - see gve_adminq.h*/
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 */
223 /* free-running count of per AQ cmd executed */
243 u32 stats_report_trigger_cnt; /* count of device-requested stats-reports since last reset */
282 return test_bit(GVE_PRIV_FLAGS_DO_RESET, &priv->service_task_flags); in gve_get_do_reset()
287 set_bit(GVE_PRIV_FLAGS_DO_RESET, &priv->service_task_flags); in gve_set_do_reset()
292 clear_bit(GVE_PRIV_FLAGS_DO_RESET, &priv->service_task_flags); in gve_clear_do_reset()
298 &priv->service_task_flags); in gve_get_reset_in_progress()
303 set_bit(GVE_PRIV_FLAGS_RESET_IN_PROGRESS, &priv->service_task_flags); in gve_set_reset_in_progress()
308 clear_bit(GVE_PRIV_FLAGS_RESET_IN_PROGRESS, &priv->service_task_flags); in gve_clear_reset_in_progress()
314 &priv->service_task_flags); in gve_get_probe_in_progress()
319 set_bit(GVE_PRIV_FLAGS_PROBE_IN_PROGRESS, &priv->service_task_flags); in gve_set_probe_in_progress()
324 clear_bit(GVE_PRIV_FLAGS_PROBE_IN_PROGRESS, &priv->service_task_flags); in gve_clear_probe_in_progress()
330 &priv->service_task_flags); in gve_get_do_report_stats()
335 set_bit(GVE_PRIV_FLAGS_DO_REPORT_STATS, &priv->service_task_flags); in gve_set_do_report_stats()
340 clear_bit(GVE_PRIV_FLAGS_DO_REPORT_STATS, &priv->service_task_flags); in gve_clear_do_report_stats()
345 return test_bit(GVE_PRIV_FLAGS_ADMIN_QUEUE_OK, &priv->state_flags); in gve_get_admin_queue_ok()
350 set_bit(GVE_PRIV_FLAGS_ADMIN_QUEUE_OK, &priv->state_flags); in gve_set_admin_queue_ok()
355 clear_bit(GVE_PRIV_FLAGS_ADMIN_QUEUE_OK, &priv->state_flags); in gve_clear_admin_queue_ok()
360 return test_bit(GVE_PRIV_FLAGS_DEVICE_RESOURCES_OK, &priv->state_flags); in gve_get_device_resources_ok()
365 set_bit(GVE_PRIV_FLAGS_DEVICE_RESOURCES_OK, &priv->state_flags); in gve_set_device_resources_ok()
370 clear_bit(GVE_PRIV_FLAGS_DEVICE_RESOURCES_OK, &priv->state_flags); in gve_clear_device_resources_ok()
375 return test_bit(GVE_PRIV_FLAGS_DEVICE_RINGS_OK, &priv->state_flags); in gve_get_device_rings_ok()
380 set_bit(GVE_PRIV_FLAGS_DEVICE_RINGS_OK, &priv->state_flags); in gve_set_device_rings_ok()
385 clear_bit(GVE_PRIV_FLAGS_DEVICE_RINGS_OK, &priv->state_flags); in gve_clear_device_rings_ok()
390 return test_bit(GVE_PRIV_FLAGS_NAPI_ENABLED, &priv->state_flags); in gve_get_napi_enabled()
395 set_bit(GVE_PRIV_FLAGS_NAPI_ENABLED, &priv->state_flags); in gve_set_napi_enabled()
400 clear_bit(GVE_PRIV_FLAGS_NAPI_ENABLED, &priv->state_flags); in gve_clear_napi_enabled()
405 return test_bit(GVE_PRIV_FLAGS_REPORT_STATS, &priv->ethtool_flags); in gve_get_report_stats()
410 clear_bit(GVE_PRIV_FLAGS_REPORT_STATS, &priv->ethtool_flags); in gve_clear_report_stats()
418 return &priv->db_bar2[be32_to_cpu(block->irq_db_index)]; in gve_irq_doorbell()
432 return (priv->num_ntfy_blks / 2) + queue_idx; in gve_rx_idx_to_ntfy()
439 return priv->tx_cfg.num_queues; in gve_num_tx_qpls()
446 return priv->rx_cfg.num_queues; in gve_num_rx_qpls()
454 int id = find_first_zero_bit(priv->qpl_cfg.qpl_id_map, in gve_assign_tx_qpl()
455 priv->qpl_cfg.qpl_map_size); in gve_assign_tx_qpl()
461 set_bit(id, priv->qpl_cfg.qpl_id_map); in gve_assign_tx_qpl()
462 return &priv->qpls[id]; in gve_assign_tx_qpl()
470 int id = find_next_zero_bit(priv->qpl_cfg.qpl_id_map, in gve_assign_rx_qpl()
471 priv->qpl_cfg.qpl_map_size, in gve_assign_rx_qpl()
475 if (id == priv->qpl_cfg.qpl_map_size) in gve_assign_rx_qpl()
478 set_bit(id, priv->qpl_cfg.qpl_id_map); in gve_assign_rx_qpl()
479 return &priv->qpls[id]; in gve_assign_rx_qpl()
486 clear_bit(id, priv->qpl_cfg.qpl_id_map); in gve_unassign_qpl()
506 return dev->max_mtu <= PAGE_SIZE / 2; in gve_can_recycle_pages()