| /linux-6.15/drivers/net/ethernet/pensando/ionic/ |
| H A D | ionic_lif.c | 70 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 D | ionic_rx_filter.c | 38 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 D | ionic_phc.c | 79 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 D | ionic_ethtool.c | 101 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 D | ionic_lif.h | 263 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 D | ionic_stats.c | 171 #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 D | ionic_main.c | 200 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 D | ionic_rx_filter.h | 34 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 D | ionic_dev.c | 17 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 D | ionic_debugfs.c | 121 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 D | ionic_bus_pci.c | 189 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 D | ionic_debugfs.h | 17 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 D | ionic.h | 51 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 D | ionic_txrx.c | 46 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 D | ionic_stats.h | 40 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 D | ionic_dev.h | 223 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 D | ionic_fw.c | 94 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 D | ionic_devlink.c | 18 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 D | ionic_devlink.h | 9 int ionic_firmware_update(struct ionic_lif *lif, const struct firmware *fw,
|
| /linux-6.15/drivers/media/platform/renesas/vsp1/ |
| H A D | vsp1_lif.c | 92 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 D | vsp1_drm.c | 260 __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 D | vsp1_drv.c | 178 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 D | vsp1_pipe.c | 289 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 D | vsp1_pipe.h | 122 struct vsp1_entity *lif; member
|
| /linux-6.15/drivers/net/ethernet/cisco/enic/ |
| H A D | vnic_resource.h | 57 u16 lif; /* loopback lif for mgmt frames */ member
|