Lines Matching defs:ena_dev

339 	rc = ena_com_set_dev_mtu(adapter->ena_dev, new_mtu);
383 ring->ena_dev = adapter->ena_dev;
391 struct ena_com_dev *ena_dev;
396 ena_dev = adapter->ena_dev;
407 txr->tx_max_header_size = ena_dev->tx_max_header_size;
408 txr->tx_mem_queue_type = ena_dev->tx_mem_queue_type;
464 * them from adapter/ena_dev (basic)
1304 ena_com_rss_destroy(adapter->ena_dev);
1549 ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
1561 ena_com_destroy_io_queue(adapter->ena_dev, ena_qid);
1585 struct ena_com_dev *ena_dev = adapter->ena_dev;
1598 ctx.mem_queue_type = ena_dev->tx_mem_queue_type;
1605 rc = ena_com_create_io_queue(ena_dev, &ctx);
1612 rc = ena_com_get_io_handlers(ena_dev, ena_qid,
1619 ena_com_destroy_io_queue(ena_dev, ena_qid);
1640 rc = ena_com_create_io_queue(ena_dev, &ctx);
1648 rc = ena_com_get_io_handlers(ena_dev, ena_qid,
1655 ena_com_destroy_io_queue(ena_dev, ena_qid);
1684 ena_com_destroy_io_queue(ena_dev, ENA_IO_RXQ_IDX(i));
1688 ena_com_destroy_io_queue(ena_dev, ENA_IO_TXQ_IDX(i));
1708 ena_com_admin_q_comp_intr_handler(adapter->ena_dev);
1710 ena_com_aenq_intr_handler(adapter->ena_dev, arg);
2108 io_cq = &adapter->ena_dev->io_cq_queues[ena_qid];
2276 (adapter->ena_dev->tx_mem_queue_type ==
2613 rc = ena_com_dev_reset(adapter->ena_dev, adapter->reset_reason);
2629 ena_calc_max_io_queue_num(device_t pdev, struct ena_com_dev *ena_dev,
2635 if (ena_dev->supported_features & BIT(ENA_ADMIN_MAX_QUEUES_EXT)) {
2652 if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
2693 ena_set_queues_placement_policy(device_t pdev, struct ena_com_dev *ena_dev,
2701 if (!(ena_dev->supported_features & llq_feature_mask)) {
2704 ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST;
2708 if (ena_dev->mem_bar == NULL) {
2711 ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST;
2715 rc = ena_com_config_dev_mode(ena_dev, llq, llq_default_configurations);
2720 ena_dev->tx_mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST;
2727 ena_map_llq_mem_bar(device_t pdev, struct ena_com_dev *ena_dev)
2753 ena_dev->mem_bar = rman_get_virtual(adapter->memory);
2787 struct ena_com_dev *ena_dev = ctx->ena_dev;
2793 if (ena_dev->supported_features & BIT(ENA_ADMIN_MAX_QUEUES_EXT)) {
2801 if (ena_dev->tx_mem_queue_type ==
2820 if (ena_dev->tx_mem_queue_type ==
2835 if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV) {
2879 ena_config_host_info(struct ena_com_dev *ena_dev, device_t dev)
2886 rc = ena_com_allocate_host_info(ena_dev);
2892 host_info = ena_dev->host_attr.host_info;
2912 rc = ena_com_set_host_attributes(ena_dev);
2925 ena_com_delete_host_info(ena_dev);
2933 struct ena_com_dev *ena_dev = adapter->ena_dev;
2939 rc = ena_com_mmio_reg_read_request_init(ena_dev);
2950 ena_com_set_mmio_read_mode(ena_dev, readless_supported);
2952 rc = ena_com_dev_reset(ena_dev, ENA_REGS_RESET_NORMAL);
2958 rc = ena_com_validate_version(ena_dev);
2964 dma_width = ena_com_get_dma_width(ena_dev);
2973 rc = ena_com_admin_init(ena_dev, &aenq_handlers);
2985 ena_com_set_admin_polling_mode(ena_dev, true);
2987 ena_config_host_info(ena_dev, pdev);
2990 rc = ena_com_get_dev_attr_feat(ena_dev, get_feat_ctx);
3006 rc = ena_com_set_aenq_config(ena_dev, aenq_groups);
3016 rc = ena_set_queues_placement_policy(pdev, ena_dev, &get_feat_ctx->llq,
3026 ena_com_delete_host_info(ena_dev);
3027 ena_com_admin_destroy(ena_dev);
3029 ena_com_mmio_reg_read_request_destroy(ena_dev);
3037 struct ena_com_dev *ena_dev = adapter->ena_dev;
3054 ena_com_set_admin_polling_mode(ena_dev, false);
3056 ena_com_admin_aenq_enable(ena_dev);
3106 if (ena_com_aenq_has_keep_alive(adapter->ena_dev))
3118 if (unlikely(ena_com_get_admin_running_state(adapter->ena_dev) == false)) {
3122 if (ena_com_get_missing_admin_interrupt(adapter->ena_dev))
3371 struct ena_com_dev *ena_dev = adapter->ena_dev;
3374 ena_dev->admin_queue.completion_timeout =
3379 ena_dev->mmio_read.reg_read_to = hints->mmio_read_timeout * 1000;
3420 rc = ena_com_get_eni_stats(adapter->ena_dev, &adapter->eni_metrics);
3444 return ena_com_get_ena_srd_info(adapter->ena_dev, &adapter->ena_srd_info);
3454 dev = adapter->ena_dev;
3460 rc = ena_com_get_customer_metrics(adapter->ena_dev,
3471 adapter->ena_dev->host_attr.host_info;
3507 if (ena_com_validate_version(adapter->ena_dev) ==
3529 struct ena_com_dev *ena_dev = adapter->ena_dev;
3545 ena_com_set_admin_running_state(ena_dev, false);
3555 ena_com_dev_reset(adapter->ena_dev, adapter->reset_reason);
3570 ena_com_abort_admin_commands(ena_dev);
3572 ena_com_wait_for_abort_completion(ena_dev);
3574 ena_com_admin_destroy(ena_dev);
3576 ena_com_mmio_reg_read_request_destroy(ena_dev);
3607 struct ena_com_dev *ena_dev = adapter->ena_dev;
3684 ena_com_abort_admin_commands(ena_dev);
3685 ena_com_wait_for_abort_completion(ena_dev);
3686 ena_com_admin_destroy(ena_dev);
3687 ena_com_dev_reset(ena_dev, ENA_REGS_RESET_DRIVER_INVALID_STATE);
3688 ena_com_mmio_reg_read_request_destroy(ena_dev);
3704 if (ena_com_get_cap(adapter->ena_dev, ENA_ADMIN_CUSTOMER_METRICS))
3706 else if (ena_com_get_cap(adapter->ena_dev, ENA_ADMIN_ENI_STATS))
3709 if (ena_com_get_cap(adapter->ena_dev, ENA_ADMIN_ENA_SRD_INFO))
3759 struct ena_com_dev *ena_dev = NULL;
3788 /* Allocate memory for ena_dev structure */
3789 ena_dev = malloc(sizeof(struct ena_com_dev), M_DEVBUF,
3792 adapter->ena_dev = ena_dev;
3793 ena_dev->dmadev = pdev;
3820 ena_dev->bus = malloc(sizeof(struct ena_bus), M_DEVBUF,
3824 ((struct ena_bus *)(ena_dev->bus))->reg_bar_t = rman_get_bustag(
3826 ((struct ena_bus *)(ena_dev->bus))->reg_bar_h = rman_get_bushandle(
3829 if (unlikely(((struct ena_bus *)(ena_dev->bus))->reg_bar_h == 0)) {
3835 rc = ena_map_llq_mem_bar(pdev, ena_dev);
3841 ena_dev->ena_min_poll_delay_us = ENA_ADMIN_POLL_DELAY_US;
3854 if (ena_dev->tx_mem_queue_type == ENA_ADMIN_PLACEMENT_POLICY_DEV)
3867 calc_queue_ctx.ena_dev = ena_dev;
3871 max_num_io_queues = ena_calc_max_io_queue_num(pdev, ena_dev,
3928 rc = ena_com_allocate_customer_metrics_buffer(ena_dev);
3988 ena_com_delete_customer_metrics_buffer(ena_dev);
3991 ena_com_dev_reset(adapter->ena_dev, ENA_REGS_RESET_INIT_ERR);
4000 ena_com_admin_destroy(ena_dev);
4001 ena_com_delete_host_info(ena_dev);
4002 ena_com_mmio_reg_read_request_destroy(ena_dev);
4004 free(ena_dev->bus, M_DEVBUF);
4008 free(ena_dev, M_DEVBUF);
4024 struct ena_com_dev *ena_dev = adapter->ena_dev;
4089 ena_com_rss_destroy(ena_dev);
4091 ena_com_delete_host_info(ena_dev);
4095 ena_com_delete_customer_metrics_buffer(ena_dev);
4099 free(ena_dev->bus, M_DEVBUF);
4101 free(ena_dev, M_DEVBUF);
4146 adapter->ena_dev, "Invalid group(%x) expected %x\n",