Searched refs:fcoe (Results 1 - 58 of 58) sorted by relevance

/linux-4.4.14/drivers/scsi/fcoe/
H A DMakefile1 obj-$(CONFIG_FCOE) += fcoe.o
H A Dfcoe.c50 #include "fcoe.h"
56 /* Performance tuning parameters for fcoe */
73 /* fcoe host list */
295 * @fcoe: The new FCoE interface
296 * @netdev: The net device that the fcoe interface is on
301 static int fcoe_interface_setup(struct fcoe_interface *fcoe, fcoe_interface_setup() argument
304 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); fcoe_interface_setup()
310 fcoe->netdev = netdev; fcoe_interface_setup()
330 fcoe->realdev = real_dev; fcoe_interface_setup()
365 fcoe->fcoe_packet_type.func = fcoe_rcv;
366 fcoe->fcoe_packet_type.type = htons(ETH_P_FCOE);
367 fcoe->fcoe_packet_type.dev = netdev;
368 dev_add_pack(&fcoe->fcoe_packet_type);
370 fcoe->fip_packet_type.func = fcoe_fip_recv;
371 fcoe->fip_packet_type.type = htons(ETH_P_FIP);
372 fcoe->fip_packet_type.dev = netdev;
373 dev_add_pack(&fcoe->fip_packet_type);
390 struct fcoe_interface *fcoe; fcoe_interface_create() local
397 fcoe = ERR_PTR(-EBUSY); fcoe_interface_create()
406 fcoe = ERR_PTR(-ENOMEM); fcoe_interface_create()
412 fcoe = fcoe_ctlr_priv(ctlr); fcoe_interface_create()
424 err = fcoe_interface_setup(fcoe, netdev); fcoe_interface_create()
429 fcoe = ERR_PTR(err); fcoe_interface_create()
438 return fcoe; fcoe_interface_create()
443 * @fcoe: The FCoE interface to be cleaned up
447 static void fcoe_interface_remove(struct fcoe_interface *fcoe) fcoe_interface_remove() argument
449 struct net_device *netdev = fcoe->netdev; fcoe_interface_remove()
450 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); fcoe_interface_remove()
460 __dev_remove_pack(&fcoe->fcoe_packet_type); fcoe_interface_remove()
461 __dev_remove_pack(&fcoe->fip_packet_type); fcoe_interface_remove()
482 fcoe->removed = 1; fcoe_interface_remove()
488 * @fcoe: The FCoE interface to be cleaned up
490 static void fcoe_interface_cleanup(struct fcoe_interface *fcoe) fcoe_interface_cleanup() argument
492 struct net_device *netdev = fcoe->netdev; fcoe_interface_cleanup()
493 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); fcoe_interface_cleanup()
496 if (!fcoe->removed) fcoe_interface_cleanup()
497 fcoe_interface_remove(fcoe); fcoe_interface_cleanup()
522 struct fcoe_interface *fcoe; fcoe_fip_recv() local
525 fcoe = container_of(ptype, struct fcoe_interface, fip_packet_type); fcoe_fip_recv()
526 ctlr = fcoe_to_ctlr(fcoe); fcoe_fip_recv()
566 struct fcoe_interface *fcoe = port->priv; fcoe_update_src_mac() local
569 dev_uc_del(fcoe->netdev, port->data_src_addr); fcoe_update_src_mac()
571 dev_uc_add(fcoe->netdev, addr); fcoe_update_src_mac()
676 struct fcoe_interface *fcoe; fcoe_netdev_config() local
680 /* Setup lport private data to point to fcoe softc */ fcoe_netdev_config()
682 fcoe = port->priv; fcoe_netdev_config()
683 ctlr = fcoe_to_ctlr(fcoe); fcoe_netdev_config()
774 struct fcoe_interface *fcoe; fcoe_fdmi_info() local
780 fcoe = port->priv; fcoe_fdmi_info()
781 realdev = fcoe->realdev; fcoe_fdmi_info()
799 printk(KERN_INFO "fcoe: Failed to retrieve FDMI " fcoe_fdmi_info()
842 printk(KERN_INFO "fcoe: No FDMI support.\n"); fcoe_fdmi_info()
892 struct fcoe_interface *fcoe = port->priv; fcoe_em_config() local
912 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN) fcoe_em_config()
913 cur_real_dev = vlan_dev_real_dev(fcoe->netdev); fcoe_em_config()
915 cur_real_dev = fcoe->netdev; fcoe_em_config()
924 fcoe->oem = oldfcoe->oem; fcoe_em_config()
929 if (fcoe->oem) { fcoe_em_config()
930 if (!fc_exch_mgr_add(lport, fcoe->oem, fcoe_oem_match)) { fcoe_em_config()
933 fcoe->oem, fcoe->netdev->name); fcoe_em_config()
937 fcoe->oem = fc_exch_mgr_alloc(lport, FC_CLASS_3, fcoe_em_config()
940 if (!fcoe->oem) { fcoe_em_config()
943 fcoe->netdev->name); fcoe_em_config()
956 "allocate em on interface %s\n", fcoe->netdev->name); fcoe_em_config()
971 struct fcoe_interface *fcoe = port->priv; fcoe_if_destroy() local
972 struct net_device *netdev = fcoe->netdev; fcoe_if_destroy()
994 fcoe_interface_remove(fcoe); fcoe_if_destroy()
1015 * master lport until it fcoe interface fully cleaned-up. fcoe_if_destroy()
1083 * @fcoe: The FCoE interface to create a local port on
1091 static struct fc_lport *fcoe_if_create(struct fcoe_interface *fcoe, fcoe_if_create() argument
1094 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); fcoe_if_create()
1095 struct net_device *netdev = fcoe->netdev; fcoe_if_create()
1120 port->priv = fcoe; fcoe_if_create()
1210 * fcoe_if_init() - Initialization routine for fcoe.ko
1225 printk(KERN_ERR "fcoe: Failed to attach to the FC transport\n"); fcoe_if_init()
1233 * fcoe_if_exit() - Tear down fcoe.ko
1370 * This creates or destroys per-CPU data for fcoe
1434 struct fcoe_interface *fcoe; fcoe_rcv() local
1440 fcoe = container_of(ptype, struct fcoe_interface, fcoe_packet_type); fcoe_rcv()
1441 ctlr = fcoe_to_ctlr(fcoe); fcoe_rcv()
1598 struct fcoe_interface *fcoe = port->priv; fcoe_xmit() local
1599 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); fcoe_xmit()
1660 /* adjust skb network/transport offsets to match mac/fcoe/port */ fcoe_xmit()
1666 skb->priority = fcoe->priority; fcoe_xmit()
1668 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN && fcoe_xmit()
1669 fcoe->realdev->features & NETIF_F_HW_VLAN_CTAG_TX) { fcoe_xmit()
1671 skb->dev = fcoe->realdev; fcoe_xmit()
1673 vlan_dev_vlan_id(fcoe->netdev)); fcoe_xmit()
1675 skb->dev = fcoe->netdev; fcoe_xmit()
1677 /* fill up mac and fcoe headers */ fcoe_xmit()
1695 /* fcoe lso, mss is in max_payload which is non-zero for FCP data */ fcoe_xmit()
1725 * fcoe_filter_frames() - filter out bad fcoe frames, i.e. bad CRC
1735 struct fcoe_interface *fcoe; fcoe_filter_frames() local
1755 fcoe = ((struct fcoe_port *)lport_priv(lport))->priv; fcoe_filter_frames()
1756 ctlr = fcoe_to_ctlr(fcoe); fcoe_filter_frames()
1759 FCOE_DBG("fcoe: dropping FCoE lport LOGO in fip mode\n"); fcoe_filter_frames()
1772 printk(KERN_WARNING "fcoe: dropping frame with CRC error\n"); fcoe_filter_frames()
1820 printk(KERN_WARNING "fcoe: FCoE version " fcoe_recv_frame()
1917 struct fcoe_interface *fcoe; fcoe_hostlist_lookup_realdev_port() local
1920 list_for_each_entry(fcoe, &fcoe_hostlist, list) { fcoe_hostlist_lookup_realdev_port()
1921 if (fcoe->netdev->priv_flags & IFF_802_1Q_VLAN) fcoe_hostlist_lookup_realdev_port()
1922 real_dev = vlan_dev_real_dev(fcoe->netdev); fcoe_hostlist_lookup_realdev_port()
1924 real_dev = fcoe->netdev; fcoe_hostlist_lookup_realdev_port()
1927 return fcoe; fcoe_hostlist_lookup_realdev_port()
1937 struct fcoe_interface *fcoe; fcoe_dcb_app_notification() local
1948 fcoe = fcoe_hostlist_lookup_realdev_port(netdev); fcoe_dcb_app_notification()
1950 if (!fcoe) fcoe_dcb_app_notification()
1953 ctlr = fcoe_to_ctlr(fcoe); fcoe_dcb_app_notification()
1968 fcoe->priority = prio; fcoe_dcb_app_notification()
1990 struct fcoe_interface *fcoe; fcoe_device_notification() local
1997 list_for_each_entry(fcoe, &fcoe_hostlist, list) { fcoe_device_notification()
1998 if (fcoe->netdev == netdev) { fcoe_device_notification()
1999 ctlr = fcoe_to_ctlr(fcoe); fcoe_device_notification()
2028 list_del(&fcoe->list); fcoe_device_notification()
2075 * Called from fcoe transport.
2084 struct fcoe_interface *fcoe; fcoe_disable() local
2090 fcoe = fcoe_hostlist_lookup_port(netdev); fcoe_disable()
2093 if (fcoe) { fcoe_disable()
2094 ctlr = fcoe_to_ctlr(fcoe); fcoe_disable()
2108 * Called from fcoe transport.
2115 struct fcoe_interface *fcoe; fcoe_enable() local
2120 fcoe = fcoe_hostlist_lookup_port(netdev); fcoe_enable()
2123 if (!fcoe) { fcoe_enable()
2128 ctlr = fcoe_to_ctlr(fcoe); fcoe_enable()
2169 * Called from fcoe transport
2176 struct fcoe_interface *fcoe; fcoe_destroy() local
2183 fcoe = fcoe_hostlist_lookup_port(netdev); fcoe_destroy()
2184 if (!fcoe) { fcoe_destroy()
2188 ctlr = fcoe_to_ctlr(fcoe); fcoe_destroy()
2191 list_del(&fcoe->list); fcoe_destroy()
2208 struct fcoe_interface *fcoe; fcoe_destroy_work() local
2236 fcoe = port->priv; fcoe_destroy_work()
2237 ctlr = fcoe_to_ctlr(fcoe); fcoe_destroy_work()
2241 fcoe_interface_cleanup(fcoe); fcoe_destroy_work()
2252 * Called from fcoe transport.
2268 static void fcoe_dcb_create(struct fcoe_interface *fcoe) fcoe_dcb_create() argument
2273 struct net_device *netdev = fcoe->realdev; fcoe_dcb_create()
2274 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); fcoe_dcb_create()
2296 fcoe->priority = ffs(up) ? ffs(up) - 1 : 0; fcoe_dcb_create()
2297 ctlr->priority = ffs(fup) ? ffs(fup) - 1 : fcoe->priority; fcoe_dcb_create()
2308 * _fcoe_create() - (internal) Create a fcoe interface
2326 struct fcoe_interface *fcoe; _fcoe_create() local
2338 fcoe = fcoe_interface_create(netdev, fip_mode); _fcoe_create()
2339 if (IS_ERR(fcoe)) { _fcoe_create()
2340 rc = PTR_ERR(fcoe); _fcoe_create()
2344 ctlr = fcoe_to_ctlr(fcoe); _fcoe_create()
2346 lport = fcoe_if_create(fcoe, &ctlr_dev->dev, 0); _fcoe_create()
2348 printk(KERN_ERR "fcoe: Failed to create interface (%s)\n", _fcoe_create()
2352 fcoe_interface_cleanup(fcoe); _fcoe_create()
2362 fcoe_dcb_create(fcoe); _fcoe_create()
2401 * fcoe_create() - Create a fcoe interface
2405 * Called from fcoe transport
2415 * fcoe_ctlr_alloc() - Allocate a fcoe interface from fcoe_sysfs
2496 struct fcoe_interface *fcoe = port->priv; fcoe_reset() local
2497 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); fcoe_reset()
2520 struct fcoe_interface *fcoe; fcoe_hostlist_lookup_port() local
2522 list_for_each_entry(fcoe, &fcoe_hostlist, list) { fcoe_hostlist_lookup_port()
2523 if (fcoe->netdev == netdev) fcoe_hostlist_lookup_port()
2524 return fcoe; fcoe_hostlist_lookup_port()
2541 struct fcoe_interface *fcoe; fcoe_hostlist_lookup() local
2543 fcoe = fcoe_hostlist_lookup_port(netdev); fcoe_hostlist_lookup()
2544 ctlr = fcoe_to_ctlr(fcoe); fcoe_hostlist_lookup()
2545 return (fcoe) ? ctlr->lp : NULL; fcoe_hostlist_lookup()
2559 struct fcoe_interface *fcoe; fcoe_hostlist_add() local
2562 fcoe = fcoe_hostlist_lookup_port(fcoe_netdev(lport)); fcoe_hostlist_add()
2563 if (!fcoe) { fcoe_hostlist_add()
2565 fcoe = port->priv; fcoe_hostlist_add()
2566 list_add_tail(&fcoe->list, &fcoe_hostlist); fcoe_hostlist_add()
2581 struct fcoe_interface *fcoe; fcoe_hostlist_del() local
2585 fcoe = port->priv; fcoe_hostlist_del()
2586 list_del(&fcoe->list); fcoe_hostlist_del()
2603 * fcoe_init() - Initialize fcoe.ko
2613 fcoe_wq = alloc_workqueue("fcoe", 0, 0); fcoe_init()
2617 /* register as a fcoe transport */ fcoe_init()
2620 printk(KERN_ERR "failed to register an fcoe transport, check " fcoe_init()
2668 * fcoe_exit() - Clean up fcoe.ko
2674 struct fcoe_interface *fcoe, *tmp; fcoe_exit() local
2683 /* releases the associated fcoe hosts */ fcoe_exit()
2685 list_for_each_entry_safe(fcoe, tmp, &fcoe_hostlist, list) { fcoe_exit()
2686 ctlr = fcoe_to_ctlr(fcoe); fcoe_exit()
2717 /* detach from fcoe transport */ fcoe_exit()
2787 struct fcoe_interface *fcoe = port->priv; fcoe_elsct_send() local
2788 struct fcoe_ctlr *fip = fcoe_to_ctlr(fcoe); fcoe_elsct_send()
2820 struct fcoe_interface *fcoe = port->priv; fcoe_vport_create() local
2821 struct net_device *netdev = fcoe->netdev; fcoe_vport_create()
2829 printk(KERN_ERR "fcoe: Failed to create vport, " fcoe_vport_create()
2837 vn_port = fcoe_if_create(fcoe, &vport->dev, 1); fcoe_vport_create()
2842 printk(KERN_ERR "fcoe: fcoe_vport_create(%s) failed\n", fcoe_vport_create()
2937 struct fcoe_interface *fcoe = fcoe_ctlr_priv(ctlr); fcoe_fcf_get_vlan_id() local
2939 fcf_dev->vlan_id = vlan_dev_vlan_id(fcoe->netdev); fcoe_fcf_get_vlan_id()
2958 struct fcoe_interface *fcoe = port->priv; fcoe_set_port_id() local
2959 struct fcoe_ctlr *ctlr = fcoe_to_ctlr(fcoe); fcoe_set_port_id()
H A Dfcoe.h32 #define FCOE_NAME "fcoe"
58 pr_info("fcoe: " fmt, ##args);)
62 pr_info("fcoe: %s: " fmt, \
73 * @removed: Indicates fcoe interface removed from net device
H A Dfcoe_transport.c61 MODULE_PARM_DESC(create, " Creates fcoe instance on an ethernet interface");
71 MODULE_PARM_DESC(destroy, " Destroys fcoe instance on an ethernet interface");
75 MODULE_PARM_DESC(enable, " Enables fcoe on an ethernet interface.");
79 MODULE_PARM_DESC(disable, " Disables fcoe on an ethernet interface.");
202 * fcoe controller device
203 * @ctlr_dev: The given fcoe controller device
430 * fcoe_queue_timer() - The fcoe queue timer
445 * @fps: The fcoe context
489 * fcoe_transport_lookup - find an fcoe transport that matches a netdev
492 * Returns : ptr to the fcoe transport that supports this netdev or NULL
509 * @ft: The fcoe transport to be attached
542 * @ft: The fcoe transport to be attached
660 * fcoe_netdev_map_lookup - find the fcoe transport that matches the netdev on which
663 * Returns : ptr to the fcoe transport that supports this netdev or NULL
783 LIBFCOE_TRANSPORT_DBG("transport %s succeeded to create fcoe on %s.\n", fcoe_ctlr_create_store()
823 LIBFCOE_TRANSPORT_DBG("transport %s %s to destroy fcoe on %s.\n", fcoe_ctlr_destroy_store()
836 * fcoe_transport_create() - Create a fcoe interface
841 * registered fcoe transport's create function.
889 LIBFCOE_TRANSPORT_DBG("transport %s %s to create fcoe on %s.\n", fcoe_transport_create()
906 * registered fcoe transport's destroy function.
934 LIBFCOE_TRANSPORT_DBG("transport %s %s to destroy fcoe on %s.\n", fcoe_transport_destroy()
H A Dfcoe_sysfs.c31 * <scsi/libfcoe.h> otherwise non-netdev based fcoe solutions would have
40 * fcoe_fcf_dev_loss_tmo: the default number of seconds that fcoe sysfs
567 .name = "fcoe",
/linux-4.4.14/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_fcoe.c71 struct ixgbe_fcoe *fcoe; ixgbe_fcoe_ddp_put() local
84 fcoe = &adapter->fcoe; ixgbe_fcoe_ddp_put()
85 ddp = &fcoe->ddp[xid]; ixgbe_fcoe_ddp_put()
115 spin_lock_bh(&fcoe->lock); ixgbe_fcoe_ddp_put()
127 spin_unlock_bh(&fcoe->lock); ixgbe_fcoe_ddp_put()
162 struct ixgbe_fcoe *fcoe; ixgbe_fcoe_ddp_setup() local
190 fcoe = &adapter->fcoe; ixgbe_fcoe_ddp_setup()
191 ddp = &fcoe->ddp[xid]; ixgbe_fcoe_ddp_setup()
200 if (!fcoe->ddp_pool) { ixgbe_fcoe_ddp_setup()
205 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, get_cpu()); ixgbe_fcoe_ddp_setup()
207 e_warn(drv, "xid=0x%x no ddp pool for fcoe\n", xid); ixgbe_fcoe_ddp_setup()
279 ddp->udl[j] = (u64)(fcoe->extra_ddp_buffer_dma);
305 if (target_mode && !test_bit(__IXGBE_FCOE_TARGET, &fcoe->mode)) {
306 set_bit(__IXGBE_FCOE_TARGET, &fcoe->mode);
326 spin_lock_bh(&fcoe->lock);
337 spin_unlock_bh(&fcoe->lock);
411 struct ixgbe_fcoe *fcoe; ixgbe_fcoe_ddp() local
446 fcoe = &adapter->fcoe; ixgbe_fcoe_ddp()
447 ddp = &fcoe->ddp[xid]; ixgbe_fcoe_ddp()
488 * not a full fcoe frame, we fill the trailer here so it won't be ixgbe_fcoe_ddp()
528 /* resets the header to point fcoe/fc */ ixgbe_fso()
618 static void ixgbe_fcoe_dma_pool_free(struct ixgbe_fcoe *fcoe, unsigned int cpu) ixgbe_fcoe_dma_pool_free() argument
622 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, cpu); ixgbe_fcoe_dma_pool_free()
628 static int ixgbe_fcoe_dma_pool_alloc(struct ixgbe_fcoe *fcoe, ixgbe_fcoe_dma_pool_alloc() argument
643 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, cpu); ixgbe_fcoe_dma_pool_alloc()
652 * ixgbe_configure_fcoe - configures registers for fcoe at start
661 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; ixgbe_configure_fcoe() local
691 int fcoe_i_h = fcoe->offset + ((i + fcreta_size) % ixgbe_configure_fcoe()
692 fcoe->indices); ixgbe_configure_fcoe()
698 fcoe_i = fcoe->offset + (i % fcoe->indices); ixgbe_configure_fcoe()
715 fcoe_q = adapter->rx_ring[fcoe->offset]->reg_idx; ixgbe_configure_fcoe()
727 * ixgbe_free_fcoe_ddp_resources - release all fcoe ddp context resources
736 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_free_fcoe_ddp_resources() local
740 if (!fcoe->ddp_pool) ixgbe_free_fcoe_ddp_resources()
752 ixgbe_fcoe_dma_pool_free(fcoe, cpu); ixgbe_free_fcoe_ddp_resources()
755 fcoe->extra_ddp_buffer_dma, ixgbe_free_fcoe_ddp_resources()
758 kfree(fcoe->extra_ddp_buffer); ixgbe_free_fcoe_ddp_resources()
760 fcoe->extra_ddp_buffer = NULL; ixgbe_free_fcoe_ddp_resources()
761 fcoe->extra_ddp_buffer_dma = 0; ixgbe_free_fcoe_ddp_resources()
765 * ixgbe_setup_fcoe_ddp_resources - setup all fcoe ddp context resources
774 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_setup_fcoe_ddp_resources() local
781 if (!fcoe->ddp_pool) ixgbe_setup_fcoe_ddp_resources()
796 fcoe->extra_ddp_buffer = buffer; ixgbe_setup_fcoe_ddp_resources()
797 fcoe->extra_ddp_buffer_dma = dma; ixgbe_setup_fcoe_ddp_resources()
801 int err = ixgbe_fcoe_dma_pool_alloc(fcoe, dev, cpu); for_each_possible_cpu()
815 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_fcoe_ddp_enable() local
820 fcoe->ddp_pool = alloc_percpu(struct ixgbe_fcoe_ddp_pool); ixgbe_fcoe_ddp_enable()
822 if (!fcoe->ddp_pool) { ixgbe_fcoe_ddp_enable()
837 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_fcoe_ddp_disable() local
841 if (!fcoe->ddp_pool) ixgbe_fcoe_ddp_disable()
844 free_percpu(fcoe->ddp_pool); ixgbe_fcoe_ddp_disable()
845 fcoe->ddp_pool = NULL; ixgbe_fcoe_ddp_disable()
859 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_fcoe_enable() local
861 atomic_inc(&fcoe->refcnt); ixgbe_fcoe_enable()
907 if (!atomic_dec_and_test(&adapter->fcoe.refcnt)) ixgbe_fcoe_disable()
1063 * ixgbe_fcoe_get_tc - get the current TC that fcoe is mapped to
1071 return netdev_get_prio_tc_map(adapter->netdev, adapter->fcoe.up); ixgbe_fcoe_get_tc()
H A Dixgbe_lib.c45 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; ixgbe_cache_ring_dcb_sriov() local
83 if (fcoe->offset < tcs) ixgbe_cache_ring_dcb_sriov()
87 if (fcoe->indices) { ixgbe_cache_ring_dcb_sriov()
92 for (i = fcoe->offset; i < adapter->num_rx_queues; i++) { ixgbe_cache_ring_dcb_sriov()
99 for (i = fcoe->offset; i < adapter->num_tx_queues; i++) { ixgbe_cache_ring_dcb_sriov()
206 struct ixgbe_ring_feature *fcoe = &adapter->ring_feature[RING_F_FCOE]; ixgbe_cache_ring_sriov() local
222 if (fcoe->offset && (i > fcoe->offset)) ixgbe_cache_ring_sriov()
241 if (fcoe->offset && (i > fcoe->offset)) ixgbe_cache_ring_sriov()
387 struct ixgbe_ring_feature *fcoe; ixgbe_set_dcb_sriov_queues() local
389 fcoe = &adapter->ring_feature[RING_F_FCOE]; ixgbe_set_dcb_sriov_queues()
392 fcoe_i = min_t(u16, fcoe_i, fcoe->limit); ixgbe_set_dcb_sriov_queues()
396 fcoe->indices = fcoe_i; ixgbe_set_dcb_sriov_queues()
397 fcoe->offset = vmdq_i * tcs; ixgbe_set_dcb_sriov_queues()
404 fcoe->indices = 1; ixgbe_set_dcb_sriov_queues()
405 fcoe->offset = ixgbe_fcoe_get_tc(adapter); ixgbe_set_dcb_sriov_queues()
409 fcoe->indices = 0; ixgbe_set_dcb_sriov_queues()
410 fcoe->offset = 0; ixgbe_set_dcb_sriov_queues()
560 struct ixgbe_ring_feature *fcoe; ixgbe_set_sriov_queues() local
562 fcoe = &adapter->ring_feature[RING_F_FCOE]; ixgbe_set_sriov_queues()
565 fcoe_i = min_t(u16, fcoe_i, fcoe->limit); ixgbe_set_sriov_queues()
569 fcoe->indices = fcoe_i; ixgbe_set_sriov_queues()
570 fcoe->offset = vmdq_i * rss_i; ixgbe_set_sriov_queues()
580 fcoe->indices = min_t(u16, fcoe_i, fcoe->limit); ixgbe_set_sriov_queues()
581 fcoe->offset = fcoe_i - fcoe->indices; ixgbe_set_sriov_queues()
H A Dixgbe_dcb_nl.c65 if (up && !(up & (1 << adapter->fcoe.up))) ixgbe_copy_dcb_cfg()
400 adapter->fcoe.up = ffs(up) - 1; ixgbe_dcbnl_set_all()
660 if (app_mask & (1 << adapter->fcoe.up)) ixgbe_dcbnl_ieee_setapp()
663 adapter->fcoe.up = app->priority; ixgbe_dcbnl_ieee_setapp()
703 if (app_mask & (1 << adapter->fcoe.up)) ixgbe_dcbnl_ieee_delapp()
706 adapter->fcoe.up = app_mask ? ixgbe_dcbnl_ieee_delapp()
H A Dixgbe_main.c4468 (pb == netdev_get_prio_tc_map(dev, adapter->fcoe.up))) ixgbe_lpbthresh()
5327 adapter->fcoe.up = IXGBE_FCOE_DEFTC; ixgbe_sw_init()
5351 adapter->fcoe.up = 0; ixgbe_sw_init()
5379 spin_lock_init(&adapter->fcoe.lock); ixgbe_sw_init()
6198 if (adapter->fcoe.ddp_pool) { ixgbe_update_stats()
6199 struct ixgbe_fcoe *fcoe = &adapter->fcoe; ixgbe_update_stats() local
6204 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, cpu); for_each_possible_cpu()
H A Dixgbe.h734 struct ixgbe_fcoe fcoe; member in struct:ixgbe_adapter
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_fcoe.c72 struct cxgb_fcoe *fcoe = &pi->fcoe; cxgb_fcoe_enable() local
89 fcoe->flags |= CXGB_FCOE_ENABLED; cxgb_fcoe_enable()
104 struct cxgb_fcoe *fcoe = &pi->fcoe; cxgb_fcoe_disable() local
106 if (!(fcoe->flags & CXGB_FCOE_ENABLED)) cxgb_fcoe_disable()
111 fcoe->flags &= ~CXGB_FCOE_ENABLED; cxgb_fcoe_disable()
H A Dcxgb4_fcoe.h43 /* fcoe flags */
H A Dsge.c1104 const struct cxgb_fcoe *fcoe = &pi->fcoe; cxgb_fcoe_offload() local
1106 if (!(fcoe->flags & CXGB_FCOE_ENABLED)) cxgb_fcoe_offload()
1960 (pi->fcoe.flags & CXGB_FCOE_ENABLED)) { t4_ethrx_handler()
H A Dcxgb4.h456 struct cxgb_fcoe fcoe; member in struct:port_info
805 uint32_t fcoe:FCOE_BITWIDTH; /* FCoE packet */ member in struct:ch_filter_tuple
H A Dcxgb4_main.c1251 FW_FILTER_WR_FCOE_V(f->fs.val.fcoe) | set_filter_wr()
1252 FW_FILTER_WR_FCOEM_V(f->fs.mask.fcoe) | set_filter_wr()
H A Dt4_hw.c3045 SAME_INTF(ri) && SAME_INTF(iscsi) && SAME_INTF(fcoe)) fw_compatible()
/linux-4.4.14/drivers/net/ethernet/intel/i40e/
H A Di40e_fcoe.c258 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_ddp_put() local
260 struct i40e_fcoe_ddp *ddp = &fcoe->ddp[xid]; i40e_fcoe_ddp_put()
262 if (!fcoe || !ddp) i40e_fcoe_ddp_put()
286 if (!pf->hw.func_caps.fcoe) { i40e_init_pf_fcoe()
428 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_enable() local
440 atomic_inc(&fcoe->refcnt); i40e_fcoe_enable()
457 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_disable() local
466 if (!atomic_dec_and_test(&fcoe->refcnt)) i40e_fcoe_disable()
476 * @fcoe: the FCoE sw object
481 static void i40e_fcoe_dma_pool_free(struct i40e_fcoe *fcoe, i40e_fcoe_dma_pool_free() argument
487 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, cpu); i40e_fcoe_dma_pool_free()
498 * @fcoe: the FCoE sw object
505 static int i40e_fcoe_dma_pool_create(struct i40e_fcoe *fcoe, i40e_fcoe_dma_pool_create() argument
513 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, cpu); i40e_fcoe_dma_pool_create()
537 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_free_ddp_resources() local
545 if (!fcoe->ddp_pool) i40e_fcoe_free_ddp_resources()
552 i40e_fcoe_dma_pool_free(fcoe, &pf->pdev->dev, cpu); i40e_fcoe_free_ddp_resources()
554 free_percpu(fcoe->ddp_pool); i40e_fcoe_free_ddp_resources()
555 fcoe->ddp_pool = NULL; i40e_fcoe_free_ddp_resources()
572 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_setup_ddp_resources() local
580 if (fcoe->ddp_pool) i40e_fcoe_setup_ddp_resources()
584 fcoe->ddp_pool = alloc_percpu(struct i40e_fcoe_ddp_pool); i40e_fcoe_setup_ddp_resources()
585 if (!fcoe->ddp_pool) { i40e_fcoe_setup_ddp_resources()
592 if (!i40e_fcoe_dma_pool_create(fcoe, dev, cpu)) for_each_possible_cpu()
602 i40e_fcoe_ddp_clear(&fcoe->ddp[i]);
623 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_handle_status() local
639 ddp = &fcoe->ddp[xid]; i40e_fcoe_handle_status()
694 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_handle_offload() local
739 ddp = &fcoe->ddp[xid]; i40e_fcoe_handle_offload()
758 /* fcoe param is valid by now with correct DDPed length */ i40e_fcoe_handle_offload()
823 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_ddp_setup() local
846 ddp = &fcoe->ddp[xid]; i40e_fcoe_ddp_setup()
854 if (!fcoe->ddp_pool) { i40e_fcoe_ddp_setup()
859 ddp_pool = per_cpu_ptr(fcoe->ddp_pool, get_cpu()); i40e_fcoe_ddp_setup()
1147 struct i40e_fcoe *fcoe = &pf->fcoe; i40e_fcoe_handle_ddp() local
1163 ddp = &fcoe->ddp[xid]; i40e_fcoe_handle_ddp()
1172 ddp = &fcoe->ddp[xid]; i40e_fcoe_handle_ddp()
1181 ddp = &fcoe->ddp[xid]; i40e_fcoe_handle_ddp()
1350 * @netdev: the fcoe netdev
1474 /* fcoe network device type */
1476 .name = "fcoe",
1509 strlcpy(netdev->name, "fcoe%d", IFNAMSIZ-1); i40e_fcoe_config_netdev()
1529 /* fcoe netdev ops */ i40e_fcoe_config_netdev()
H A Di40e.h262 u16 num_fcoe_qps; /* num fcoe queues this PF has set up */
263 u16 num_fcoe_msix; /* num queue vectors per fcoe pool */
344 struct i40e_fcoe fcoe; member in struct:i40e_pf
H A Di40e_type.h248 bool fcoe; member in struct:i40e_hw_capabilities
H A Di40e_common.c2883 p->fcoe = true; i40e_parse_discover_capabilities()
2964 if (p->fcoe) i40e_parse_discover_capabilities()
2971 p->fcoe = false; i40e_parse_discover_capabilities()
H A Di40e_main.c6545 #define DEF_NUM_VSI (1 + (pf->hw.func_caps.fcoe ? 1 : 0) \ i40e_get_capabilities()
10078 dev_dbg(&pf->pdev->dev, "fcoe queues = %d\n", pf->num_fcoe_qps); i40e_determine_queue_usage()
/linux-4.4.14/drivers/scsi/
H A DMakefile39 obj-$(CONFIG_LIBFCOE) += fcoe/
40 obj-$(CONFIG_FCOE) += fcoe/
43 obj-$(CONFIG_SCSI_BNX2X_FCOE) += libfc/ fcoe/ bnx2fc/
/linux-4.4.14/drivers/scsi/fnic/
H A Dcq_enet_desc.h95 u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, cq_enet_rq_desc_dec()
112 *fcoe = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_FCOE) ? cq_enet_rq_desc_dec()
135 if (*fcoe) { cq_enet_rq_desc_dec()
93 cq_enet_rq_desc_dec(struct cq_enet_rq_desc *desc, u8 *type, u8 *color, u16 *q_number, u16 *completed_index, u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, u8 *csum_not_calc, u32 *rss_hash, u16 *bytes_written, u8 *packet_error, u8 *vlan_stripped, u16 *vlan, u16 *checksum, u8 *fcoe_sof, u8 *fcoe_fc_crc_ok, u8 *fcoe_enc_error, u8 *fcoe_eof, u8 *tcp_udp_csum_ok, u8 *udp, u8 *tcp, u8 *ipv4_csum_ok, u8 *ipv6, u8 *ipv4, u8 *ipv4_fragment, u8 *fcs_ok) cq_enet_rq_desc_dec() argument
H A Dfnic_fcs.c552 /* pass it on to fcoe */ fnic_fcoe_handle_fip_frame()
561 /* pass it on to fcoe */ fnic_fcoe_handle_fip_frame()
801 u8 fcoe = 0, fcoe_sof, fcoe_eof; fnic_rq_cmpl_frame_recv() local
837 &ingress_port, &fcoe, &eop, &sop, fnic_rq_cmpl_frame_recv()
867 "fnic rq_cmpl fcoe x%x fcsok x%x" fnic_rq_cmpl_frame_recv()
870 fcoe, fcs_ok, packet_error, fnic_rq_cmpl_frame_recv()
1283 * indicate a link down to fcoe so that all fcf's are free'd fnic_fcoe_reset_vlans()
H A Dfnic_trace.c622 /* During the receive path, we do not have eth hdr as well as fcoe hdr fnic_fc_trace_set_data()
/linux-4.4.14/drivers/net/ethernet/cisco/enic/
H A Dcq_enet_desc.h106 u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, cq_enet_rq_desc_dec()
127 *fcoe = (completed_index_flags & CQ_ENET_RQ_DESC_FLAGS_FCOE) ? cq_enet_rq_desc_dec()
153 if (*fcoe) { cq_enet_rq_desc_dec()
104 cq_enet_rq_desc_dec(struct cq_enet_rq_desc *desc, u8 *type, u8 *color, u16 *q_number, u16 *completed_index, u8 *ingress_port, u8 *fcoe, u8 *eop, u8 *sop, u8 *rss_type, u8 *csum_not_calc, u32 *rss_hash, u16 *bytes_written, u8 *packet_error, u8 *vlan_stripped, u16 *vlan_tci, u16 *checksum, u8 *fcoe_sof, u8 *fcoe_fc_crc_ok, u8 *fcoe_enc_error, u8 *fcoe_eof, u8 *tcp_udp_csum_ok, u8 *udp, u8 *tcp, u8 *ipv4_csum_ok, u8 *ipv6, u8 *ipv4, u8 *ipv4_fragment, u8 *fcs_ok) cq_enet_rq_desc_dec() argument
H A Denic_main.c1114 u8 fcoe, fcoe_sof, fcoe_fc_crc_ok, fcoe_enc_error, fcoe_eof; enic_rq_indicate_buf() local
1128 &ingress_port, &fcoe, &eop, &sop, &rss_type, enic_rq_indicate_buf()
/linux-4.4.14/drivers/scsi/bnx2fc/
H A Dbnx2fc_debug.h22 #define LOG_MISC 0x10 /* fcoe L2 frame related logs*/
H A Dbnx2fc_fcoe.c119 struct bnx2fc_interface *fcoe = fcoe_ctlr_priv(ctlr); bnx2fc_fcf_get_vlan_id() local
121 fcf_dev->vlan_id = fcoe->vlan_id; bnx2fc_fcf_get_vlan_id()
343 /* adjust skb network/transport offsets to match mac/fcoe/port */ bnx2fc_xmit()
351 /* fill up mac and fcoe headers */ bnx2fc_xmit()
371 /* fcoe lso, mss is in max_payload which is non-zero for FCP data */ bnx2fc_xmit()
2359 * Called from fcoe transport
2477 * bnx2fc_fcoe_reset - Resets the fcoe
2580 * This creates or destroys per-CPU data for fcoe
2622 /* register as a fcoe transport */ bnx2fc_mod_init()
2625 printk(KERN_ERR "failed to register an fcoe transport, check " bnx2fc_mod_init()
2758 /* detach from fcoe transport */
H A D57xx_hsi_bnx2fc.h791 * fcoe rx doorbell message sent to the chip $$KEEP_ENDIANNESS$$
H A Dbnx2fc_hwi.c71 printk(KERN_ERR PFX "hba->cnic NULL during fcoe fw init\n"); bnx2fc_send_fw_fcoe_init_msg()
/linux-4.4.14/include/scsi/
H A Dlibfcoe.h284 * id table for FCoE drivers so we use the following helper for build the fcoe
288 MODULE_ALIAS("fcoe-pci:" \
292 /* the name of the default FCoE transport driver fcoe.ko */
293 #define FCOE_TRANSPORT_DEFAULT "fcoe"
337 * @priv: The associated fcoe interface. The structure is
396 /* fcoe transports registration and deregistration */
/linux-4.4.14/drivers/scsi/csiostor/
H A Dt4fw_api_stor.h219 } fcoe; member in union:fw_scsi_write_wr::fw_scsi_write_priv
245 } fcoe; member in union:fw_scsi_read_wr::fw_scsi_read_priv
271 } fcoe; member in union:fw_scsi_cmd_wr::fw_scsi_cmd_priv
H A Dcsio_scsi.c230 wr->u.fcoe.ctl_pri = 0; csio_scsi_init_cmd_wr()
231 wr->u.fcoe.cp_en_class = 0; csio_scsi_init_cmd_wr()
232 wr->u.fcoe.r4_lo[0] = 0; csio_scsi_init_cmd_wr()
233 wr->u.fcoe.r4_lo[1] = 0; csio_scsi_init_cmd_wr()
389 wr->u.fcoe.ctl_pri = 0; csio_scsi_init_read_wr()
390 wr->u.fcoe.cp_en_class = 0; csio_scsi_init_read_wr()
391 wr->u.fcoe.r3_lo[0] = 0; csio_scsi_init_read_wr()
392 wr->u.fcoe.r3_lo[1] = 0; csio_scsi_init_read_wr()
442 wr->u.fcoe.ctl_pri = 0; csio_scsi_init_write_wr()
443 wr->u.fcoe.cp_en_class = 0; csio_scsi_init_write_wr()
444 wr->u.fcoe.r3_lo[0] = 0; csio_scsi_init_write_wr()
445 wr->u.fcoe.r3_lo[1] = 0; csio_scsi_init_write_wr()
H A Dcsio_lnode.c693 * csio_fcoe_enable_link - Enable fcoe link.
866 csio_err(hw, "failed to lookup fcoe lnode on port:%d\n", csio_handle_link_up()
880 "failed to allocate fcoe lnode" csio_handle_link_up()
H A Dcsio_hw.h283 /* fcoe resource information */
H A Dcsio_hw.c1475 * csio_get_fcoe_resinfo - Read fcoe fw resource info.
1833 SAME_INTF(ri) && SAME_INTF(iscsi) && SAME_INTF(fcoe)) fw_compatible()
2196 csio_err(hw, "Failed to read fcoe resource info: %d\n", rv); csio_hw_initialize()
/linux-4.4.14/drivers/net/ethernet/qlogic/qlcnic/
H A Dqlcnic_ctx.c958 u16 nic = 0, fcoe = 0, iscsi = 0; qlcnic_82xx_get_pci_info() local
989 &nic, &fcoe, &iscsi); qlcnic_82xx_get_pci_info()
1005 ahw->total_pci_func = nic + fcoe + iscsi; qlcnic_82xx_get_pci_info()
H A Dqlcnic_83xx_hw.c2463 u16 *nic, u16 *fcoe, u16 *iscsi) qlcnic_get_pci_func_type()
2473 (*fcoe)++; qlcnic_get_pci_func_type()
2492 u16 nic = 0, fcoe = 0, iscsi = 0; qlcnic_83xx_get_pci_info() local
2516 &nic, &fcoe, &iscsi); qlcnic_83xx_get_pci_info()
2535 ahw->total_pci_func = nic + fcoe + iscsi; qlcnic_83xx_get_pci_info()
2462 qlcnic_get_pci_func_type(struct qlcnic_adapter *adapter, u16 type, u16 *nic, u16 *fcoe, u16 *iscsi) qlcnic_get_pci_func_type() argument
/linux-4.4.14/net/core/
H A Dethtool.c83 [NETIF_F_FSO_BIT] = "tx-fcoe-segmentation",
89 [NETIF_F_FCOE_CRC_BIT] = "tx-checksum-fcoe-crc",
91 [NETIF_F_FCOE_MTU_BIT] = "fcoe-mtu",
/linux-4.4.14/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_stats.c1496 offsetof(struct bnx2x_fw_stats_data, fcoe); bnx2x_prep_fw_stats_req()
1719 &bp->fw_stats_data->fcoe; bnx2x_afex_collect_stats()
H A Dbnx2x.h1378 struct fcoe_statistics_params fcoe; member in struct:bnx2x_fw_stats_data
2063 * if FCOE l2 support is disabled and this is the fcoe L2 queue
2068 * if FCOE l2 support is disabled and this is the fcoe L2 queue
H A Dbnx2x_ethtool.c33 * either its index or 'fcoe' for the fcoe queue. Make sure the format string
3076 * fcoe L2 queue if not disabled
H A Dbnx2x_cmn.c2000 /* account for fcoe queue */ bnx2x_set_real_num_queues()
2257 * 1 for port stats + 1 for PF stats + potential 2 for FCoE (fcoe proper bnx2x_alloc_fw_stats_mem()
2258 * and fcoe l2 queue) stats + num of queues (which includes another 1 bnx2x_alloc_fw_stats_mem()
2259 * for fcoe l2 queue if applicable) bnx2x_alloc_fw_stats_mem()
H A Dbnx2x_sriov.c1882 /* fcoe adds one global request and one queue request */ bnx2x_iov_adjust_stats_req()
H A Dbnx2x_main.c3432 &bp->fw_stats_data->fcoe; bnx2x_drv_info_fcoe_stat()
6458 DP(NETIF_MSG_IFUP, "created fcoe tx data (fp index %d)\n", fp->index); bnx2x_init_fcoe_fp()
14736 /* if reached here - should write fcoe capabilities */ bnx2x_drv_ctl()
/linux-4.4.14/drivers/net/ethernet/broadcom/
H A Dcnic_defs.h698 * The fcoe extra aggregative context section of Tstorm
774 * The fcoe aggregative context of Tstorm
1052 * The fcoe aggregative context of Ustorm
1338 * The fcoe aggregative context section of Xstorm
1479 * The fcoe aggregative context of Xstorm
3666 struct xstorm_fcoe_context_section fcoe; member in struct:xstorm_fcoe_st_context
/linux-4.4.14/drivers/scsi/qla2xxx/
H A Dqla_init.c549 /* Set our fcoe function presence */ qla83xx_nic_core_fw_load()
4347 * Prepare drv-presence mask based on fcoe functions present. qla83xx_reset_ownership()
4348 * However consider only valid physical fcoe function numbers (0-15). qla83xx_reset_ownership()
4356 * - This is the lowest among fcoe functions. */ qla83xx_reset_ownership()
4764 "Clearing fcoe driver presence.\n"); qla2x00_abort_isp()
4880 "Setting back fcoe driver presence.\n"); qla2x00_abort_isp()
H A Dqla_os.c3115 "Clearing fcoe driver presence.\n"); qla2x00_remove_one()
/linux-4.4.14/drivers/net/ethernet/intel/i40evf/
H A Di40e_common.c972 hw->dev_caps.fcoe = (msg->vf_offload_flags & i40e_vf_parse_hw_config()
H A Di40e_type.h248 bool fcoe; member in struct:i40e_hw_capabilities
/linux-4.4.14/drivers/scsi/bfa/
H A Dbfa_defs_svc.h682 struct bfa_fcoe_stats_s fcoe; member in union:bfa_fcport_stats_u
H A Dbfa_svc.c3375 bfa_fcport_fcoe_stats_swap(&ret->fcoe, __bfa_cb_fcport_stats_get()
3376 &fcport->stats->fcoe); __bfa_cb_fcport_stats_get()
3377 ret->fcoe.secs_reset = __bfa_cb_fcport_stats_get()
/linux-4.4.14/drivers/scsi/lpfc/
H A Dlpfc_hbadisc.c1666 * lpfc_check_pending_fcoe_event - Check if there is pending fcoe event.
1670 * This function check if there is any fcoe event pending while driver
H A Dlpfc_init.c4322 * @acqe_link: pointer to the async fcoe completion queue entry.
4324 * This routine is to handle the SLI4 asynchronous fcoe event.
9287 * lpfc_sli4_hba_unset - Unset the fcoe hba
H A Dlpfc_hw.h2783 #define DMP_REGION_23 0x17 /* fcoe param and port state region */
H A Dlpfc_attr.c529 return snprintf(buf, PAGE_SIZE, "fcoe\n"); lpfc_sli4_protocol_show()
H A Dlpfc_sli.c4760 * lpfc_sli4_read_fcoe_params - Read fcoe params from conf region

Completed in 2176 milliseconds