Home
last modified time | relevance | path

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

12

/linux-6.1.9/drivers/net/ethernet/pensando/ionic/
Dionic_lif.c34 static void ionic_link_status_check(struct ionic_lif *lif);
35 static void ionic_lif_handle_fw_down(struct ionic_lif *lif);
36 static void ionic_lif_handle_fw_up(struct ionic_lif *lif);
37 static void ionic_lif_set_netdev_info(struct ionic_lif *lif);
39 static void ionic_txrx_deinit(struct ionic_lif *lif);
40 static int ionic_txrx_init(struct ionic_lif *lif);
41 static int ionic_start_queues(struct ionic_lif *lif);
42 static void ionic_stop_queues(struct ionic_lif *lif);
43 static void ionic_lif_queue_identify(struct ionic_lif *lif);
54 new_coal = ionic_coal_usec_to_hw(qcq->q.lif->ionic, cur_moder.usec); in ionic_dim_work()
[all …]
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 …]
Dionic_phc.c67 static int ionic_lif_hwstamp_set_ts_config(struct ionic_lif *lif, in ionic_lif_hwstamp_set_ts_config() argument
70 struct ionic *ionic = lif->ionic; in ionic_lif_hwstamp_set_ts_config()
79 if (!lif->phc || !lif->phc->ptp) in ionic_lif_hwstamp_set_ts_config()
82 mutex_lock(&lif->phc->config_lock); in ionic_lif_hwstamp_set_ts_config()
94 memcpy(config, &lif->phc->ts_config, sizeof(*config)); 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()
96 lif->phc->ts_config_tx_mode = 0; in ionic_lif_hwstamp_set_ts_config()
97 lif->phc->ts_config_rx_filt = 0; in ionic_lif_hwstamp_set_ts_config()
107 if ((ionic->ident.lif.eth.hwstamp_tx_modes & mask) != mask) { in ionic_lif_hwstamp_set_ts_config()
116 if ((ionic->ident.lif.eth.hwstamp_rx_filters & mask) != mask) { in ionic_lif_hwstamp_set_ts_config()
[all …]
Dionic_ethtool.c14 static void ionic_get_stats_strings(struct ionic_lif *lif, u8 *buf) in ionic_get_stats_strings() argument
19 ionic_stats_groups[i].get_strings(lif, &buf); in ionic_get_stats_strings()
25 struct ionic_lif *lif = netdev_priv(netdev); in ionic_get_stats() local
28 if (test_bit(IONIC_LIF_F_FW_RESET, lif->state)) in ionic_get_stats()
33 ionic_stats_groups[i].get_values(lif, &buf); in ionic_get_stats()
36 static int ionic_get_stats_count(struct ionic_lif *lif) in ionic_get_stats_count() argument
41 num_stats += ionic_stats_groups[i].get_count(lif); in ionic_get_stats_count()
48 struct ionic_lif *lif = netdev_priv(netdev); in ionic_get_sset_count() local
53 count = ionic_get_stats_count(lif); in ionic_get_sset_count()
62 struct ionic_lif *lif = netdev_priv(netdev); in ionic_get_strings() local
[all …]
Dionic_stats.c159 #define MAX_Q(lif) ((lif)->netdev->real_num_tx_queues) argument
161 static void ionic_add_lif_txq_stats(struct ionic_lif *lif, int q_num, in ionic_add_lif_txq_stats() argument
164 struct ionic_tx_stats *txstats = &lif->txqstats[q_num]; in ionic_add_lif_txq_stats()
176 static void ionic_add_lif_rxq_stats(struct ionic_lif *lif, int q_num, in ionic_add_lif_rxq_stats() argument
179 struct ionic_rx_stats *rxstats = &lif->rxqstats[q_num]; in ionic_add_lif_rxq_stats()
190 static void ionic_get_lif_stats(struct ionic_lif *lif, in ionic_get_lif_stats() argument
198 for (q_num = 0; q_num < MAX_Q(lif); q_num++) { in ionic_get_lif_stats()
199 ionic_add_lif_txq_stats(lif, q_num, stats); in ionic_get_lif_stats()
200 ionic_add_lif_rxq_stats(lif, q_num, stats); in ionic_get_lif_stats()
203 if (lif->hwstamp_txq) in ionic_get_lif_stats()
[all …]
Dionic_lif.h83 #define q_to_tx_stats(q) (&(q)->lif->txqstats[(q)->index])
84 #define q_to_rx_stats(q) (&(q)->lif->rxqstats[(q)->index])
239 struct ionic_lif *lif; member
250 static inline void ionic_init_queue_params(struct ionic_lif *lif, in ionic_init_queue_params() argument
253 qparam->nxqs = lif->nxqs; in ionic_init_queue_params()
254 qparam->ntxq_descs = lif->ntxq_descs; in ionic_init_queue_params()
255 qparam->nrxq_descs = lif->nrxq_descs; in ionic_init_queue_params()
256 qparam->intr_split = test_bit(IONIC_LIF_F_SPLIT_INTR, lif->state); in ionic_init_queue_params()
257 qparam->rxq_features = lif->rxq_features; in ionic_init_queue_params()
276 void ionic_link_status_check_request(struct ionic_lif *lif, bool can_sleep);
[all …]
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 …]
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
117 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 …]
Dionic_main.c213 static void ionic_adminq_flush(struct ionic_lif *lif) in ionic_adminq_flush() argument
219 spin_lock_irqsave(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
220 if (!lif->adminqcq) { in ionic_adminq_flush()
221 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
225 q = &lif->adminqcq->q; in ionic_adminq_flush()
234 spin_unlock_irqrestore(&lif->adminq_lock, irqflags); in ionic_adminq_flush()
237 void ionic_adminq_netdev_err_print(struct ionic_lif *lif, u8 opcode, in ionic_adminq_netdev_err_print() argument
245 netdev_err(lif->netdev, "%s (%d) failed: %s (%d)\n", in ionic_adminq_netdev_err_print()
249 static int ionic_adminq_check_err(struct ionic_lif *lif, in ionic_adminq_check_err() argument
261 ionic_adminq_netdev_err_print(lif, ctx->cmd.cmd.opcode, in ionic_adminq_check_err()
[all …]
Dionic_dev.c17 struct ionic_lif *lif = ionic->lif; in ionic_watchdog_cb() local
24 if (!lif) in ionic_watchdog_cb()
29 __func__, hb, netif_running(lif->netdev), in ionic_watchdog_cb()
30 test_bit(IONIC_LIF_F_UP, lif->state)); in ionic_watchdog_cb()
33 !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) in ionic_watchdog_cb()
34 ionic_link_status_check_request(lif, CAN_NOT_SLEEP); in ionic_watchdog_cb()
36 if (test_bit(IONIC_LIF_F_FILTER_SYNC_NEEDED, lif->state) && in ionic_watchdog_cb()
37 !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { in ionic_watchdog_cb()
40 netdev_err(lif->netdev, "rxmode change dropped\n"); in ionic_watchdog_cb()
45 netdev_dbg(lif->netdev, "deferred: rx_mode\n"); in ionic_watchdog_cb()
[all …]
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
Dionic_txrx.c27 return netdev_get_tx_queue(q->lif->netdev, q->index); in q_to_ndq()
33 struct net_device *netdev = q->lif->netdev; in ionic_rx_page_alloc()
74 struct net_device *netdev = q->lif->netdev; in ionic_rx_page_free()
118 struct net_device *netdev = q->lif->netdev; in ionic_rx_frags()
178 struct net_device *netdev = q->lif->netdev; in ionic_rx_copybreak()
210 skb->protocol = eth_type_trans(skb, q->lif->netdev); in ionic_rx_copybreak()
220 struct net_device *netdev = q->lif->netdev; in ionic_rx_clean()
238 if (le16_to_cpu(comp->len) <= q->lif->rx_copybreak) in ionic_rx_clean()
301 skb_hwtstamps(skb)->hwtstamp = ionic_lif_phc_ktime(q->lif, hwstamp); in ionic_rx_clean()
308 if (le16_to_cpu(comp->len) <= q->lif->rx_copybreak) in ionic_rx_clean()
[all …]
Dionic.h50 struct ionic_lif *lif; member
72 int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
73 int ionic_adminq_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx,
75 int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
76 int ionic_adminq_post_wait_nomsg(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
77 void ionic_adminq_netdev_err_print(struct ionic_lif *lif, u8 opcode,
Dionic_bus_pci.c188 if (ionic->lif && in ionic_sriov_configure()
189 test_bit(IONIC_LIF_F_FW_RESET, ionic->lif->state)) in ionic_sriov_configure()
308 err = ionic_lif_init(ionic->lif); in ionic_probe()
329 err = ionic_lif_register(ionic->lif); in ionic_probe()
344 ionic_lif_deinit(ionic->lif); in ionic_probe()
346 ionic_lif_free(ionic->lif); in ionic_probe()
347 ionic->lif = NULL; in ionic_probe()
382 if (ionic->lif) { in ionic_remove()
383 ionic_lif_unregister(ionic->lif); in ionic_remove()
385 ionic_lif_deinit(ionic->lif); in ionic_remove()
[all …]
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);
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()
Dionic_dev.h214 struct ionic_lif *lif; member
261 struct ionic_lif *lif; member
334 int ionic_db_page_num(struct ionic_lif *lif, int pid);
336 int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq,
347 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev,
Dionic_devlink.c18 return ionic_firmware_update(ionic->lif, params->fw, extack); in ionic_dl_flash_update()
93 devlink_port_type_eth_set(&ionic->dl_port, ionic->lif->netdev); in ionic_devlink_register()
Dionic_devlink.h9 int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw,
/linux-6.1.9/drivers/media/platform/renesas/vsp1/
Dvsp1_lif.c26 static inline void vsp1_lif_write(struct vsp1_lif *lif, in vsp1_lif_write() argument
29 vsp1_dl_body_write(dlb, reg + lif->entity.index * VI6_LIF_OFFSET, in vsp1_lif_write()
92 struct vsp1_lif *lif = to_lif(&entity->subdev); in lif_configure_stream() local
97 format = vsp1_entity_get_pad_format(&lif->entity, lif->entity.config, in lif_configure_stream()
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()
[all …]
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()
322 __func__, pipe->lif->index, BRX_NAME(brx)); in vsp1_du_pipeline_setup_brx()
514 ret = v4l2_subdev_call(&pipe->lif->subdev, pad, set_fmt, NULL, in vsp1_du_pipeline_setup_output()
521 format.format.code, pipe->lif->index); in vsp1_du_pipeline_setup_output()
531 pipe->lif->index); in vsp1_du_pipeline_setup_output()
696 __func__, pipe->lif->index, in vsp1_du_setup_lif()
965 pipe->lif = &vsp1->lif[i]->entity; in vsp1_drm_init()
968 pipe->output->entity.sink = pipe->lif; in vsp1_drm_init()
[all …]
Dvsp1_drv.c170 if (!vsp1->lif[i]) in vsp1_uapi_create_links()
175 &vsp1->lif[i]->entity.subdev.entity, in vsp1_uapi_create_links()
342 struct vsp1_lif *lif; in vsp1_create_entities() local
344 lif = vsp1_lif_create(vsp1, i); in vsp1_create_entities()
345 if (IS_ERR(lif)) { in vsp1_create_entities()
346 ret = PTR_ERR(lif); in vsp1_create_entities()
350 vsp1->lif[i] = lif; in vsp1_create_entities()
351 list_add_tail(&lif->entity.list_dev, &vsp1->entities); in vsp1_create_entities()
Dvsp1_pipe.c271 pipe->lif = NULL; in vsp1_pipeline_reset()
319 if (pipe->lif) { in vsp1_pipeline_stop()
368 if (!pipe->lif) in vsp1_pipeline_ready()
Dvsp1_pipe.h133 struct vsp1_entity *lif; member
/linux-6.1.9/drivers/net/ethernet/cisco/enic/
Dvnic_resource.h57 u16 lif; /* loopback lif for mgmt frames */ member

12