/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
D | ingress_ofld.c | 43 if (vport->ingress.offloads.modify_metadata_rule) { in esw_acl_ingress_prio_tag_create() 45 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_prio_tag_create() 82 vport->ingress.offloads.modify_metadata = in esw_acl_ingress_mod_metadata_create() 85 if (IS_ERR(vport->ingress.offloads.modify_metadata)) { in esw_acl_ingress_mod_metadata_create() 86 err = PTR_ERR(vport->ingress.offloads.modify_metadata); in esw_acl_ingress_mod_metadata_create() 94 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_mod_metadata_create() 95 vport->ingress.offloads.modify_metadata_rule = in esw_acl_ingress_mod_metadata_create() 98 if (IS_ERR(vport->ingress.offloads.modify_metadata_rule)) { in esw_acl_ingress_mod_metadata_create() 99 err = PTR_ERR(vport->ingress.offloads.modify_metadata_rule); in esw_acl_ingress_mod_metadata_create() 103 mlx5_modify_header_dealloc(esw->dev, vport->ingress.offloads.modify_metadata); in esw_acl_ingress_mod_metadata_create() [all …]
|
D | egress_ofld.c | 11 if (!vport->egress.offloads.fwd_rule) in esw_acl_egress_ofld_fwd2vport_destroy() 14 mlx5_del_flow_rules(vport->egress.offloads.fwd_rule); in esw_acl_egress_ofld_fwd2vport_destroy() 15 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_destroy() 20 if (!vport->egress.offloads.bounce_rule) in esw_acl_egress_ofld_bounce_rule_destroy() 23 mlx5_del_flow_rules(vport->egress.offloads.bounce_rule); in esw_acl_egress_ofld_bounce_rule_destroy() 24 vport->egress.offloads.bounce_rule = NULL; in esw_acl_egress_ofld_bounce_rule_destroy() 42 vport->egress.offloads.fwd_rule = in esw_acl_egress_ofld_fwd2vport_create() 45 if (IS_ERR(vport->egress.offloads.fwd_rule)) { in esw_acl_egress_ofld_fwd2vport_create() 46 err = PTR_ERR(vport->egress.offloads.fwd_rule); in esw_acl_egress_ofld_fwd2vport_create() 50 vport->egress.offloads.fwd_rule = NULL; in esw_acl_egress_ofld_fwd2vport_create() [all …]
|
/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch_offloads.c | 54 xa_for_each(&((esw)->offloads.vport_reps), i, rep) 57 xa_for_each_marked(&((esw)->offloads.vport_reps), i, rep, MLX5_ESW_VPT_SF) 60 mlx5_esw_for_each_entry_marked(&((esw)->offloads.vport_reps), index, \ 81 return xa_load(&esw->offloads.vport_reps, vport_num); in mlx5_eswitch_get_rep() 575 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_offloaded_rule() 655 atomic64_inc(&esw->offloads.num_flows); in mlx5_eswitch_add_fwd_rule() 688 atomic64_dec(&esw->offloads.num_flows); in __mlx5_eswitch_del_rule() 800 struct offloads_fdb *offloads = &esw->fdb_table.offloads; in mlx5_eswitch_add_vlan_action() local 838 if (!(offloads->vlan_push_pop_refcount)) { in mlx5_eswitch_add_vlan_action() 844 offloads->vlan_push_pop_refcount++; in mlx5_eswitch_add_vlan_action() [all …]
|
D | eswitch_offloads_termtbl.c | 122 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 124 hash_for_each_possible(esw->offloads.termtbl_tbl, tt, in mlx5_eswitch_termtbl_get_create() 151 hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key); in mlx5_eswitch_termtbl_get_create() 154 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 158 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 166 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put() 169 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put()
|
D | eswitch.c | 1577 mutex_init(&esw->offloads.encap_tbl_lock); in mlx5_eswitch_init() 1578 hash_init(esw->offloads.encap_tbl); in mlx5_eswitch_init() 1579 mutex_init(&esw->offloads.decap_tbl_lock); in mlx5_eswitch_init() 1580 hash_init(esw->offloads.decap_tbl); in mlx5_eswitch_init() 1581 mlx5e_mod_hdr_tbl_init(&esw->offloads.mod_hdr); in mlx5_eswitch_init() 1582 atomic64_set(&esw->offloads.num_flows, 0); in mlx5_eswitch_init() 1583 ida_init(&esw->offloads.vport_metadata_ida); in mlx5_eswitch_init() 1584 xa_init_flags(&esw->offloads.vhca_map, XA_FLAGS_ALLOC); in mlx5_eswitch_init() 1592 esw->offloads.inline_mode = MLX5_INLINE_MODE_NONE; in mlx5_eswitch_init() 1595 esw->offloads.encap = DEVLINK_ESWITCH_ENCAP_MODE_BASIC; in mlx5_eswitch_init() [all …]
|
D | Kconfig | 78 Switchdev mode (eswitch offloads). 85 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE). 95 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT), 102 If set to N, TC offloads in both NIC and switchdev modes will be disabled. 140 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" 143 MLX5 IPoIB offloads & acceleration support.
|
D | eswitch.h | 83 ((esw)->fdb_table.offloads.esw_chains_priv) 115 } offloads; member 133 } offloads; member 227 } offloads; member 315 struct mlx5_esw_offload offloads; member
|
D | en_tc.c | 407 &esw->offloads.mod_hdr : in get_mod_hdr_table() 1597 mutex_lock(&esw->offloads.peer_mutex); in __mlx5e_tc_del_fdb_peer_flow() 1599 mutex_unlock(&esw->offloads.peer_mutex); in __mlx5e_tc_del_fdb_peer_flow() 2628 (esw->offloads.inline_mode != MLX5_INLINE_MODE_NONE && in parse_cls_flower() 2629 esw->offloads.inline_mode < non_tunnel_match_level)) { in parse_cls_flower() 2634 non_tunnel_match_level, esw->offloads.inline_mode); in parse_cls_flower() 4462 mutex_lock(&esw->offloads.peer_mutex); in mlx5e_tc_add_fdb_peer_flow() 4463 list_add_tail(&flow->peer, &esw->offloads.peer_flows); in mlx5e_tc_add_fdb_peer_flow() 4464 mutex_unlock(&esw->offloads.peer_mutex); in mlx5e_tc_add_fdb_peer_flow() 5133 &esw->offloads.mod_hdr, in mlx5e_tc_esw_init() [all …]
|
/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | tc_tun_encap.c | 373 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value() 390 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_tc_update_neigh_used_value() 448 if (!refcount_dec_and_mutex_lock(&e->refcnt, &esw->offloads.encap_tbl_lock)) in mlx5e_encap_put() 452 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_encap_put() 461 if (!refcount_dec_and_mutex_lock(&d->refcnt, &esw->offloads.decap_tbl_lock)) in mlx5e_decap_put() 464 mutex_unlock(&esw->offloads.decap_tbl_lock); in mlx5e_decap_put() 487 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 491 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 496 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_detach_encap() 510 mutex_lock(&esw->offloads.decap_tbl_lock); in mlx5e_detach_decap() [all …]
|
/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | vporttbl.c | 65 hash_for_each_possible(esw->fdb_table.offloads.vports.table, e, hlist, key) in esw_vport_tbl_lookup() 82 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 110 hash_add(esw->fdb_table.offloads.vports.table, &e->hlist, hkey); in mlx5_esw_vporttbl_get() 112 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 118 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_get() 129 mutex_lock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put() 139 mutex_unlock(&esw->fdb_table.offloads.vports.lock); in mlx5_esw_vporttbl_put()
|
D | indir_table.c | 428 hash_add(esw->fdb_table.offloads.indir->table, &e->hlist, in mlx5_esw_indir_table_entry_create() 451 hash_for_each_possible(esw->fdb_table.offloads.indir->table, e, hlist, key) in mlx5_esw_indir_table_entry_lookup() 466 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 484 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 488 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_get() 498 mutex_lock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put() 518 mutex_unlock(&esw->fdb_table.offloads.indir->lock); in mlx5_esw_indir_table_put()
|
D | devlink_port.c | 42 controller_num = dev->priv.eswitch->offloads.host_number + 1; in mlx5_esw_dl_port_alloc()
|
/drivers/net/hyperv/ |
D | rndis_filter.c | 1349 struct ndis_offload_params offloads; in rndis_netdev_set_hwcaps() local 1359 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in rndis_netdev_set_hwcaps() 1362 offloads.ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED; in rndis_netdev_set_hwcaps() 1378 offloads.tcp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1381 offloads.lso_v2_ipv4 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1389 offloads.udp_ip_v4_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1397 offloads.tcp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1402 offloads.lso_v2_ipv6 = NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED; in rndis_netdev_set_hwcaps() 1410 offloads.udp_ip_v6_csum = NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED; in rndis_netdev_set_hwcaps() 1419 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in rndis_netdev_set_hwcaps() [all …]
|
D | netvsc_drv.c | 1949 struct ndis_offload_params offloads; in netvsc_set_features() local 1958 memset(&offloads, 0, sizeof(struct ndis_offload_params)); in netvsc_set_features() 1961 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1962 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED; in netvsc_set_features() 1964 offloads.rsc_ip_v4 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1965 offloads.rsc_ip_v6 = NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED; in netvsc_set_features() 1968 ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads); in netvsc_set_features()
|
/drivers/net/ |
D | virtio_net.c | 178 __virtio64 offloads; member 2536 static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) in virtnet_set_guest_offloads() argument 2539 vi->ctrl->offloads = cpu_to_virtio64(vi->vdev, offloads); in virtnet_set_guest_offloads() 2541 sg_init_one(&sg, &vi->ctrl->offloads, sizeof(vi->ctrl->offloads)); in virtnet_set_guest_offloads() 2554 u64 offloads = 0; in virtnet_clear_guest_offloads() local 2559 return virtnet_set_guest_offloads(vi, offloads); in virtnet_clear_guest_offloads() 2564 u64 offloads = vi->guest_offloads; in virtnet_restore_guest_offloads() local 2569 return virtnet_set_guest_offloads(vi, offloads); in virtnet_restore_guest_offloads() 2715 u64 offloads; in virtnet_set_features() local 2723 offloads = vi->guest_offloads_capable; in virtnet_set_features() [all …]
|
/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
D | tc.c | 97 mutex_lock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows() 123 mutex_unlock(&esw->offloads.encap_tbl_lock); in mlx5e_rep_update_flows() 675 err = mapping_find(esw->offloads.reg_c0_obj_pool, reg_c0, &mapped_obj); in mlx5e_rep_tc_update_skb()
|
/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
D | sample.c | 562 err = mapping_add(esw->offloads.reg_c0_obj_pool, &restore_obj, &obj_id); in mlx5e_tc_sample_offload() 613 mapping_remove(esw->offloads.reg_c0_obj_pool, obj_id); in mlx5e_tc_sample_offload() 659 mapping_remove(esw->offloads.reg_c0_obj_pool, attr->sample_attr->restore_obj_id); in mlx5e_tc_sample_unoffload()
|
/drivers/vdpa/ |
D | Kconfig | 72 offloads depending on the actual device used and firmware version.
|
/drivers/mtd/nand/raw/ |
D | Kconfig | 56 locate and correct errors when using BCH ECC scheme. This offloads
|