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
298 struct octeon_device *oct; in lio_vf_rep_pkt_recv() local
303 oct = lio_get_device(recv_pkt->octeon_id); in lio_vf_rep_pkt_recv()
304 if (!oct) in lio_vf_rep_pkt_recv()
311 vf_ndev = lio_vf_rep_get_ndev(oct, ifidx); in lio_vf_rep_pkt_recv()
325 lio_vf_rep_copy_packet(oct, skb, recv_pkt->buffer_size[0]); in lio_vf_rep_pkt_recv()
347 lio_vf_rep_packet_sent_callback(struct octeon_device *oct, in lio_vf_rep_packet_sent_callback() argument
355 dma_unmap_single(&oct->pci_dev->dev, sc->dmadptr, in lio_vf_rep_packet_sent_callback()
359 octeon_free_soft_command(oct, sc); in lio_vf_rep_packet_sent_callback()
361 if (octnet_iq_is_full(oct, iq_no)) in lio_vf_rep_packet_sent_callback()
373 struct octeon_device *oct = vf_rep->oct; in lio_vf_rep_pkt_xmit() local
385 if (octnet_iq_is_full(vf_rep->oct, parent_lio->txq)) { in lio_vf_rep_pkt_xmit()
386 dev_err(&oct->pci_dev->dev, "VF rep: Device IQ full\n"); in lio_vf_rep_pkt_xmit()
392 octeon_alloc_soft_command(oct, 0, 16, 0); in lio_vf_rep_pkt_xmit()
394 dev_err(&oct->pci_dev->dev, "VF rep: Soft command alloc failed\n"); in lio_vf_rep_pkt_xmit()
400 dev_err(&oct->pci_dev->dev, "VF rep: nr_frags != 0. Dropping packet\n"); in lio_vf_rep_pkt_xmit()
401 octeon_free_soft_command(oct, sc); in lio_vf_rep_pkt_xmit()
405 sc->dmadptr = dma_map_single(&oct->pci_dev->dev, in lio_vf_rep_pkt_xmit()
407 if (dma_mapping_error(&oct->pci_dev->dev, sc->dmadptr)) { in lio_vf_rep_pkt_xmit()
408 dev_err(&oct->pci_dev->dev, "VF rep: DMA mapping failed\n"); in lio_vf_rep_pkt_xmit()
409 octeon_free_soft_command(oct, sc); in lio_vf_rep_pkt_xmit()
418 octeon_prepare_soft_command(oct, sc, OPCODE_NIC, OPCODE_NIC_VF_REP_PKT, in lio_vf_rep_pkt_xmit()
426 status = octeon_send_soft_command(oct, sc); in lio_vf_rep_pkt_xmit()
428 dma_unmap_single(&oct->pci_dev->dev, sc->dmadptr, in lio_vf_rep_pkt_xmit()
430 octeon_free_soft_command(oct, sc); in lio_vf_rep_pkt_xmit()
467 struct octeon_device *oct; in lio_vf_rep_fetch_stats() local
470 oct = vf_rep->oct; in lio_vf_rep_fetch_stats()
476 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg, sizeof(rep_cfg), in lio_vf_rep_fetch_stats()
489 lio_vf_rep_create(struct octeon_device *oct) in lio_vf_rep_create() argument
495 if (oct->eswitch_mode != DEVLINK_ESWITCH_MODE_SWITCHDEV) in lio_vf_rep_create()
498 if (!oct->sriov_info.sriov_enabled) in lio_vf_rep_create()
501 num_vfs = oct->sriov_info.num_vfs_alloced; in lio_vf_rep_create()
503 oct->vf_rep_list.num_vfs = 0; in lio_vf_rep_create()
508 dev_err(&oct->pci_dev->dev, in lio_vf_rep_create()
521 vf_rep->oct = oct; in lio_vf_rep_create()
522 vf_rep->parent_ndev = oct->props[0].netdev; in lio_vf_rep_create()
523 vf_rep->ifidx = (oct->pf_num * 64) + i + 1; in lio_vf_rep_create()
528 dev_err(&oct->pci_dev->dev, "VF rep nerdev registration failed\n"); in lio_vf_rep_create()
542 oct->vf_rep_list.num_vfs++; in lio_vf_rep_create()
543 oct->vf_rep_list.ndev[i] = ndev; in lio_vf_rep_create()
546 if (octeon_register_dispatch_fn(oct, OPCODE_NIC, in lio_vf_rep_create()
548 lio_vf_rep_pkt_recv, oct)) { in lio_vf_rep_create()
549 dev_err(&oct->pci_dev->dev, "VF rep Dispatch func registration failed\n"); in lio_vf_rep_create()
557 for (i = 0; i < oct->vf_rep_list.num_vfs; i++) { in lio_vf_rep_create()
558 ndev = oct->vf_rep_list.ndev[i]; in lio_vf_rep_create()
559 oct->vf_rep_list.ndev[i] = NULL; in lio_vf_rep_create()
569 oct->vf_rep_list.num_vfs = 0; in lio_vf_rep_create()
575 lio_vf_rep_destroy(struct octeon_device *oct) in lio_vf_rep_destroy() argument
581 if (oct->eswitch_mode != DEVLINK_ESWITCH_MODE_SWITCHDEV) in lio_vf_rep_destroy()
584 if (!oct->sriov_info.sriov_enabled) in lio_vf_rep_destroy()
587 for (i = 0; i < oct->vf_rep_list.num_vfs; i++) { in lio_vf_rep_destroy()
588 ndev = oct->vf_rep_list.ndev[i]; in lio_vf_rep_destroy()
589 oct->vf_rep_list.ndev[i] = NULL; in lio_vf_rep_destroy()
602 oct->vf_rep_list.num_vfs = 0; in lio_vf_rep_destroy()
612 struct octeon_device *oct; in lio_vf_rep_netdev_event() local
628 oct = vf_rep->oct; in lio_vf_rep_netdev_event()
631 dev_err(&oct->pci_dev->dev, in lio_vf_rep_netdev_event()
642 ret = lio_vf_rep_send_soft_command(oct, &rep_cfg, in lio_vf_rep_netdev_event()
645 dev_err(&oct->pci_dev->dev, in lio_vf_rep_netdev_event()