/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch_offloads.c | 51 #define fdb_prio_table(esw, chain, prio, level) \ argument 52 (esw)->fdb_table.offloads.fdb_prio[(chain)][(prio)][(level)] 56 static struct mlx5_eswitch_rep *mlx5_eswitch_get_rep(struct mlx5_eswitch *esw, in mlx5_eswitch_get_rep() argument 59 int idx = mlx5_eswitch_vport_num_to_index(esw, vport_num); in mlx5_eswitch_get_rep() 61 WARN_ON(idx > esw->total_vports - 1); in mlx5_eswitch_get_rep() 62 return &esw->offloads.vport_reps[idx]; in mlx5_eswitch_get_rep() 66 esw_get_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level); 68 esw_put_prio_table(struct mlx5_eswitch *esw, u32 chain, u16 prio, int level); 70 bool mlx5_eswitch_prios_supported(struct mlx5_eswitch *esw) in mlx5_eswitch_prios_supported() argument 72 return (!!(esw->fdb_table.flags & ESW_FDB_CHAINS_AND_PRIOS_SUPPORTED)); in mlx5_eswitch_prios_supported() [all …]
|
D | eswitch.c | 61 static void esw_destroy_legacy_fdb_table(struct mlx5_eswitch *esw); 62 static void esw_cleanup_vepa_rules(struct mlx5_eswitch *esw); 65 mlx5_eswitch_get_vport(struct mlx5_eswitch *esw, u16 vport_num) in mlx5_eswitch_get_vport() argument 69 if (!esw || !MLX5_CAP_GEN(esw->dev, vport_group_manager)) in mlx5_eswitch_get_vport() 72 idx = mlx5_eswitch_vport_num_to_index(esw, vport_num); in mlx5_eswitch_get_vport() 74 if (idx > esw->total_vports - 1) { in mlx5_eswitch_get_vport() 75 esw_debug(esw->dev, "vport out of range: num(0x%x), idx(0x%x)\n", in mlx5_eswitch_get_vport() 80 return &esw->vports[idx]; in mlx5_eswitch_get_vport() 126 int mlx5_eswitch_modify_esw_vport_context(struct mlx5_eswitch *esw, u16 vport, in mlx5_eswitch_modify_esw_vport_context() argument 129 return modify_esw_vport_context_cmd(esw->dev, vport, in, inlen); in mlx5_eswitch_modify_esw_vport_context() [all …]
|
D | eswitch.h | 205 struct mlx5_eswitch *esw; member 248 void esw_offloads_disable(struct mlx5_eswitch *esw); 249 int esw_offloads_enable(struct mlx5_eswitch *esw); 250 void esw_offloads_cleanup_reps(struct mlx5_eswitch *esw); 251 int esw_offloads_init_reps(struct mlx5_eswitch *esw); 252 void esw_vport_cleanup_ingress_rules(struct mlx5_eswitch *esw, 254 int esw_vport_enable_ingress_acl(struct mlx5_eswitch *esw, 256 void esw_vport_cleanup_egress_rules(struct mlx5_eswitch *esw, 258 int esw_vport_enable_egress_acl(struct mlx5_eswitch *esw, 260 void esw_vport_disable_egress_acl(struct mlx5_eswitch *esw, [all …]
|
D | eswitch_offloads_termtbl.c | 93 mlx5_eswitch_termtbl_get_create(struct mlx5_eswitch *esw, in mlx5_eswitch_termtbl_get_create() argument 102 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 105 hash_for_each_possible(esw->offloads.termtbl_tbl, tt, in mlx5_eswitch_termtbl_get_create() 127 err = mlx5_eswitch_termtbl_create(esw->dev, tt, flow_act); in mlx5_eswitch_termtbl_get_create() 129 esw_warn(esw->dev, "Failed to create termination table\n"); in mlx5_eswitch_termtbl_get_create() 132 hash_add(esw->offloads.termtbl_tbl, &tt->termtbl_hlist, hash_key); in mlx5_eswitch_termtbl_get_create() 135 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 139 mutex_unlock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_get_create() 144 mlx5_eswitch_termtbl_put(struct mlx5_eswitch *esw, in mlx5_eswitch_termtbl_put() argument 147 mutex_lock(&esw->offloads.termtbl_mutex); in mlx5_eswitch_termtbl_put() [all …]
|
D | en_tc.c | 302 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_mod_hdr_table() local 304 return namespace == MLX5_FLOW_NAMESPACE_FDB ? &esw->offloads.mod_hdr : in get_mod_hdr_table() 1031 mlx5e_tc_offload_fdb_rules(struct mlx5_eswitch *esw, in mlx5e_tc_offload_fdb_rules() argument 1038 rule = mlx5_eswitch_add_offloaded_rule(esw, spec, attr); in mlx5e_tc_offload_fdb_rules() 1043 flow->rule[1] = mlx5_eswitch_add_fwd_rule(esw, spec, attr); in mlx5e_tc_offload_fdb_rules() 1045 mlx5_eswitch_del_offloaded_rule(esw, rule, attr); in mlx5e_tc_offload_fdb_rules() 1054 mlx5e_tc_unoffload_fdb_rules(struct mlx5_eswitch *esw, in mlx5e_tc_unoffload_fdb_rules() argument 1061 mlx5_eswitch_del_fwd_rule(esw, flow->rule[1], attr); in mlx5e_tc_unoffload_fdb_rules() 1063 mlx5_eswitch_del_offloaded_rule(esw, flow->rule[0], attr); in mlx5e_tc_unoffload_fdb_rules() 1067 mlx5e_tc_offload_to_slow_path(struct mlx5_eswitch *esw, in mlx5e_tc_offload_to_slow_path() argument [all …]
|
D | en_rep.c | 137 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_rep_update_hw_counters() local 144 err = mlx5_eswitch_get_vport_stats(esw, rep->vport, &vf_stats); in mlx5e_rep_update_hw_counters() 240 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in mlx5e_replace_rep_vport_rx_rule() local 245 flow_rule = mlx5_eswitch_create_vport_rx_rule(esw, in mlx5e_replace_rep_vport_rx_rule() 408 static void mlx5e_sqs2vport_stop(struct mlx5_eswitch *esw, in mlx5e_sqs2vport_stop() argument 414 if (esw->mode != MLX5_ESWITCH_OFFLOADS) in mlx5e_sqs2vport_stop() 425 static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw, in mlx5e_sqs2vport_start() argument 435 if (esw->mode != MLX5_ESWITCH_OFFLOADS) in mlx5e_sqs2vport_start() 447 flow_rule = mlx5_eswitch_add_send_to_vport_rule(esw, in mlx5e_sqs2vport_start() 461 mlx5e_sqs2vport_stop(esw, rep); in mlx5e_sqs2vport_start() [all …]
|
/Linux-v5.4/include/linux/mlx5/ |
D | eswitch.h | 53 void mlx5_eswitch_register_vport_reps(struct mlx5_eswitch *esw, 56 void mlx5_eswitch_unregister_vport_reps(struct mlx5_eswitch *esw, u8 rep_type); 57 void *mlx5_eswitch_get_proto_dev(struct mlx5_eswitch *esw, 60 struct mlx5_eswitch_rep *mlx5_eswitch_vport_rep(struct mlx5_eswitch *esw, 62 void *mlx5_eswitch_uplink_get_proto_dev(struct mlx5_eswitch *esw, u8 rep_type); 64 mlx5_eswitch_add_send_to_vport_rule(struct mlx5_eswitch *esw, 73 bool mlx5_eswitch_vport_match_metadata_enabled(const struct mlx5_eswitch *esw); 74 u32 mlx5_eswitch_get_vport_metadata_for_match(const struct mlx5_eswitch *esw, 76 u8 mlx5_eswitch_mode(struct mlx5_eswitch *esw); 79 static inline u8 mlx5_eswitch_mode(struct mlx5_eswitch *esw) in mlx5_eswitch_mode() argument [all …]
|
/Linux-v5.4/drivers/s390/cio/ |
D | device_status.c | 124 cdev_irb->esw.esw1.lpum = irb->esw.esw1.lpum; in ccw_device_accumulate_esw() 128 cdev_sublog = &cdev_irb->esw.esw0.sublog; in ccw_device_accumulate_esw() 129 sublog = &irb->esw.esw0.sublog; in ccw_device_accumulate_esw() 158 cdev_irb->esw.esw0.erw.cpt = irb->esw.esw0.erw.cpt; in ccw_device_accumulate_esw() 160 cdev_irb->esw.esw0.erw.fsavf = irb->esw.esw0.erw.fsavf; in ccw_device_accumulate_esw() 161 if (cdev_irb->esw.esw0.erw.fsavf) { in ccw_device_accumulate_esw() 163 memcpy(cdev_irb->esw.esw0.faddr, irb->esw.esw0.faddr, in ccw_device_accumulate_esw() 164 sizeof (irb->esw.esw0.faddr)); in ccw_device_accumulate_esw() 166 cdev_irb->esw.esw0.erw.fsaf = irb->esw.esw0.erw.fsaf; in ccw_device_accumulate_esw() 169 cdev_irb->esw.esw0.erw.scavf = irb->esw.esw0.erw.scavf; in ccw_device_accumulate_esw() [all …]
|
D | ccwreq.c | 186 if (irb->esw.esw0.erw.cons) { in ccwreq_status()
|
D | eadm_sch.c | 140 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq()
|
/Linux-v5.4/drivers/infiniband/hw/mlx5/ |
D | ib_rep.c | 99 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_ib_register_vport_reps() local 101 mlx5_eswitch_register_vport_reps(esw, &rep_ops, REP_IB); in mlx5_ib_register_vport_reps() 106 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5_ib_unregister_vport_reps() local 108 mlx5_eswitch_unregister_vport_reps(esw, REP_IB); in mlx5_ib_unregister_vport_reps() 111 u8 mlx5_ib_eswitch_mode(struct mlx5_eswitch *esw) in mlx5_ib_eswitch_mode() argument 113 return mlx5_eswitch_mode(esw); in mlx5_ib_eswitch_mode() 116 struct mlx5_ib_dev *mlx5_ib_get_rep_ibdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_ibdev() argument 119 return mlx5_eswitch_get_proto_dev(esw, vport_num, REP_IB); in mlx5_ib_get_rep_ibdev() 122 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev() argument 125 return mlx5_eswitch_get_proto_dev(esw, vport_num, REP_ETH); in mlx5_ib_get_rep_netdev() [all …]
|
D | ib_rep.h | 15 u8 mlx5_ib_eswitch_mode(struct mlx5_eswitch *esw); 16 struct mlx5_ib_dev *mlx5_ib_get_rep_ibdev(struct mlx5_eswitch *esw, 18 struct mlx5_ib_dev *mlx5_ib_get_uplink_ibdev(struct mlx5_eswitch *esw); 19 struct mlx5_eswitch_rep *mlx5_ib_vport_rep(struct mlx5_eswitch *esw, 26 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, 29 static inline u8 mlx5_ib_eswitch_mode(struct mlx5_eswitch *esw) in mlx5_ib_eswitch_mode() argument 35 struct mlx5_ib_dev *mlx5_ib_get_rep_ibdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_ibdev() argument 42 struct mlx5_ib_dev *mlx5_ib_get_uplink_ibdev(struct mlx5_eswitch *esw) in mlx5_ib_get_uplink_ibdev() argument 48 struct mlx5_eswitch_rep *mlx5_ib_vport_rep(struct mlx5_eswitch *esw, in mlx5_ib_vport_rep() argument 65 struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, in mlx5_ib_get_rep_netdev() argument
|
/Linux-v5.4/Documentation/devicetree/bindings/net/ |
D | ralink,rt3050-esw.txt | 8 - compatible: Should be "ralink,rt3050-esw" 12 - reset-names: Should contain the reset names "esw" 21 esw@10110000 { 22 compatible = "ralink,rt3050-esw"; 26 reset-names = "esw";
|
D | mediatek-net.txt | 21 "ethif", "esw", "gp2", "gp1" : For MT2701 and MT7623 SoC 22 "ethif", "esw", "gp0", "gp1", "gp2", "sgmii_tx250m", "sgmii_rx250m", 24 "ethif", "sgmiitop", "esw", "gp0", "gp1", "gp2", "fe", "sgmii_tx250m", 63 clock-names = "ethif", "esw", "gp2", "gp1";
|
D | ralink,rt2880-net.txt | 20 "esw" is also required.
|
/Linux-v5.4/arch/mips/include/asm/octeon/ |
D | cvmx-sli-defs.h | 108 __BITFIELD_FIELD(uint64_t esw:2, 120 __BITFIELD_FIELD(uint64_t esw:2,
|
D | cvmx-npi-defs.h | 1562 uint64_t esw:2; member 1574 uint64_t esw:2; 1585 uint64_t esw:2; member 1597 uint64_t esw:2;
|
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | tc_tun.c | 29 struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; in get_route_and_out_devs() local 33 uplink_dev = mlx5_eswitch_uplink_get_proto_dev(esw, REP_ETH); in get_route_and_out_devs() 89 struct mlx5_eswitch *esw = mdev->priv.eswitch; in mlx5e_route_lookup_ipv4() local 91 uplink_dev = mlx5_eswitch_uplink_get_proto_dev(esw, REP_ETH); in mlx5e_route_lookup_ipv4()
|
/Linux-v5.4/arch/s390/include/asm/ |
D | cio.h | 243 } esw; member
|
/Linux-v5.4/Documentation/devicetree/bindings/pinctrl/ |
D | pinctrl-mt7622.txt | 208 "esw" "eth" 51, 52, 53, 54, 55, 56, 479 mux-esw { 480 groups = "esw";
|
/Linux-v5.4/drivers/s390/block/ |
D | dasd_3990_erp.c | 157 ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path() 159 erp->lpm &= ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path() 165 erp->lpm, erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path() 173 "/opm=%x)\n", erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path() 2246 __u8 lpum = erp->refers->irb.esw.esw1.lpum; in dasd_3990_erp_account_error()
|
/Linux-v5.4/arch/mips/pci/ |
D | pci-octeon.c | 600 mem_access.s.esw = 1; /* Endian-Swap on write. */ in octeon_pci_setup()
|
D | pcie-octeon.c | 893 mem_access_subid.s.esw = 1; /* Endian-swap for Writes. */ in __cvmx_pcie_rc_initialize_gen1() 1345 mem_access_subid.s.esw = 1; /* Endian-swap for Writes. */ in __cvmx_pcie_rc_initialize_gen2()
|
/Linux-v5.4/arch/arm/boot/dts/ |
D | mt7629.dtsi | 448 clock-names = "ethif", "sgmiitop", "esw", "gp0", "gp1",
|
/Linux-v5.4/Documentation/s390/ |
D | cds.rst | 318 If the concurrent sense flag in the extended status word (esw) in the irb is 319 set, the field erw.scnt in the esw describes the number of device specific
|