/Linux-v5.4/drivers/net/ethernet/pensando/ionic/ |
D | ionic_lif.c | 20 static void ionic_lif_rx_mode(struct ionic_lif *lif, unsigned int rx_mode); 21 static int ionic_lif_addr_add(struct ionic_lif *lif, const u8 *addr); 22 static int ionic_lif_addr_del(struct ionic_lif *lif, const u8 *addr); 23 static void ionic_link_status_check(struct ionic_lif *lif); 27 struct ionic_lif *lif = container_of(work, struct ionic_lif, deferred.work); in ionic_lif_deferred_work() local 28 struct ionic_deferred *def = &lif->deferred; in ionic_lif_deferred_work() 42 ionic_lif_rx_mode(lif, w->rx_mode); in ionic_lif_deferred_work() 45 ionic_lif_addr_add(lif, w->addr); in ionic_lif_deferred_work() 48 ionic_lif_addr_del(lif, w->addr); in ionic_lif_deferred_work() 51 ionic_link_status_check(lif); in ionic_lif_deferred_work() [all …]
|
D | ionic_ethtool.c | 19 static void ionic_get_stats_strings(struct ionic_lif *lif, u8 *buf) in ionic_get_stats_strings() argument 24 ionic_stats_groups[i].get_strings(lif, &buf); in ionic_get_stats_strings() 30 struct ionic_lif *lif; in ionic_get_stats() local 33 lif = netdev_priv(netdev); in ionic_get_stats() 37 ionic_stats_groups[i].get_values(lif, &buf); in ionic_get_stats() 40 static int ionic_get_stats_count(struct ionic_lif *lif) in ionic_get_stats_count() argument 45 num_stats += ionic_stats_groups[i].get_count(lif); in ionic_get_stats_count() 52 struct ionic_lif *lif = netdev_priv(netdev); in ionic_get_sset_count() local 57 count = ionic_get_stats_count(lif); in ionic_get_sset_count() 69 struct ionic_lif *lif = netdev_priv(netdev); in ionic_get_strings() local [all …]
|
D | ionic_stats.c | 71 #define MAX_Q(lif) ((lif)->netdev->real_num_tx_queues) argument 73 static void ionic_get_lif_stats(struct ionic_lif *lif, in ionic_get_lif_stats() argument 84 for (q_num = 0; q_num < MAX_Q(lif); q_num++) { in ionic_get_lif_stats() 85 txqcq = lif_to_txqcq(lif, q_num); in ionic_get_lif_stats() 95 rxqcq = lif_to_rxqcq(lif, q_num); in ionic_get_lif_stats() 107 static u64 ionic_sw_stats_get_count(struct ionic_lif *lif) in ionic_sw_stats_get_count() argument 115 total += MAX_Q(lif) * IONIC_NUM_TX_STATS; in ionic_sw_stats_get_count() 118 total += MAX_Q(lif) * IONIC_NUM_RX_STATS; in ionic_sw_stats_get_count() 120 if (test_bit(IONIC_LIF_UP, lif->state) && in ionic_sw_stats_get_count() 121 test_bit(IONIC_LIF_SW_DEBUG_STATS, lif->state)) { in ionic_sw_stats_get_count() [all …]
|
D | ionic_rx_filter.c | 11 void ionic_rx_filter_free(struct ionic_lif *lif, struct ionic_rx_filter *f) in ionic_rx_filter_free() argument 13 struct device *dev = lif->ionic->dev; in ionic_rx_filter_free() 20 int ionic_rx_filter_del(struct ionic_lif *lif, struct ionic_rx_filter *f) in ionic_rx_filter_del() argument 30 return ionic_adminq_post_wait(lif, &ctx); in ionic_rx_filter_del() 33 int ionic_rx_filters_init(struct ionic_lif *lif) in ionic_rx_filters_init() argument 37 spin_lock_init(&lif->rx_filters.lock); in ionic_rx_filters_init() 40 INIT_HLIST_HEAD(&lif->rx_filters.by_hash[i]); in ionic_rx_filters_init() 41 INIT_HLIST_HEAD(&lif->rx_filters.by_id[i]); in ionic_rx_filters_init() 47 void ionic_rx_filters_deinit(struct ionic_lif *lif) in ionic_rx_filters_deinit() argument 55 head = &lif->rx_filters.by_id[i]; in ionic_rx_filters_deinit() [all …]
|
D | ionic_debugfs.c | 50 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() 120 struct device *dev = lif->ionic->dev; in ionic_debugfs_add_qcq() 124 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 …]
|
D | ionic_rx_filter.h | 26 void ionic_rx_filter_free(struct ionic_lif *lif, struct ionic_rx_filter *f); 27 int ionic_rx_filter_del(struct ionic_lif *lif, struct ionic_rx_filter *f); 28 int ionic_rx_filters_init(struct ionic_lif *lif); 29 void ionic_rx_filters_deinit(struct ionic_lif *lif); 30 int ionic_rx_filter_save(struct ionic_lif *lif, u32 flow_id, u16 rxq_index, 32 struct ionic_rx_filter *ionic_rx_filter_by_vlan(struct ionic_lif *lif, u16 vid); 33 struct ionic_rx_filter *ionic_rx_filter_by_addr(struct ionic_lif *lif, const u8 *addr);
|
D | ionic_lif.h | 183 #define lif_to_txqcq(lif, i) ((lif)->txqcqs[i].qcq) argument 184 #define lif_to_rxqcq(lif, i) ((lif)->rxqcqs[i].qcq) argument 185 #define lif_to_txstats(lif, i) ((lif)->txqcqs[i].stats->tx) argument 186 #define lif_to_rxstats(lif, i) ((lif)->rxqcqs[i].stats->rx) argument 187 #define lif_to_txq(lif, i) (&lif_to_txqcq((lif), i)->q) argument 188 #define lif_to_rxq(lif, i) (&lif_to_txqcq((lif), i)->q) argument 190 static inline int ionic_wait_for_bit(struct ionic_lif *lif, int bitname) in ionic_wait_for_bit() argument 194 while (test_and_set_bit(bitname, lif->state) && in ionic_wait_for_bit() 198 return test_bit(bitname, lif->state); in ionic_wait_for_bit() 239 int ionic_lif_rss_config(struct ionic_lif *lif, u16 types, [all …]
|
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
|
D | ionic_main.c | 173 static void ionic_adminq_flush(struct ionic_lif *lif) in ionic_adminq_flush() argument 175 struct ionic_queue *adminq = &lif->adminqcq->q; in ionic_adminq_flush() 177 spin_lock(&lif->adminq_lock); in ionic_adminq_flush() 185 spin_unlock(&lif->adminq_lock); in ionic_adminq_flush() 188 static int ionic_adminq_check_err(struct ionic_lif *lif, in ionic_adminq_check_err() argument 192 struct net_device *netdev = lif->netdev; in ionic_adminq_check_err() 208 ionic_adminq_flush(lif); in ionic_adminq_check_err() 226 dev = &q->lif->netdev->dev; in ionic_adminq_cb() 237 static int ionic_adminq_post(struct ionic_lif *lif, struct ionic_admin_ctx *ctx) in ionic_adminq_post() argument 239 struct ionic_queue *adminq = &lif->adminqcq->q; in ionic_adminq_post() [all …]
|
D | ionic_txrx.c | 34 return netdev_get_tx_queue(q->lif->netdev, q->index); in q_to_ndq() 54 struct net_device *netdev = q->lif->netdev; in ionic_rx_copybreak() 55 struct device *dev = q->lif->ionic->dev; in ionic_rx_copybreak() 61 if (clen > q->lif->rx_copybreak) { in ionic_rx_copybreak() 95 netdev = q->lif->netdev; in ionic_rx_clean() 102 if (unlikely(test_bit(IONIC_LIF_QUEUE_RESET, q->lif->state))) { in ionic_rx_clean() 206 struct ionic_dev *idev = &cq->lif->ionic->idev; in ionic_rx_flush() 219 struct ionic_lif *lif = q->lif; in ionic_rx_skb_alloc() local 225 netdev = lif->netdev; in ionic_rx_skb_alloc() 226 dev = lif->ionic->dev; in ionic_rx_skb_alloc() [all …]
|
D | ionic_dev.c | 288 int ionic_db_page_num(struct ionic_lif *lif, int pid) in ionic_db_page_num() argument 290 return (lif->hw_index * lif->dbid_count) + pid; in ionic_db_page_num() 293 int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq, in ionic_cq_init() argument 308 cq->lif = lif; in ionic_cq_init() 373 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev, in ionic_q_init() argument 389 q->lif = lif; in ionic_q_init() 399 snprintf(q->name, sizeof(q->name), "L%d-%s%u", lif->index, name, index); in ionic_q_init() 443 struct device *dev = q->lif->ionic->dev; in ionic_q_post() 444 struct ionic_lif *lif = q->lif; in ionic_q_post() local 451 q->lif->index, q->name, q->hw_type, q->hw_index, in ionic_q_post() [all …]
|
D | ionic_stats.h | 37 void (*get_strings)(struct ionic_lif *lif, u8 **buf); 38 void (*get_values)(struct ionic_lif *lif, u64 **buf); 39 u64 (*get_count)(struct ionic_lif *lif);
|
D | ionic_dev.h | 171 struct ionic_lif *lif; member 207 struct ionic_lif *lif; member 274 int ionic_db_page_num(struct ionic_lif *lif, int pid); 276 int ionic_cq_init(struct ionic_lif *lif, struct ionic_cq *cq, 287 int ionic_q_init(struct ionic_lif *lif, struct ionic_dev *idev,
|
D | ionic.h | 60 int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx);
|
D | ionic_bus_pci.c | 185 &ionic->ident.lif); in ionic_probe()
|
D | ionic_if.h | 2475 union ionic_lif_identity lif; member
|
/Linux-v5.4/drivers/media/platform/vsp1/ |
D | vsp1_lif.c | 26 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() 91 struct vsp1_lif *lif = to_lif(&entity->subdev); in lif_configure_stream() local 96 format = vsp1_entity_get_pad_format(&lif->entity, lif->entity.config, in lif_configure_stream() 122 vsp1_lif_write(lif, dlb, VI6_LIF_CSBTH, in lif_configure_stream() 126 vsp1_lif_write(lif, dlb, VI6_LIF_CTRL, in lif_configure_stream() 139 vsp1_lif_write(lif, dlb, VI6_LIF_LBA, in lif_configure_stream() 154 struct vsp1_lif *lif; in vsp1_lif_create() local 157 lif = devm_kzalloc(vsp1->dev, sizeof(*lif), GFP_KERNEL); in vsp1_lif_create() 158 if (lif == NULL) in vsp1_lif_create() [all …]
|
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() 322 __func__, pipe->lif->index, BRX_NAME(brx)); in vsp1_du_pipeline_setup_brx() 510 ret = v4l2_subdev_call(&pipe->lif->subdev, pad, set_fmt, NULL, in vsp1_du_pipeline_setup_output() 517 format.format.code, pipe->lif->index); in vsp1_du_pipeline_setup_output() 527 pipe->lif->index); in vsp1_du_pipeline_setup_output() 692 __func__, pipe->lif->index, in vsp1_du_setup_lif() 959 pipe->lif = &vsp1->lif[i]->entity; in vsp1_drm_init() 962 pipe->output->entity.sink = pipe->lif; in vsp1_drm_init() [all …]
|
D | vsp1_drv.c | 169 if (!vsp1->lif[i]) in vsp1_uapi_create_links() 174 &vsp1->lif[i]->entity.subdev.entity, in vsp1_uapi_create_links() 343 struct vsp1_lif *lif; in vsp1_create_entities() local 345 lif = vsp1_lif_create(vsp1, i); in vsp1_create_entities() 346 if (IS_ERR(lif)) { in vsp1_create_entities() 347 ret = PTR_ERR(lif); in vsp1_create_entities() 351 vsp1->lif[i] = lif; in vsp1_create_entities() 352 list_add_tail(&lif->entity.list_dev, &vsp1->entities); in vsp1_create_entities()
|
D | vsp1_pipe.c | 271 pipe->lif = NULL; in vsp1_pipeline_reset() 319 if (pipe->lif) { in vsp1_pipeline_stop() 368 if (!pipe->lif) in vsp1_pipeline_ready()
|
D | vsp1_pipe.h | 133 struct vsp1_entity *lif; member
|
D | vsp1.h | 90 struct vsp1_lif *lif[VSP1_MAX_LIF]; member
|
D | vsp1_wpf.c | 279 if (!pipe->lif || wpf->writeback) { in wpf_configure_stream() 436 if (pipe->lif && !wpf->writeback) in wpf_configure_partition()
|
D | vsp1_video.c | 601 pipe->lif = e; in vsp1_video_pipeline_build()
|
/Linux-v5.4/drivers/net/ethernet/cisco/enic/ |
D | vnic_resource.h | 70 u16 lif; /* loopback lif for mgmt frames */ member
|