Lines Matching refs:adapter
101 ena_sysctl_add_nodes(struct ena_adapter *adapter) in ena_sysctl_add_nodes() argument
103 ena_sysctl_add_wd(adapter); in ena_sysctl_add_nodes()
104 ena_sysctl_add_stats(adapter); in ena_sysctl_add_nodes()
105 ena_sysctl_add_eni_metrics(adapter); in ena_sysctl_add_nodes()
106 ena_sysctl_add_tuneables(adapter); in ena_sysctl_add_nodes()
108 ena_sysctl_add_rss(adapter); in ena_sysctl_add_nodes()
113 ena_sysctl_add_wd(struct ena_adapter *adapter) in ena_sysctl_add_wd() argument
121 dev = adapter->pdev; in ena_sysctl_add_wd()
129 CTLFLAG_RWTUN, &adapter->wd_active, 0, in ena_sysctl_add_wd()
133 CTLFLAG_RWTUN, &adapter->keep_alive_timeout, in ena_sysctl_add_wd()
137 CTLFLAG_RWTUN, &adapter->missing_tx_timeout, in ena_sysctl_add_wd()
141 CTLFLAG_RWTUN, &adapter->missing_tx_max_queues, 0, in ena_sysctl_add_wd()
145 CTLFLAG_RWTUN, &adapter->missing_tx_threshold, 0, in ena_sysctl_add_wd()
150 ena_sysctl_add_stats(struct ena_adapter *adapter) in ena_sysctl_add_stats() argument
176 dev = adapter->pdev; in ena_sysctl_add_stats()
182 tx_ring = adapter->tx_ring; in ena_sysctl_add_stats()
183 rx_ring = adapter->rx_ring; in ena_sysctl_add_stats()
185 hw_stats = &adapter->hw_stats; in ena_sysctl_add_stats()
186 dev_stats = &adapter->dev_stats; in ena_sysctl_add_stats()
187 admin_stats = &adapter->ena_dev->admin_queue.stats; in ena_sysctl_add_stats()
202 for (i = 0; i < adapter->num_io_queues; ++i, ++tx_ring, ++rx_ring) { in ena_sysctl_add_stats()
209 adapter->que[i].oid = queue_node; in ena_sysctl_add_stats()
214 CTLFLAG_RD, &adapter->que[i].cpu, 0, "CPU affinity"); in ena_sysctl_add_stats()
216 CTLFLAG_RD, &adapter->que[i].domain, 0, "NUMA domain"); in ena_sysctl_add_stats()
349 ena_sysctl_add_eni_metrics(struct ena_adapter *adapter) in ena_sysctl_add_eni_metrics() argument
361 dev = adapter->pdev; in ena_sysctl_add_eni_metrics()
371 eni_metrics = &adapter->eni_metrics; in ena_sysctl_add_eni_metrics()
395 CTLTYPE_U16 | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_eni_metrics()
401 ena_sysctl_add_tuneables(struct ena_adapter *adapter) in ena_sysctl_add_tuneables() argument
409 dev = adapter->pdev; in ena_sysctl_add_tuneables()
417 CTLTYPE_U32 | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_tuneables()
423 CTLTYPE_U32 | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_tuneables()
429 CTLTYPE_U32 | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_tuneables()
436 ena_sysctl_add_rss(struct ena_adapter *adapter) in ena_sysctl_add_rss() argument
444 dev = adapter->pdev; in ena_sysctl_add_rss()
457 CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_rss()
462 CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, adapter, 0, in ena_sysctl_add_rss()
487 ena_sysctl_update_queue_node_nb(struct ena_adapter *adapter, int old, int new) in ena_sysctl_update_queue_node_nb() argument
493 dev = adapter->pdev; in ena_sysctl_update_queue_node_nb()
495 max = MIN(MAX(old, new), adapter->max_num_io_queues); in ena_sysctl_update_queue_node_nb()
498 oid = adapter->que[i].oid; in ena_sysctl_update_queue_node_nb()
512 struct ena_adapter *adapter = arg1; in ena_sysctl_buf_ring_size() local
517 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_buf_ring_size()
525 val = adapter->buf_ring_size; in ena_sysctl_buf_ring_size()
532 ena_log(adapter->pdev, ERR, in ena_sysctl_buf_ring_size()
539 if (val != adapter->buf_ring_size) { in ena_sysctl_buf_ring_size()
540 ena_log(adapter->pdev, INFO, in ena_sysctl_buf_ring_size()
542 val, adapter->buf_ring_size); in ena_sysctl_buf_ring_size()
544 error = ena_update_buf_ring_size(adapter, val); in ena_sysctl_buf_ring_size()
546 ena_log(adapter->pdev, ERR, in ena_sysctl_buf_ring_size()
548 adapter->buf_ring_size); in ena_sysctl_buf_ring_size()
560 struct ena_adapter *adapter = arg1; in ena_sysctl_rx_queue_size() local
565 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_rx_queue_size()
573 val = adapter->requested_rx_ring_size; in ena_sysctl_rx_queue_size()
579 if (val < ENA_MIN_RING_SIZE || val > adapter->max_rx_ring_size) { in ena_sysctl_rx_queue_size()
580 ena_log(adapter->pdev, ERR, in ena_sysctl_rx_queue_size()
582 val, ENA_MIN_RING_SIZE, adapter->max_rx_ring_size); in ena_sysctl_rx_queue_size()
589 ena_log(adapter->pdev, ERR, in ena_sysctl_rx_queue_size()
596 if (val != adapter->requested_rx_ring_size) { in ena_sysctl_rx_queue_size()
597 ena_log(adapter->pdev, INFO, in ena_sysctl_rx_queue_size()
599 val, adapter->requested_rx_ring_size); in ena_sysctl_rx_queue_size()
601 error = ena_update_queue_size(adapter, in ena_sysctl_rx_queue_size()
602 adapter->requested_tx_ring_size, val); in ena_sysctl_rx_queue_size()
604 ena_log(adapter->pdev, ERR, in ena_sysctl_rx_queue_size()
606 adapter->requested_rx_ring_size); in ena_sysctl_rx_queue_size()
621 struct ena_adapter *adapter = arg1; in ena_sysctl_io_queues_nb() local
626 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_io_queues_nb()
633 tmp = adapter->num_io_queues; in ena_sysctl_io_queues_nb()
640 ena_log(adapter->pdev, ERR, in ena_sysctl_io_queues_nb()
653 if (tmp > (adapter->msix_vecs - ENA_ADMIN_MSIX_VEC)) { in ena_sysctl_io_queues_nb()
654 ena_log(adapter->pdev, ERR, in ena_sysctl_io_queues_nb()
656 "allowed (%u)\n", adapter->msix_vecs - ENA_ADMIN_MSIX_VEC); in ena_sysctl_io_queues_nb()
660 if (tmp == adapter->num_io_queues) { in ena_sysctl_io_queues_nb()
661 ena_log(adapter->pdev, ERR, in ena_sysctl_io_queues_nb()
663 "(%u)\n", adapter->num_io_queues); in ena_sysctl_io_queues_nb()
665 ena_log(adapter->pdev, INFO, in ena_sysctl_io_queues_nb()
667 "%u\n", tmp, adapter->num_io_queues); in ena_sysctl_io_queues_nb()
669 old_num_queues = adapter->num_io_queues; in ena_sysctl_io_queues_nb()
670 error = ena_update_io_queue_nb(adapter, tmp); in ena_sysctl_io_queues_nb()
674 ena_sysctl_update_queue_node_nb(adapter, old_num_queues, tmp); in ena_sysctl_io_queues_nb()
686 struct ena_adapter *adapter = arg1; in ena_sysctl_eni_metrics_interval() local
691 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_eni_metrics_interval()
698 interval = adapter->eni_metrics_sample_interval; in ena_sysctl_eni_metrics_interval()
705 ena_log(adapter->pdev, ERR, in ena_sysctl_eni_metrics_interval()
713 ena_log(adapter->pdev, INFO, in ena_sysctl_eni_metrics_interval()
715 bzero(&adapter->eni_metrics, sizeof(adapter->eni_metrics)); in ena_sysctl_eni_metrics_interval()
717 ena_log(adapter->pdev, INFO, in ena_sysctl_eni_metrics_interval()
722 adapter->eni_metrics_sample_interval = interval; in ena_sysctl_eni_metrics_interval()
737 struct ena_adapter *adapter = arg1; in ena_sysctl_rss_key() local
738 struct ena_com_dev *ena_dev = adapter->ena_dev; in ena_sysctl_rss_key()
747 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_rss_key()
752 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_RSS_ACTIVE, adapter))) { in ena_sysctl_rss_key()
761 error = ena_com_get_hash_function(adapter->ena_dev, &ena_func); in ena_sysctl_rss_key()
763 device_printf(adapter->pdev, "Cannot get hash function\n"); in ena_sysctl_rss_key()
769 device_printf(adapter->pdev, "Unsupported hash algorithm\n"); in ena_sysctl_rss_key()
775 device_printf(adapter->pdev, "Cannot get hash key\n"); in ena_sysctl_rss_key()
788 device_printf(adapter->pdev, "Invalid key size\n"); in ena_sysctl_rss_key()
799 device_printf(adapter->pdev, in ena_sysctl_rss_key()
807 device_printf(adapter->pdev, "Cannot fill hash key\n"); in ena_sysctl_rss_key()
834 struct ena_adapter *adapter = arg1; in ena_sysctl_rss_indir_table() local
841 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_DEVICE_RUNNING, adapter))) { in ena_sysctl_rss_indir_table()
846 if (unlikely(!ENA_FLAG_ISSET(ENA_FLAG_RSS_ACTIVE, adapter))) { in ena_sysctl_rss_indir_table()
851 ena_dev = adapter->ena_dev; in ena_sysctl_rss_indir_table()
852 indir = adapter->rss_indir; in ena_sysctl_rss_indir_table()
864 num_queues = adapter->num_io_queues; in ena_sysctl_rss_indir_table()
874 device_printf(adapter->pdev, "Invalid index: %s\n", in ena_sysctl_rss_indir_table()
881 device_printf(adapter->pdev, "Index %d out of range\n", in ena_sysctl_rss_indir_table()
890 device_printf(adapter->pdev, "Missing ':' separator\n"); in ena_sysctl_rss_indir_table()
898 device_printf(adapter->pdev, "Invalid value: %s\n", in ena_sysctl_rss_indir_table()
905 device_printf(adapter->pdev, "Value %d out of range\n", in ena_sysctl_rss_indir_table()
915 ena_rss_indir_get(adapter, indir->table); in ena_sysctl_rss_indir_table()
921 error = ena_rss_indir_set(adapter, indir->table); in ena_sysctl_rss_indir_table()