Lines Matching refs:oct

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