Lines Matching +full:ports +full:- +full:block +full:- +full:group +full:- +full:count
1 /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
16 /* Port Group IDs (PGID) are masks of destination ports.
19 * frame, and forwards the frame to the ports that are present in the logical
23 * - In one of PGID[0-63]: for the destination masks. There are 2 paths by
25 * - The {DMAC, VID} is present in the MAC table. In that case, the
28 * - The {DMAC, VID} is not present in the MAC table (it is unknown). The
34 * ocelot->num_phys_ports - 1, or a multicast set: the PGIDs from
35 * ocelot->num_phys_ports to 63. By convention, a unicast PGID corresponds to
36 * a physical port and has a single bit set in the destination ports mask:
39 * ports mask.
40 * - In one of PGID[64-79]: for the aggregation mask. The switch classifier
41 * dissects each frame and generates a 4-bit Link Aggregation Code which is
43 * hash multiple flows within the same LAG on to different destination ports.
45 * the destination ports mask, and the second lookup, by Link Aggregation
48 * - In one of PGID[80-90]: for the source mask. The third time, the PGID table
60 * PGID_MC: the flooding destinations for non-IP multicast traffic.
75 (pgid) < (ocelot)->num_phys_ports; \
79 for ((pgid) = (ocelot)->num_phys_ports + 1; \
104 #define REG_MASK GENMASK(TARGET_OFFSET - 1, 0)
680 int count; member
691 /* all VLANs are egress-untagged */
693 /* all VLANs except the native VLAN and VID 0 are egress-tagged */
695 /* all VLANs except VID 0 are egress-tagged */
697 /* all VLANs are egress-tagged */
824 struct ocelot_port **ports; member
836 * the CPU is located after the physical ports (at the
852 struct ocelot_vcap_block block[3]; member
871 * configuration of the Time-Aware Shaper, MAC Merge layer and
872 * cut-through forwarding, on which it depends
883 /* Protects the 2-step TX timestamp ID logic */
899 #define ocelot_bulk_read(ocelot, reg, buf, count) \ argument
900 __ocelot_bulk_read_ix(ocelot, reg, 0, buf, count)
928 regmap_field_write((ocelot)->regfields[(reg)], (val))
930 regmap_field_read((ocelot)->regfields[(reg)], (val))
932 regmap_fields_write((ocelot)->regfields[(reg)], (id), (val))
934 regmap_fields_read((ocelot)->regfields[(reg)], (id), (val))
960 u32 offset, void *buf, int count);
1192 return -EOPNOTSUPP; in ocelot_mrp_add()
1198 return -EOPNOTSUPP; in ocelot_mrp_del()
1205 return -EOPNOTSUPP; in ocelot_mrp_add_ring_role()
1212 return -EOPNOTSUPP; in ocelot_mrp_del_ring_role()