Lines Matching full:ionic

18 #include "ionic.h"
72 new_coal = ionic_coal_usec_to_hw(lif->ionic, cur_moder.usec); in ionic_dim_work()
79 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_dim_work()
121 mod_timer(&lif->ionic->watchdog_timer, jiffies + 1); in ionic_lif_deferred_work()
138 queue_work(lif->ionic->wq, &lif->deferred.work); in ionic_lif_deferred_enqueue()
175 ionic_port_identify(lif->ionic); in ionic_link_status_check()
231 struct device *dev = lif->ionic->dev; in ionic_request_irq()
249 struct ionic *ionic = lif->ionic; in ionic_intr_alloc() local
252 index = find_first_zero_bit(ionic->intrs, ionic->nintrs); in ionic_intr_alloc()
253 if (index == ionic->nintrs) in ionic_intr_alloc()
256 set_bit(index, ionic->intrs); in ionic_intr_alloc()
257 ionic_intr_init(&ionic->idev, intr, index); in ionic_intr_alloc()
259 err = ionic_bus_get_irq(ionic, intr->index); in ionic_intr_alloc()
261 clear_bit(index, ionic->intrs); in ionic_intr_alloc()
273 if (index != IONIC_INTR_INDEX_NOT_ASSIGNED && index < lif->ionic->nintrs) in ionic_intr_free()
274 clear_bit(index, lif->ionic->intrs); in ionic_intr_free()
309 idev = &lif->ionic->idev; in ionic_qcq_enable()
310 dev = lif->ionic->dev; in ionic_qcq_enable()
355 struct ionic_dev *idev = &lif->ionic->idev; in ionic_qcq_disable()
377 dev_dbg(lif->ionic->dev, "q_disable.index %d q_disable.qtype %d\n", in ionic_qcq_disable()
385 struct ionic_dev *idev = &lif->ionic->idev; in ionic_lif_qcq_deinit()
409 devm_free_irq(lif->ionic->dev, qcq->intr.vector, &qcq->napi); in ionic_qcq_intr_free()
417 struct device *dev = lif->ionic->dev; in ionic_qcq_free()
461 struct device *dev = lif->ionic->dev; in ionic_qcqs_free()
521 ionic_intr_mask_assert(lif->ionic->idev.intr_ctrl, qcq->intr.index, in ionic_alloc_qcq_interrupt()
531 affinity_mask = &lif->ionic->affinity_masks[qcq->intr.index]; in ionic_alloc_qcq_interrupt()
536 dev_to_node(lif->ionic->dev)); in ionic_alloc_qcq_interrupt()
564 struct ionic_dev *idev = &lif->ionic->idev; in ionic_qcq_alloc()
565 struct device *dev = lif->ionic->dev; in ionic_qcq_alloc()
594 .dev = lif->ionic->dev, in ionic_qcq_alloc()
759 struct device *dev = lif->ionic->dev; in ionic_qcqs_alloc()
775 if (lif->ionic->nnqs_per_lif) { in ionic_qcqs_alloc()
793 lif->txqcqs = devm_kcalloc(dev, lif->ionic->ntxqs_per_lif, in ionic_qcqs_alloc()
797 lif->rxqcqs = devm_kcalloc(dev, lif->ionic->nrxqs_per_lif, in ionic_qcqs_alloc()
802 lif->txqstats = devm_kcalloc(dev, lif->ionic->ntxqs_per_lif + 1, in ionic_qcqs_alloc()
806 lif->rxqstats = devm_kcalloc(dev, lif->ionic->nrxqs_per_lif + 1, in ionic_qcqs_alloc()
833 struct device *dev = lif->ionic->dev; in ionic_lif_txq_init()
898 struct device *dev = lif->ionic->dev; in ionic_lif_rxq_init()
995 txq_i = lif->ionic->ntxqs_per_lif; in ionic_lif_create_hwstamp_txq()
1032 devm_kfree(lif->ionic->dev, txq); in ionic_lif_create_hwstamp_txq()
1055 rxq_i = lif->ionic->nrxqs_per_lif; in ionic_lif_create_hwstamp_rxq()
1093 devm_kfree(lif->ionic->dev, rxq); in ionic_lif_create_hwstamp_rxq()
1218 struct ionic_dev *idev = &lif->ionic->idev; in ionic_adminq_napi()
1483 struct device *dev = lif->ionic->dev; in ionic_set_nic_features()
1516 dev_info_once(lif->ionic->dev, "NIC is not supporting vlan offload, likely in SmartNIC mode\n"); in ionic_set_nic_features()
1846 dev_err(lif->ionic->dev, "%s: Restarting queues failed\n", __func__); in ionic_tx_timeout_work()
1909 tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_lif_rss_config()
1933 tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_lif_rss_init()
1944 tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_lif_rss_deinit()
2030 for (i = 0; i < lif->ionic->ntxqs_per_lif && lif->txqcqs[i]; i++) { in ionic_txrx_free()
2032 devm_kfree(lif->ionic->dev, lif->txqcqs[i]); in ionic_txrx_free()
2038 for (i = 0; i < lif->ionic->nrxqs_per_lif && lif->rxqcqs[i]; i++) { in ionic_txrx_free()
2040 devm_kfree(lif->ionic->dev, lif->rxqcqs[i]); in ionic_txrx_free()
2047 devm_kfree(lif->ionic->dev, lif->hwstamp_txq); in ionic_txrx_free()
2053 devm_kfree(lif->ionic->dev, lif->hwstamp_rxq); in ionic_txrx_free()
2092 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_txrx_alloc()
2126 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_txrx_alloc()
2189 dev_err(lif->ionic->dev, "%s: bad qcq %d\n", __func__, i); in ionic_txrx_enable()
2342 struct ionic *ionic = lif->ionic; in ionic_get_vf_config() local
2348 down_read(&ionic->vf_op_lock); in ionic_get_vf_config()
2350 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_get_vf_config()
2353 struct ionic_vf *vfdata = &ionic->vfs[vf]; in ionic_get_vf_config()
2365 up_read(&ionic->vf_op_lock); in ionic_get_vf_config()
2373 struct ionic *ionic = lif->ionic; in ionic_get_vf_stats() local
2380 down_read(&ionic->vf_op_lock); in ionic_get_vf_stats()
2382 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_get_vf_stats()
2386 vs = &ionic->vfs[vf].stats; in ionic_get_vf_stats()
2402 up_read(&ionic->vf_op_lock); in ionic_get_vf_stats()
2410 struct ionic *ionic = lif->ionic; in ionic_set_vf_mac() local
2419 down_write(&ionic->vf_op_lock); in ionic_set_vf_mac()
2421 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_mac()
2425 dev_dbg(ionic->dev, "%s: vf %d macaddr %pM\n", in ionic_set_vf_mac()
2428 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_mac()
2430 ether_addr_copy(ionic->vfs[vf].macaddr, mac); in ionic_set_vf_mac()
2433 up_write(&ionic->vf_op_lock); in ionic_set_vf_mac()
2442 struct ionic *ionic = lif->ionic; in ionic_set_vf_vlan() local
2458 down_write(&ionic->vf_op_lock); in ionic_set_vf_vlan()
2460 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_vlan()
2464 dev_dbg(ionic->dev, "%s: vf %d vlan %d\n", in ionic_set_vf_vlan()
2467 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_vlan()
2469 ionic->vfs[vf].vlanid = cpu_to_le16(vlan); in ionic_set_vf_vlan()
2472 up_write(&ionic->vf_op_lock); in ionic_set_vf_vlan()
2481 struct ionic *ionic = lif->ionic; in ionic_set_vf_rate() local
2491 down_write(&ionic->vf_op_lock); in ionic_set_vf_rate()
2493 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_rate()
2497 dev_dbg(ionic->dev, "%s: vf %d maxrate %d\n", in ionic_set_vf_rate()
2500 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_rate()
2502 ionic->vfs[vf].maxrate = cpu_to_le32(tx_max); in ionic_set_vf_rate()
2505 up_write(&ionic->vf_op_lock); in ionic_set_vf_rate()
2513 struct ionic *ionic = lif->ionic; in ionic_set_vf_spoofchk() local
2519 down_write(&ionic->vf_op_lock); in ionic_set_vf_spoofchk()
2521 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_spoofchk()
2525 dev_dbg(ionic->dev, "%s: vf %d spoof %d\n", in ionic_set_vf_spoofchk()
2528 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_spoofchk()
2530 ionic->vfs[vf].spoofchk = set; in ionic_set_vf_spoofchk()
2533 up_write(&ionic->vf_op_lock); in ionic_set_vf_spoofchk()
2541 struct ionic *ionic = lif->ionic; in ionic_set_vf_trust() local
2547 down_write(&ionic->vf_op_lock); in ionic_set_vf_trust()
2549 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_trust()
2553 dev_dbg(ionic->dev, "%s: vf %d trust %d\n", in ionic_set_vf_trust()
2556 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_trust()
2558 ionic->vfs[vf].trusted = set; in ionic_set_vf_trust()
2561 up_write(&ionic->vf_op_lock); in ionic_set_vf_trust()
2569 struct ionic *ionic = lif->ionic; in ionic_set_vf_link_state() local
2590 down_write(&ionic->vf_op_lock); in ionic_set_vf_link_state()
2592 if (vf >= pci_num_vf(ionic->pdev) || !ionic->vfs) { in ionic_set_vf_link_state()
2596 dev_dbg(ionic->dev, "%s: vf %d linkstate %d\n", in ionic_set_vf_link_state()
2599 ret = ionic_set_vf_config(ionic, vf, &vfc); in ionic_set_vf_link_state()
2601 ionic->vfs[vf].linkstate = set; in ionic_set_vf_link_state()
2604 up_write(&ionic->vf_op_lock); in ionic_set_vf_link_state()
2611 struct ionic *ionic = lif->ionic; in ionic_vf_attr_replay() local
2615 if (!ionic->vfs) in ionic_vf_attr_replay()
2618 down_read(&ionic->vf_op_lock); in ionic_vf_attr_replay()
2620 for (i = 0; i < ionic->num_vfs; i++) { in ionic_vf_attr_replay()
2621 v = &ionic->vfs[i]; in ionic_vf_attr_replay()
2626 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2633 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2640 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2647 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2654 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2661 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2668 ionic_set_vf_config(ionic, i, &vfc); in ionic_vf_attr_replay()
2673 up_read(&ionic->vf_op_lock); in ionic_vf_attr_replay()
2675 ionic_vf_start(ionic); in ionic_vf_attr_replay()
2734 for (i = 0; i < lif->ionic->nrxqs_per_lif && lif->rxqcqs[i]; i++) { in ionic_xdp_rxqs_prog_update()
2851 dev_warn(lif->ionic->dev, in ionic_cmb_reconfig()
2858 dev_err(lif->ionic->dev, in ionic_cmb_reconfig()
2866 dev_err(lif->ionic->dev, in ionic_cmb_reconfig()
2939 tx_qcqs = devm_kcalloc(lif->ionic->dev, lif->ionic->ntxqs_per_lif, in ionic_reconfigure_queues()
2950 rx_qcqs = devm_kcalloc(lif->ionic->dev, lif->ionic->nrxqs_per_lif, in ionic_reconfigure_queues()
3071 for (i = 0; i < lif->ionic->ntxqs_per_lif; i++) { in ionic_reconfigure_queues()
3082 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_reconfigure_queues()
3089 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_reconfigure_queues()
3132 devm_kfree(lif->ionic->dev, tx_qcqs[i]); in ionic_reconfigure_queues()
3138 devm_kfree(lif->ionic->dev, rx_qcqs[i]); in ionic_reconfigure_queues()
3145 devm_kfree(lif->ionic->dev, rx_qcqs); in ionic_reconfigure_queues()
3149 devm_kfree(lif->ionic->dev, tx_qcqs); in ionic_reconfigure_queues()
3156 for (i = lif->nxqs; i < lif->ionic->ntxqs_per_lif; i++) { in ionic_reconfigure_queues()
3174 static int ionic_affinity_masks_alloc(struct ionic *ionic) in ionic_affinity_masks_alloc() argument
3177 int nintrs = ionic->nintrs; in ionic_affinity_masks_alloc()
3186 dev_to_node(ionic->dev))) in ionic_affinity_masks_alloc()
3190 ionic->affinity_masks = affinity_masks; in ionic_affinity_masks_alloc()
3202 static void ionic_affinity_masks_free(struct ionic *ionic) in ionic_affinity_masks_free() argument
3206 for (i = 0; i < ionic->nintrs; i++) in ionic_affinity_masks_free()
3207 free_cpumask_var(ionic->affinity_masks[i]); in ionic_affinity_masks_free()
3208 kfree(ionic->affinity_masks); in ionic_affinity_masks_free()
3209 ionic->affinity_masks = NULL; in ionic_affinity_masks_free()
3212 int ionic_lif_alloc(struct ionic *ionic) in ionic_lif_alloc() argument
3214 struct device *dev = ionic->dev; in ionic_lif_alloc()
3226 ionic->ntxqs_per_lif, ionic->ntxqs_per_lif); in ionic_lif_alloc()
3237 ionic->lif = lif; in ionic_lif_alloc()
3238 lif->ionic = ionic; in ionic_lif_alloc()
3247 err = ionic_lif_identify(ionic, lif->lif_type, lif->identity); in ionic_lif_alloc()
3249 dev_err(ionic->dev, "Cannot identify type %d: %d\n", in ionic_lif_alloc()
3258 lif->neqs = ionic->neqs_per_lif; in ionic_lif_alloc()
3259 lif->nxqs = ionic->ntxqs_per_lif; in ionic_lif_alloc()
3273 lif->rx_coalesce_hw = ionic_coal_usec_to_hw(lif->ionic, in ionic_lif_alloc()
3304 err = ionic_affinity_masks_alloc(ionic); in ionic_lif_alloc()
3315 tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_lif_alloc()
3335 ionic_affinity_masks_free(lif->ionic); in ionic_lif_alloc()
3355 struct ionic_dev *idev = &lif->ionic->idev; in ionic_lif_reset()
3360 mutex_lock(&lif->ionic->dev_cmd_lock); in ionic_lif_reset()
3362 ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); in ionic_lif_reset()
3363 mutex_unlock(&lif->ionic->dev_cmd_lock); in ionic_lif_reset()
3368 struct ionic *ionic = lif->ionic; in ionic_lif_handle_fw_down() local
3373 dev_info(ionic->dev, "FW Down: Stopping LIFs\n"); in ionic_lif_handle_fw_down()
3377 ionic_auxbus_unregister(ionic->lif); in ionic_lif_handle_fw_down()
3380 dev_info(ionic->dev, "Surprise FW stop, stopping queues\n"); in ionic_lif_handle_fw_down()
3389 ionic_reset(ionic); in ionic_lif_handle_fw_down()
3395 dev_info(ionic->dev, "FW Down: LIFs stopped\n"); in ionic_lif_handle_fw_down()
3400 struct ionic *ionic = lif->ionic; in ionic_restart_lif() local
3406 dev_info(ionic->dev, "FW Up: clearing broken state\n"); in ionic_restart_lif()
3438 ionic_queue_doorbell_check(ionic, IONIC_NAPI_DEADLINE); in ionic_restart_lif()
3440 ionic_auxbus_register(ionic->lif); in ionic_restart_lif()
3458 struct ionic *ionic = lif->ionic; in ionic_lif_handle_fw_up() local
3464 dev_info(ionic->dev, "FW Up: restarting LIFs\n"); in ionic_lif_handle_fw_up()
3470 ionic_init_devinfo(ionic); in ionic_lif_handle_fw_up()
3471 ionic_reset(ionic); in ionic_lif_handle_fw_up()
3472 err = ionic_identify(ionic); in ionic_lif_handle_fw_up()
3475 err = ionic_port_identify(ionic); in ionic_lif_handle_fw_up()
3478 err = ionic_port_init(ionic); in ionic_lif_handle_fw_up()
3486 dev_info(ionic->dev, "FW Up: LIFs restarted\n"); in ionic_lif_handle_fw_up()
3494 dev_err(ionic->dev, "FW Up: LIFs restart failed - err %d\n", err); in ionic_lif_handle_fw_up()
3499 struct device *dev = lif->ionic->dev; in ionic_lif_free()
3514 ionic_affinity_masks_free(lif->ionic); in ionic_lif_free()
3548 ionic_bus_unmap_dbpage(lif->ionic, lif->kern_dbpage); in ionic_lif_deinit()
3556 struct device *dev = lif->ionic->dev; in ionic_lif_adminq_init()
3563 idev = &lif->ionic->idev; in ionic_lif_adminq_init()
3567 mutex_lock(&lif->ionic->dev_cmd_lock); in ionic_lif_adminq_init()
3569 err = ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); in ionic_lif_adminq_init()
3571 mutex_unlock(&lif->ionic->dev_cmd_lock); in ionic_lif_adminq_init()
3606 struct device *dev = lif->ionic->dev; in ionic_lif_notifyq_init()
3721 struct ionic_dev *idev = &lif->ionic->idev; in ionic_lif_init()
3722 struct device *dev = lif->ionic->dev; in ionic_lif_init()
3727 mutex_lock(&lif->ionic->dev_cmd_lock); in ionic_lif_init()
3729 err = ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); in ionic_lif_init()
3731 mutex_unlock(&lif->ionic->dev_cmd_lock); in ionic_lif_init()
3738 lif->dbid_count = le32_to_cpu(lif->ionic->ident.dev.ndbpgs_per_lif); in ionic_lif_init()
3746 lif->kern_dbpage = ionic_bus_map_dbpage(lif->ionic, dbpage_num); in ionic_lif_init()
3756 if (lif->ionic->nnqs_per_lif) { in ionic_lif_init()
3780 lif->doorbell_wa = ionic_doorbell_wa(lif->ionic); in ionic_lif_init()
3794 ionic_bus_unmap_dbpage(lif->ionic, lif->kern_dbpage); in ionic_lif_init()
3829 struct ionic *ionic = container_of(nb, struct ionic, nb); in ionic_lif_notify() local
3832 if (!lif || lif->ionic != ionic) in ionic_lif_notify()
3850 lif->ionic->nb.notifier_call = ionic_lif_notify; in ionic_lif_register()
3852 err = register_netdevice_notifier(&lif->ionic->nb); in ionic_lif_register()
3854 lif->ionic->nb.notifier_call = NULL; in ionic_lif_register()
3859 dev_err(lif->ionic->dev, "Cannot register net device: %d, aborting\n", err); in ionic_lif_register()
3873 if (lif->ionic->nb.notifier_call) { in ionic_lif_unregister()
3874 unregister_netdevice_notifier(&lif->ionic->nb); in ionic_lif_unregister()
3875 lif->ionic->nb.notifier_call = NULL; in ionic_lif_unregister()
3889 struct ionic *ionic = lif->ionic; in ionic_lif_queue_identify() local
3895 idev = &lif->ionic->idev; in ionic_lif_queue_identify()
3914 mutex_lock(&ionic->dev_cmd_lock); in ionic_lif_queue_identify()
3917 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_lif_queue_identify()
3928 mutex_unlock(&ionic->dev_cmd_lock); in ionic_lif_queue_identify()
3931 dev_err(ionic->dev, "qtype %d not supported\n", qtype); in ionic_lif_queue_identify()
3934 dev_err(ionic->dev, "q_ident failed, not supported on older FW\n"); in ionic_lif_queue_identify()
3937 dev_err(ionic->dev, "q_ident failed, qtype %d: %d\n", in ionic_lif_queue_identify()
3942 dev_dbg(ionic->dev, " qtype[%d].version = %d\n", in ionic_lif_queue_identify()
3944 dev_dbg(ionic->dev, " qtype[%d].supported = 0x%02x\n", in ionic_lif_queue_identify()
3946 dev_dbg(ionic->dev, " qtype[%d].features = 0x%04llx\n", in ionic_lif_queue_identify()
3948 dev_dbg(ionic->dev, " qtype[%d].desc_sz = %d\n", in ionic_lif_queue_identify()
3950 dev_dbg(ionic->dev, " qtype[%d].comp_sz = %d\n", in ionic_lif_queue_identify()
3952 dev_dbg(ionic->dev, " qtype[%d].sg_desc_sz = %d\n", in ionic_lif_queue_identify()
3954 dev_dbg(ionic->dev, " qtype[%d].max_sg_elems = %d\n", in ionic_lif_queue_identify()
3956 dev_dbg(ionic->dev, " qtype[%d].sg_desc_stride = %d\n", in ionic_lif_queue_identify()
3967 dev_dbg(ionic->dev, "qtype %d max_sg_elems %d\n", in ionic_lif_queue_identify()
3972 int ionic_lif_identify(struct ionic *ionic, u8 lif_type, in ionic_lif_identify() argument
3975 struct ionic_dev *idev = &ionic->idev; in ionic_lif_identify()
3981 mutex_lock(&ionic->dev_cmd_lock); in ionic_lif_identify()
3983 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_lif_identify()
3985 mutex_unlock(&ionic->dev_cmd_lock); in ionic_lif_identify()
3989 dev_dbg(ionic->dev, "capabilities 0x%llx\n", in ionic_lif_identify()
3992 dev_dbg(ionic->dev, "eth.max_ucast_filters %d\n", in ionic_lif_identify()
3994 dev_dbg(ionic->dev, "eth.max_mcast_filters %d\n", in ionic_lif_identify()
3996 dev_dbg(ionic->dev, "eth.features 0x%llx\n", in ionic_lif_identify()
3998 dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_ADMINQ] %d\n", in ionic_lif_identify()
4000 dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_NOTIFYQ] %d\n", in ionic_lif_identify()
4002 dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_RXQ] %d\n", in ionic_lif_identify()
4004 dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_TXQ] %d\n", in ionic_lif_identify()
4006 dev_dbg(ionic->dev, "eth.config.name %s\n", lid->eth.config.name); in ionic_lif_identify()
4007 dev_dbg(ionic->dev, "eth.config.mac %pM\n", lid->eth.config.mac); in ionic_lif_identify()
4008 dev_dbg(ionic->dev, "eth.config.mtu %d\n", in ionic_lif_identify()
4014 int ionic_lif_size(struct ionic *ionic) in ionic_lif_size() argument
4016 struct ionic_identity *ident = &ionic->ident; in ionic_lif_size()
4070 err = ionic_bus_alloc_irq_vectors(ionic, nintrs); in ionic_lif_size()
4072 dev_err(ionic->dev, "Can't get intrs from OS: %d\n", err); in ionic_lif_size()
4079 ionic_bus_free_irq_vectors(ionic); in ionic_lif_size()
4083 ionic->nnqs_per_lif = nnqs_per_lif; in ionic_lif_size()
4084 ionic->neqs_per_lif = neqs; in ionic_lif_size()
4085 ionic->ntxqs_per_lif = nxqs; in ionic_lif_size()
4086 ionic->nrxqs_per_lif = nxqs; in ionic_lif_size()
4087 ionic->nintrs = nintrs; in ionic_lif_size()
4089 ionic_debugfs_add_sizes(ionic); in ionic_lif_size()
4106 dev_err(ionic->dev, "Can't get minimum %d intrs from OS\n", min_intrs); in ionic_lif_size()