Home
last modified time | relevance | path

Searched refs:lif (Results 1 – 12 of 12) sorted by relevance

/linux/drivers/net/ethernet/pensando/ionic/
H A Dionic_rx_filter.c13 void ionic_rx_filter_free(struct ionic_lif *lif, struct ionic_rx_filter *f) in ionic_rx_filter_free() argument
15 struct device *dev = lif->ionic->dev; in ionic_rx_filter_free()
22 void ionic_rx_filter_replay(struct ionic_lif *lif) in ionic_rx_filter_replay() argument
38 head = &lif->rx_filters.by_id[i]; in ionic_rx_filter_replay()
42 dev_dbg(&lif->netdev->dev, "replay filter command:\n"); in ionic_rx_filter_replay()
46 err = ionic_adminq_post_wait(lif, &ctx); in ionic_rx_filter_replay()
50 netdev_info(lif->netdev, "Replay failed - %d: vlan %d\n", in ionic_rx_filter_replay()
55 netdev_info(lif->netdev, "Replay failed - %d: mac %pM\n", in ionic_rx_filter_replay()
59 netdev_info(lif->netdev, "Replay failed - %d: vlan %d mac %pM\n", in ionic_rx_filter_replay()
65 spin_lock_bh(&lif->rx_filters.lock); in ionic_rx_filter_replay()
[all …]
H A Dionic_aux.c20 int ionic_auxbus_register(struct ionic_lif *lif) in ionic_auxbus_register() argument
26 if (!(le64_to_cpu(lif->ionic->ident.lif.capabilities) & IONIC_LIF_CAP_RDMA)) in ionic_auxbus_register()
37 dev_err(lif->ionic->dev, "Failed to allocate aux id: %d\n", id); in ionic_auxbus_register()
44 aux_dev->dev.parent = &lif->ionic->pdev->dev; in ionic_auxbus_register()
46 ionic_adev->lif = lif; in ionic_auxbus_register()
49 dev_err(lif->ionic->dev, "Failed to initialize %s aux device: %d\n", in ionic_auxbus_register()
58 dev_err(lif->ionic->dev, "Failed to add %s aux device: %d\n", in ionic_auxbus_register()
64 lif->ionic_adev = ionic_adev; in ionic_auxbus_register()
68 void ionic_auxbus_unregister(struct ionic_lif *lif) in ionic_auxbus_unregister() argument
70 mutex_lock(&lif->adev_lock); in ionic_auxbus_unregister()
[all …]
H A Dionic_main.c193 static void ionic_adminq_flush(struct ionic_lif *lif) in ionic_adminq_flush() argument
200 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
201 if (!lif->adminqcq) { in ionic_adminq_flush()
202 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
206 q = &lif->adminqcq->q; in ionic_adminq_flush()
215 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
218 void ionic_adminq_netdev_err_print(struct ionic_lif *lif, u8 opcode, in ionic_adminq_netdev_err_print() argument
226 netdev_err(lif->netdev, "%s (%d) failed: %s (%d)\n", in ionic_adminq_netdev_err_print()
230 static int ionic_adminq_check_err(struct ionic_lif *lif, in ionic_adminq_check_err() argument
242 ionic_adminq_netdev_err_print(lif, ctx->cmd.cmd.opcode, in ionic_adminq_check_err()
[all …]
H A Dionic_bus_pci.c190 if (ionic->lif && in ionic_sriov_configure()
191 test_bit(IONIC_LIF_F_FW_RESET, ionic->lif->state)) in ionic_sriov_configure()
354 err = ionic_lif_init(ionic->lif); in ionic_probe()
375 err = ionic_lif_register(ionic->lif); in ionic_probe()
381 ionic_auxbus_register(ionic->lif); in ionic_probe()
393 ionic_lif_deinit(ionic->lif); in ionic_probe()
395 ionic_lif_free(ionic->lif); in ionic_probe()
396 ionic->lif = NULL; in ionic_probe()
416 if (ionic->lif) { in ionic_remove()
417 cancel_work_sync(&ionic->lif->deferred.work); in ionic_remove()
[all …]
H A Dionic_rx_filter.h34 void ionic_rx_filter_free(struct ionic_lif *lif, struct ionic_rx_filter *f);
35 void ionic_rx_filter_replay(struct ionic_lif *lif);
36 int ionic_rx_filters_init(struct ionic_lif *lif);
37 void ionic_rx_filters_deinit(struct ionic_lif *lif);
38 int ionic_rx_filter_save(struct ionic_lif *lif, u32 flow_id, u16 rxq_index,
41 struct ionic_rx_filter *ionic_rx_filter_by_vlan(struct ionic_lif *lif, u16 vid);
42 struct ionic_rx_filter *ionic_rx_filter_by_addr(struct ionic_lif *lif, const u8 *addr);
43 struct ionic_rx_filter *ionic_rx_filter_rxsteer(struct ionic_lif *lif);
44 void ionic_rx_filter_sync(struct ionic_lif *lif);
45 int ionic_lif_list_addr(struct ionic_lif *lif, const u8 *addr, bool mode);
[all …]
H A Dionic_debugfs.c50 seq_printf(seq, "max_ucast_filters: %d\n", ident->lif.eth.max_ucast_filters); in identity_show()
51 seq_printf(seq, "max_mcast_filters: %d\n", ident->lif.eth.max_mcast_filters); in identity_show()
70 (u32 *)&ionic->ident.lif.eth.config.queue_count[IONIC_QTYPE_TXQ]); in ionic_debugfs_add_sizes()
72 (u32 *)&ionic->ident.lif.eth.config.queue_count[IONIC_QTYPE_RXQ]); in ionic_debugfs_add_sizes()
113 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) in ionic_debugfs_add_qcq() argument
116 struct ionic_dev *idev = &lif->ionic->idev; in ionic_debugfs_add_qcq()
121 struct device *dev = lif->ionic->dev; in ionic_debugfs_add_qcq()
125 qcq_dentry = debugfs_create_dir(q->name, lif->dentry); in ionic_debugfs_add_qcq()
209 (u64 *)&lif->info->status.eid); in ionic_debugfs_add_qcq()
211 (u16 *)&lif->info->status.link_status); in ionic_debugfs_add_qcq()
[all …]
H A Dionic_debugfs.h17 void ionic_debugfs_add_lif(struct ionic_lif *lif);
18 void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq);
19 void ionic_debugfs_del_lif(struct ionic_lif *lif);
28 static inline void ionic_debugfs_add_lif(struct ionic_lif *lif) { } in ionic_debugfs_add_lif() argument
29 static inline void ionic_debugfs_add_qcq(struct ionic_lif *lif, struct ionic_qcq *qcq) { } in ionic_debugfs_add_qcq() argument
30 static inline void ionic_debugfs_del_lif(struct ionic_lif *lif) { } in ionic_debugfs_del_lif() argument
H A Dionic_txrx.c50 netdev = q->lif->netdev; in ionic_txq_poke_doorbell()
65 ionic_dbell_ring(q->lif->kern_dbpage, q->hw_type, in ionic_txq_poke_doorbell()
90 ionic_dbell_ring(q->lif->kern_dbpage, q->hw_type, in ionic_rxq_poke_doorbell()
400 struct ionic_lif *lif = netdev_priv(netdev); in ionic_xdp_xmit() local
408 if (unlikely(!test_bit(IONIC_LIF_F_UP, lif->state))) in ionic_xdp_xmit()
420 qi = cpu ? (cpu - 1) % lif->nxqs : cpu; in ionic_xdp_xmit()
422 txq = &lif->txqcqs[qi]->q; in ionic_xdp_xmit()
447 ionic_dbell_ring(lif->kern_dbpage, txq->hw_type, in ionic_xdp_xmit()
617 struct net_device *netdev = q->lif->netdev; in ionic_rx_clean()
651 use_copybreak = len <= q->lif->rx_copybreak; in ionic_rx_clean()
[all …]
H A Dionic_fw.c94 int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw, in ionic_firmware_update() argument
97 struct ionic_dev *idev = &lif->ionic->idev; in ionic_firmware_update()
98 struct net_device *netdev = lif->netdev; in ionic_firmware_update()
99 struct ionic *ionic = lif->ionic; in ionic_firmware_update()
H A Dionic_devlink.c18 return ionic_firmware_update(ionic->lif, params->fw, extack); in ionic_dl_flash_update()
91 SET_NETDEV_DEVLINK_PORT(ionic->lif->netdev, &ionic->dl_port); in ionic_devlink_register()
H A Dionic_devlink.h9 int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw,
/linux/drivers/infiniband/hw/ionic/
H A Dionic_admin.c451 rc = ionic_adminq_post_wait(dev->lif_cfg.lif, admin); in ionic_rdma_devcmd()
752 ionic_request_rdma_reset(dev->lif_cfg.lif); in ionic_kill_rdma_admin()
1003 rc = ionic_intr_alloc(dev->lif_cfg.lif, &intr_obj); in ionic_create_eq()
1043 ionic_intr_free(dev->lif_cfg.lif, eq->intr); in ionic_create_eq()
1060 ionic_intr_free(dev->lif_cfg.lif, eq->intr); in ionic_destroy_eq()