Home
last modified time | relevance | path

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

12

/linux-6.15/drivers/net/ethernet/pensando/ionic/
H A Dionic_lif.c70 lif = q->lif; in ionic_dim_work()
285 struct ionic_lif *lif = q->lif; in ionic_qcq_enable() local
458 ionic_qcq_free(lif, lif->notifyqcq); in ionic_qcqs_free()
1369 (lif->max_vlans && lif->nvlans >= lif->max_vlans)) { in ionic_lif_rx_mode()
3169 if (lif->txqcqs && lif->txqcqs[i]) { in ionic_reconfigure_queues()
3174 if (lif->rxqcqs && lif->rxqcqs[i]) { in ionic_reconfigure_queues()
3249 ionic->lif = lif; in ionic_lif_alloc()
3292 snprintf(lif->name, sizeof(lif->name), "lif%u", lif->index); in ionic_lif_alloc()
3348 dma_free_coherent(dev, lif->info_sz, lif->info, lif->info_pa); in ionic_lif_alloc()
3525 dma_free_coherent(dev, lif->info_sz, lif->info, lif->info_pa); in ionic_lif_free()
[all …]
H A Dionic_rx_filter.c38 head = &lif->rx_filters.by_id[i]; in ionic_rx_filter_replay()
66 ionic_rx_filter_free(lif, f); in ionic_rx_filter_replay()
347 if (lif->max_vlans && lif->nvlans >= lif->max_vlans) in ionic_lif_filter_add()
354 if ((lif->nucast + lif->nmcast) >= nfilters) in ionic_lif_filter_add()
382 lif->max_vlans = lif->nvlans; in ionic_lif_filter_add()
417 lif->nvlans++; in ionic_lif_filter_add()
421 lif->nmcast++; in ionic_lif_filter_add()
423 lif->nucast++; in ionic_lif_filter_add()
492 lif->nvlans--; in ionic_lif_filter_del()
498 lif->nmcast--; in ionic_lif_filter_del()
[all …]
H A Dionic_phc.c79 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_set_ts_config()
95 memset(&lif->phc->ts_config, 0, sizeof(lif->phc->ts_config)); in ionic_lif_hwstamp_set_ts_config()
191 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_set()
215 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_replay()
229 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_recreate_queues()
253 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_get()
472 if (!lif->phc) in ionic_lif_phc_ktime()
497 lif->phc->ptp = ptp_clock_register(&lif->phc->ptp_info, lif->ionic->dev); in ionic_lif_register_phc()
512 if (!lif->phc || !lif->phc->ptp) in ionic_lif_unregister_phc()
540 phc->lif = lif; in ionic_lif_alloc_phc()
[all …]
H A Dionic_ethtool.c101 idev = &lif->ionic->idev; in ionic_get_regs()
583 netdev_info(lif->netdev, in ionic_validate_cmb_config()
605 netdev_info(lif->netdev, in ionic_validate_cmb_config()
825 lif->nxqs = qparam.nxqs; in ionic_set_channels()
831 lif->tx_coalesce_usecs = lif->rx_coalesce_usecs; in ionic_set_channels()
832 lif->tx_coalesce_hw = lif->rx_coalesce_hw; in ionic_set_channels()
854 info->data = lif->nxqs; in ionic_get_rxnfc()
869 return le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_get_rxfh_indir_size()
884 tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); in ionic_get_rxfh()
907 return ionic_lif_rss_config(lif, lif->rss_types, in ionic_set_rxfh()
[all …]
H A Dionic_lif.h263 struct ionic_lif *lif; member
280 qparam->nxqs = lif->nxqs; in ionic_init_queue_params()
281 qparam->ntxq_descs = lif->ntxq_descs; in ionic_init_queue_params()
282 qparam->nrxq_descs = lif->nrxq_descs; in ionic_init_queue_params()
283 qparam->rxq_features = lif->rxq_features; in ionic_init_queue_params()
284 qparam->xdp_prog = lif->xdp_prog; in ionic_init_queue_params()
293 lif->nxqs = qparam->nxqs; in ionic_set_queue_params()
294 lif->ntxq_descs = qparam->ntxq_descs; in ionic_set_queue_params()
295 lif->nrxq_descs = qparam->nrxq_descs; in ionic_set_queue_params()
296 lif->rxq_features = qparam->rxq_features; in ionic_set_queue_params()
[all …]
H A Dionic_stats.c171 #define MAX_Q(lif) ((lif)->netdev->real_num_tx_queues) argument
221 if (lif->hwstamp_txq) in ionic_get_lif_stats()
222 ionic_add_lif_txq_stats(lif, lif->hwstamp_txq->q.index, stats); in ionic_get_lif_stats()
224 if (lif->hwstamp_rxq) in ionic_get_lif_stats()
225 ionic_add_lif_rxq_stats(lif, lif->hwstamp_rxq->q.index, stats); in ionic_get_lif_stats()
237 u64 total = 0, tx_queues = MAX_Q(lif), rx_queues = MAX_Q(lif); in ionic_sw_stats_get_count()
239 if (lif->hwstamp_txq) in ionic_sw_stats_get_count()
288 ionic_sw_stats_get_tx_strings(lif, buf, lif->hwstamp_txq->q.index); in ionic_sw_stats_get_strings()
294 ionic_sw_stats_get_rx_strings(lif, buf, lif->hwstamp_rxq->q.index); in ionic_sw_stats_get_strings()
349 ionic_sw_stats_get_txq_values(lif, buf, lif->hwstamp_txq->q.index); in ionic_sw_stats_get_values()
[all …]
H A Dionic_main.c200 if (!lif->adminqcq) { in ionic_adminq_flush()
205 q = &lif->adminqcq->q; in ionic_adminq_flush()
245 ionic_adminq_flush(lif); in ionic_adminq_check_err()
257 struct ionic_lif *lif; in ionic_notifyq_service() local
263 lif = q->admin_info[0].ctx; in ionic_notifyq_service()
264 netdev = lif->netdev; in ionic_notifyq_service()
271 lif->last_eid = eid; in ionic_notifyq_service()
342 struct ionic_lif *lif = q->lif; in ionic_adminq_poke_doorbell() local
378 if (!lif->adminqcq) { in ionic_adminq_post()
383 q = &lif->adminqcq->q; in ionic_adminq_post()
[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);
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);
46 int ionic_lif_vlan_add(struct ionic_lif *lif, const u16 vid);
[all …]
H A Dionic_dev.c17 struct ionic_lif *lif = ionic->lif; in ionic_watchdog_cb() local
24 if (!lif) in ionic_watchdog_cb()
99 struct ionic_lif *lif = ionic->lif; in ionic_doorbell_check_dwork() local
101 mutex_lock(&lif->queue_lock); in ionic_doorbell_check_dwork()
119 if (lif->hwstamp_txq && in ionic_doorbell_check_dwork()
122 if (lif->hwstamp_rxq && in ionic_doorbell_check_dwork()
317 struct ionic_lif *lif = ionic->lif; in ionic_heartbeat_check() local
703 return (lif->hw_index * lif->dbid_count) + pid; in ionic_db_page_num()
746 cq->lif = lif; in ionic_cq_init()
796 q->lif = lif; in ionic_q_init()
[all …]
H A Dionic_debugfs.c121 struct device *dev = lif->ionic->dev; in ionic_debugfs_add_qcq()
209 (u64 *)&lif->info->status.eid); in ionic_debugfs_add_qcq()
231 struct ionic_lif *lif = seq->private; in lif_filters_show() local
238 spin_lock_bh(&lif->rx_filters.lock); in lif_filters_show()
240 head = &lif->rx_filters.by_id[i]; in lif_filters_show()
277 lif_dentry = debugfs_create_dir(lif->name, lif->ionic->dentry); in ionic_debugfs_add_lif()
280 lif->dentry = lif_dentry; in ionic_debugfs_add_lif()
283 lif->netdev, &netdev_fops); in ionic_debugfs_add_lif()
285 lif, &lif_filters_fops); in ionic_debugfs_add_lif()
290 if (!lif->dentry) in ionic_debugfs_del_lif()
[all …]
H A Dionic_bus_pci.c189 if (ionic->lif && in ionic_sriov_configure()
391 ionic->lif = NULL; in ionic_probe()
411 if (ionic->lif) { in ionic_remove()
422 ionic->lif = NULL; in ionic_remove()
438 struct ionic_lif *lif = ionic->lif; in ionic_reset_prepare() local
449 ionic_txrx_free(lif); in ionic_reset_prepare()
450 ionic_lif_deinit(lif); in ionic_reset_prepare()
451 ionic_qcqs_free(lif); in ionic_reset_prepare()
463 struct ionic_lif *lif = ionic->lif; in ionic_reset_done() local
498 struct ionic_lif *lif = ionic->lif; in ionic_pci_error_resume() local
[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.h51 struct ionic_lif *lif; member
74 int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
75 int ionic_adminq_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx,
77 int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
78 int ionic_adminq_post_wait_nomsg(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
79 void ionic_adminq_netdev_err_print(struct ionic_lif *lif, u8 opcode,
H A Dionic_txrx.c46 netdev = q->lif->netdev; in ionic_txq_poke_doorbell()
418 txq = &lif->txqcqs[qi]->q; in ionic_xdp_xmit()
903 struct ionic_lif *lif; in ionic_dim_update() local
910 lif = qcq->q.lif; in ionic_dim_update()
923 pkts = lif->txqstats[qi].pkts + lif->rxqstats[qi].pkts; in ionic_dim_update()
924 bytes = lif->txqstats[qi].bytes + lif->rxqstats[qi].bytes; in ionic_dim_update()
1036 struct ionic_lif *lif; in ionic_txrx_napi() local
1042 lif = rxcq->bound_q->lif; in ionic_txrx_napi()
1043 txqcq = lif->txqcqs[qi]; in ionic_txrx_napi()
1065 if (lif->doorbell_wa) { in ionic_txrx_napi()
[all …]
H A Dionic_stats.h40 void (*get_strings)(struct ionic_lif *lif, u8 **buf);
41 void (*get_values)(struct ionic_lif *lif, u64 **buf);
42 u64 (*get_count)(struct ionic_lif *lif);
H A Dionic_dev.h223 struct ionic_lif *lif; member
290 struct ionic_lif *lif; member
364 int ionic_db_page_num(struct ionic_lif *lif, int pid);
366 int ionic_get_cmb(struct ionic_lif *lif, u32 *pgid, phys_addr_t *pgaddr, int order);
367 void ionic_put_cmb(struct ionic_lif *lif, u32 pgid, int order);
369 int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq,
383 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev,
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-6.15/drivers/media/platform/renesas/vsp1/
H A Dvsp1_lif.c92 struct vsp1_lif *lif = to_lif(&entity->subdev); in lif_configure_stream() local
124 vsp1_lif_write(lif, dlb, VI6_LIF_CSBTH, in lif_configure_stream()
128 vsp1_lif_write(lif, dlb, VI6_LIF_CTRL, in lif_configure_stream()
140 vsp1_lif_write(lif, dlb, VI6_LIF_LBA, in lif_configure_stream()
155 struct vsp1_lif *lif; in vsp1_lif_create() local
158 lif = devm_kzalloc(vsp1->dev, sizeof(*lif), GFP_KERNEL); in vsp1_lif_create()
159 if (lif == NULL) in vsp1_lif_create()
162 lif->entity.ops = &lif_entity_ops; in vsp1_lif_create()
163 lif->entity.type = VSP1_ENTITY_LIF; in vsp1_lif_create()
164 lif->entity.index = index; in vsp1_lif_create()
[all …]
H A Dvsp1_drm.c260 __func__, pipe->lif->index, in vsp1_du_pipeline_setup_brx()
293 __func__, pipe->lif->index, BRX_NAME(brx)); in vsp1_du_pipeline_setup_brx()
307 owner_pipe->pipe.lif->index); in vsp1_du_pipeline_setup_brx()
325 __func__, pipe->lif->index, BRX_NAME(brx)); in vsp1_du_pipeline_setup_brx()
526 format.format.code, pipe->lif->index); in vsp1_du_pipeline_setup_output()
536 pipe->lif->index); in vsp1_du_pipeline_setup_output()
706 __func__, pipe->lif->index, in vsp1_du_setup_lif()
986 pipe->lif = &vsp1->lif[i]->entity; in vsp1_drm_init()
989 pipe->output->entity.sink = pipe->lif; in vsp1_drm_init()
993 pipe->lif->pipe = pipe; in vsp1_drm_init()
[all …]
H A Dvsp1_drv.c178 if (!vsp1->lif[i]) in vsp1_uapi_create_links()
183 &vsp1->lif[i]->entity.subdev.entity, in vsp1_uapi_create_links()
350 struct vsp1_lif *lif; in vsp1_create_entities() local
352 lif = vsp1_lif_create(vsp1, i); in vsp1_create_entities()
353 if (IS_ERR(lif)) { in vsp1_create_entities()
354 ret = PTR_ERR(lif); in vsp1_create_entities()
358 vsp1->lif[i] = lif; in vsp1_create_entities()
359 list_add_tail(&lif->entity.list_dev, &vsp1->entities); in vsp1_create_entities()
H A Dvsp1_pipe.c289 pipe->lif = NULL; in vsp1_pipeline_reset()
359 if (pipe->lif) { in vsp1_pipeline_stop()
408 if (!pipe->lif) in vsp1_pipeline_ready()
H A Dvsp1_pipe.h122 struct vsp1_entity *lif; member
/linux-6.15/drivers/net/ethernet/cisco/enic/
H A Dvnic_resource.h57 u16 lif; /* loopback lif for mgmt frames */ member

12