/Linux-v5.10/drivers/net/ethernet/cisco/enic/ |
D | enic_main.c | 114 static void enic_init_affinity_hint(struct enic *enic) in enic_init_affinity_hint() argument 116 int numa_node = dev_to_node(&enic->pdev->dev); in enic_init_affinity_hint() 119 for (i = 0; i < enic->intr_count; i++) { in enic_init_affinity_hint() 120 if (enic_is_err_intr(enic, i) || enic_is_notify_intr(enic, i) || in enic_init_affinity_hint() 121 (cpumask_available(enic->msix[i].affinity_mask) && in enic_init_affinity_hint() 122 !cpumask_empty(enic->msix[i].affinity_mask))) in enic_init_affinity_hint() 124 if (zalloc_cpumask_var(&enic->msix[i].affinity_mask, in enic_init_affinity_hint() 127 enic->msix[i].affinity_mask); in enic_init_affinity_hint() 131 static void enic_free_affinity_hint(struct enic *enic) in enic_free_affinity_hint() argument 135 for (i = 0; i < enic->intr_count; i++) { in enic_free_affinity_hint() [all …]
|
D | enic_dev.c | 28 int enic_dev_fw_info(struct enic *enic, struct vnic_devcmd_fw_info **fw_info) in enic_dev_fw_info() argument 32 spin_lock_bh(&enic->devcmd_lock); in enic_dev_fw_info() 33 err = vnic_dev_fw_info(enic->vdev, fw_info); in enic_dev_fw_info() 34 spin_unlock_bh(&enic->devcmd_lock); in enic_dev_fw_info() 39 int enic_dev_stats_dump(struct enic *enic, struct vnic_stats **vstats) in enic_dev_stats_dump() argument 43 spin_lock_bh(&enic->devcmd_lock); in enic_dev_stats_dump() 44 err = vnic_dev_stats_dump(enic->vdev, vstats); in enic_dev_stats_dump() 45 spin_unlock_bh(&enic->devcmd_lock); in enic_dev_stats_dump() 50 int enic_dev_add_station_addr(struct enic *enic) in enic_dev_add_station_addr() argument 54 if (!is_valid_ether_addr(enic->netdev->dev_addr)) in enic_dev_add_station_addr() [all …]
|
D | enic_res.c | 42 int enic_get_vnic_config(struct enic *enic) in enic_get_vnic_config() argument 44 struct vnic_enet_config *c = &enic->config; in enic_get_vnic_config() 47 err = vnic_dev_get_mac_addr(enic->vdev, enic->mac_addr); in enic_get_vnic_config() 49 dev_err(enic_get_dev(enic), in enic_get_vnic_config() 56 err = vnic_dev_spec(enic->vdev, \ in enic_get_vnic_config() 60 dev_err(enic_get_dev(enic), \ in enic_get_vnic_config() 95 vnic_dev_get_intr_coal_timer_max(enic->vdev)); in enic_get_vnic_config() 97 dev_info(enic_get_dev(enic), in enic_get_vnic_config() 99 enic->mac_addr, c->wq_desc_count, c->rq_desc_count, c->mtu); in enic_get_vnic_config() 101 dev_info(enic_get_dev(enic), "vNIC csum tx/rx %s/%s " in enic_get_vnic_config() [all …]
|
D | enic_dev.h | 29 #define ENIC_DEVCMD_PROXY_BY_INDEX(vf, err, enic, vnicdevcmdfn, ...) \ argument 31 spin_lock_bh(&enic->devcmd_lock); \ 32 if (enic_is_valid_vf(enic, vf)) { \ 33 vnic_dev_cmd_proxy_by_index_start(enic->vdev, vf); \ 34 err = vnicdevcmdfn(enic->vdev, ##__VA_ARGS__); \ 35 vnic_dev_cmd_proxy_end(enic->vdev); \ 37 err = vnicdevcmdfn(enic->vdev, ##__VA_ARGS__); \ 39 spin_unlock_bh(&enic->devcmd_lock); \ 42 int enic_dev_fw_info(struct enic *enic, struct vnic_devcmd_fw_info **fw_info); 43 int enic_dev_stats_dump(struct enic *enic, struct vnic_stats **vstats); [all …]
|
D | enic.h | 145 struct enic { struct 206 struct enic *enic = vdev->priv; in vnic_get_netdev() argument 208 return enic->netdev; in vnic_get_netdev() 227 static inline struct device *enic_get_dev(struct enic *enic) in enic_get_dev() argument 229 return &(enic->pdev->dev); in enic_get_dev() 232 static inline unsigned int enic_cq_rq(struct enic *enic, unsigned int rq) in enic_cq_rq() argument 237 static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq) in enic_cq_wq() argument 239 return enic->rq_count + wq; in enic_cq_wq() 257 static inline unsigned int enic_msix_rq_intr(struct enic *enic, in enic_msix_rq_intr() argument 260 return enic->cq[enic_cq_rq(enic, rq)].interrupt_offset; in enic_msix_rq_intr() [all …]
|
D | enic_clsf.c | 21 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq) in enic_addfltr_5t() argument 44 spin_lock_bh(&enic->devcmd_lock); in enic_addfltr_5t() 45 res = vnic_dev_classifier(enic->vdev, CLSF_ADD, &rq, &data); in enic_addfltr_5t() 46 spin_unlock_bh(&enic->devcmd_lock); in enic_addfltr_5t() 59 int enic_delfltr(struct enic *enic, u16 filter_id) in enic_delfltr() argument 63 spin_lock_bh(&enic->devcmd_lock); in enic_delfltr() 64 ret = vnic_dev_classifier(enic->vdev, CLSF_DEL, &filter_id, NULL); in enic_delfltr() 65 spin_unlock_bh(&enic->devcmd_lock); in enic_delfltr() 73 void enic_rfs_flw_tbl_init(struct enic *enic) in enic_rfs_flw_tbl_init() argument 77 spin_lock_init(&enic->rfs_h.lock); in enic_rfs_flw_tbl_init() [all …]
|
D | enic_pp.c | 38 int enic_is_valid_pp_vf(struct enic *enic, int vf, int *err) in enic_is_valid_pp_vf() argument 42 if (enic_sriov_enabled(enic)) { in enic_is_valid_pp_vf() 43 if (vf < 0 || vf >= enic->num_vfs) { in enic_is_valid_pp_vf() 57 if (vf == PORT_SELF_VF && !enic_is_dynamic(enic)) { in enic_is_valid_pp_vf() 69 static int enic_set_port_profile(struct enic *enic, int vf) in enic_set_port_profile() argument 71 struct net_device *netdev = enic->netdev; in enic_set_port_profile() 81 ENIC_PP_BY_INDEX(enic, vf, pp, &err); in enic_set_port_profile() 135 ENIC_DEVCMD_PROXY_BY_INDEX(vf, err, enic, vnic_dev_init_prov2, (u8 *)vp, in enic_set_port_profile() 145 static int enic_unset_port_profile(struct enic *enic, int vf) in enic_unset_port_profile() argument 149 ENIC_DEVCMD_PROXY_BY_INDEX(vf, err, enic, vnic_dev_deinit); in enic_unset_port_profile() [all …]
|
D | enic_ethtool.c | 96 static void enic_intr_coal_set_rx(struct enic *enic, u32 timer) in enic_intr_coal_set_rx() argument 101 for (i = 0; i < enic->rq_count; i++) { in enic_intr_coal_set_rx() 102 intr = enic_msix_rq_intr(enic, i); in enic_intr_coal_set_rx() 103 vnic_intr_coalescing_timer_set(&enic->intr[intr], timer); in enic_intr_coal_set_rx() 110 struct enic *enic = netdev_priv(netdev); in enic_get_ksettings() local 122 base->speed = vnic_dev_port_speed(enic->vdev); in enic_get_ksettings() 137 struct enic *enic = netdev_priv(netdev); in enic_get_drvinfo() local 141 err = enic_dev_fw_info(enic, &fw_info); in enic_get_drvinfo() 152 strlcpy(drvinfo->bus_info, pci_name(enic->pdev), in enic_get_drvinfo() 182 struct enic *enic = netdev_priv(netdev); in enic_get_ringparam() local [all …]
|
D | enic_clsf.h | 10 int enic_addfltr_5t(struct enic *enic, struct flow_keys *keys, u16 rq); 11 int enic_delfltr(struct enic *enic, u16 filter_id); 12 void enic_rfs_flw_tbl_init(struct enic *enic); 13 void enic_rfs_flw_tbl_free(struct enic *enic); 14 struct enic_rfs_fltr_node *htbl_fltr_search(struct enic *enic, u16 fltr_id); 21 static inline void enic_rfs_timer_start(struct enic *enic) in enic_rfs_timer_start() argument 23 timer_setup(&enic->rfs_h.rfs_may_expire, enic_flow_may_expire, 0); in enic_rfs_timer_start() 24 mod_timer(&enic->rfs_h.rfs_may_expire, jiffies + HZ/4); in enic_rfs_timer_start() 27 static inline void enic_rfs_timer_stop(struct enic *enic) in enic_rfs_timer_stop() argument 29 del_timer_sync(&enic->rfs_h.rfs_may_expire); in enic_rfs_timer_stop() [all …]
|
D | enic_res.h | 41 #define ENIC_SETTING(enic, f) ((enic->config.flags & VENETF_##f) ? 1 : 0) argument 138 struct enic; 140 int enic_get_vnic_config(struct enic *); 141 int enic_add_vlan(struct enic *enic, u16 vlanid); 142 int enic_del_vlan(struct enic *enic, u16 vlanid); 143 int enic_set_nic_cfg(struct enic *enic, u8 rss_default_cpu, u8 rss_hash_type, 146 int enic_set_rss_key(struct enic *enic, dma_addr_t key_pa, u64 len); 147 int enic_set_rss_cpu(struct enic *enic, dma_addr_t cpu_pa, u64 len); 148 void enic_get_res_counts(struct enic *enic); 149 void enic_init_vnic_resources(struct enic *enic); [all …]
|
D | enic_pp.h | 22 #define ENIC_PP_BY_INDEX(enic, vf, pp, err) \ argument 24 if (enic_is_valid_pp_vf(enic, vf, err)) \ 25 pp = (vf == PORT_SELF_VF) ? enic->pp : enic->pp + vf; \ 30 int enic_process_set_pp_request(struct enic *enic, int vf, 32 int enic_process_get_pp_request(struct enic *enic, int vf, 34 int enic_is_valid_pp_vf(struct enic *enic, int vf, int *err);
|
D | enic_api.c | 33 struct enic *enic = netdev_priv(netdev); in enic_api_devcmd_proxy_by_index() local 34 struct vnic_dev *vdev = enic->vdev; in enic_api_devcmd_proxy_by_index() 36 spin_lock(&enic->enic_api_lock); in enic_api_devcmd_proxy_by_index() 37 while (enic->enic_api_busy) { in enic_api_devcmd_proxy_by_index() 38 spin_unlock(&enic->enic_api_lock); in enic_api_devcmd_proxy_by_index() 40 spin_lock(&enic->enic_api_lock); in enic_api_devcmd_proxy_by_index() 43 spin_lock_bh(&enic->devcmd_lock); in enic_api_devcmd_proxy_by_index() 49 spin_unlock_bh(&enic->devcmd_lock); in enic_api_devcmd_proxy_by_index() 50 spin_unlock(&enic->enic_api_lock); in enic_api_devcmd_proxy_by_index()
|
D | Makefile | 2 obj-$(CONFIG_ENIC) := enic.o 4 enic-y := enic_main.o vnic_cq.o vnic_intr.o vnic_wq.o \
|
/Linux-v5.10/drivers/net/ethernet/cisco/ |
D | Makefile | 6 obj-$(CONFIG_ENIC) += enic/
|
D | Kconfig | 20 source "drivers/net/ethernet/cisco/enic/Kconfig"
|
/Linux-v5.10/drivers/infiniband/hw/usnic/ |
D | Makefile | 2 ccflags-y := -I $(srctree)/drivers/net/ethernet/cisco/enic
|
/Linux-v5.10/ |
D | MAINTAINERS | 4275 F: drivers/net/ethernet/cisco/enic/
|