Lines Matching refs:oct

55 lio_vf_rep_send_soft_command(struct octeon_device *oct,
66 octeon_alloc_soft_command(oct, req_size,
82 octeon_prepare_soft_command(oct, sc, OPCODE_NIC,
85 err = octeon_send_soft_command(oct, sc);
89 err = wait_for_sc_completion_timeout(oct, sc, 0);
95 dev_err(&oct->pci_dev->dev, "VF rep send config failed\n");
103 octeon_free_soft_command(oct, sc);
113 struct octeon_device *oct;
116 oct = vf_rep->oct;
123 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg,
127 dev_err(&oct->pci_dev->dev,
146 struct octeon_device *oct;
149 oct = vf_rep->oct;
156 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg,
160 dev_err(&oct->pci_dev->dev,
203 struct octeon_device *oct;
206 oct = vf_rep->oct;
213 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg,
216 dev_err(&oct->pci_dev->dev,
231 struct octeon_device *oct = vf_rep->oct;
234 ret = snprintf(buf, len, "pf%dvf%d", oct->pf_num,
235 vf_rep->ifidx - oct->pf_num * 64 - 1);
243 lio_vf_rep_get_ndev(struct octeon_device *oct, int ifidx)
248 if (ifidx <= oct->pf_num * max_vfs ||
249 ifidx >= oct->pf_num * max_vfs + max_vfs)
257 return oct->vf_rep_list.ndev[vf_id];
261 lio_vf_rep_copy_packet(struct octeon_device *oct,
299 struct octeon_device *oct;
304 oct = lio_get_device(recv_pkt->octeon_id);
305 if (!oct)
312 vf_ndev = lio_vf_rep_get_ndev(oct, ifidx);
326 lio_vf_rep_copy_packet(oct, skb, recv_pkt->buffer_size[0]);
348 lio_vf_rep_packet_sent_callback(struct octeon_device *oct,
356 dma_unmap_single(&oct->pci_dev->dev, sc->dmadptr,
360 octeon_free_soft_command(oct, sc);
362 if (octnet_iq_is_full(oct, iq_no))
374 struct octeon_device *oct = vf_rep->oct;
386 if (octnet_iq_is_full(vf_rep->oct, parent_lio->txq)) {
387 dev_err(&oct->pci_dev->dev, "VF rep: Device IQ full\n");
393 octeon_alloc_soft_command(oct, 0, 16, 0);
395 dev_err(&oct->pci_dev->dev, "VF rep: Soft command alloc failed\n");
401 dev_err(&oct->pci_dev->dev, "VF rep: nr_frags != 0. Dropping packet\n");
402 octeon_free_soft_command(oct, sc);
406 sc->dmadptr = dma_map_single(&oct->pci_dev->dev,
408 if (dma_mapping_error(&oct->pci_dev->dev, sc->dmadptr)) {
409 dev_err(&oct->pci_dev->dev, "VF rep: DMA mapping failed\n");
410 octeon_free_soft_command(oct, sc);
419 octeon_prepare_soft_command(oct, sc, OPCODE_NIC, OPCODE_NIC_VF_REP_PKT,
427 status = octeon_send_soft_command(oct, sc);
429 dma_unmap_single(&oct->pci_dev->dev, sc->dmadptr,
431 octeon_free_soft_command(oct, sc);
468 struct octeon_device *oct;
471 oct = vf_rep->oct;
477 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg, sizeof(rep_cfg),
490 lio_vf_rep_create(struct octeon_device *oct)
496 if (oct->eswitch_mode != DEVLINK_ESWITCH_MODE_SWITCHDEV)
499 if (!oct->sriov_info.sriov_enabled)
502 num_vfs = oct->sriov_info.num_vfs_alloced;
504 oct->vf_rep_list.num_vfs = 0;
509 dev_err(&oct->pci_dev->dev,
522 vf_rep->oct = oct;
523 vf_rep->parent_ndev = oct->props[0].netdev;
524 vf_rep->ifidx = (oct->pf_num * 64) + i + 1;
529 dev_err(&oct->pci_dev->dev, "VF rep nerdev registration failed\n");
543 oct->vf_rep_list.num_vfs++;
544 oct->vf_rep_list.ndev[i] = ndev;
547 if (octeon_register_dispatch_fn(oct, OPCODE_NIC,
549 lio_vf_rep_pkt_recv, oct)) {
550 dev_err(&oct->pci_dev->dev, "VF rep Dispatch func registration failed\n");
558 for (i = 0; i < oct->vf_rep_list.num_vfs; i++) {
559 ndev = oct->vf_rep_list.ndev[i];
560 oct->vf_rep_list.ndev[i] = NULL;
570 oct->vf_rep_list.num_vfs = 0;
576 lio_vf_rep_destroy(struct octeon_device *oct)
582 if (oct->eswitch_mode != DEVLINK_ESWITCH_MODE_SWITCHDEV)
585 if (!oct->sriov_info.sriov_enabled)
588 for (i = 0; i < oct->vf_rep_list.num_vfs; i++) {
589 ndev = oct->vf_rep_list.ndev[i];
590 oct->vf_rep_list.ndev[i] = NULL;
603 oct->vf_rep_list.num_vfs = 0;
613 struct octeon_device *oct;
629 oct = vf_rep->oct;
632 dev_err(&oct->pci_dev->dev,
644 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg,
647 dev_err(&oct->pci_dev->dev,