| /linux/tools/testing/selftests/vfio/lib/drivers/dsa/ |
| H A D | dsa.c | 142 struct dsa_state *dsa = to_dsa_state(device); in dsa_wq_init() local 143 union wq_cap_reg wq_cap = dsa->wq_cap; in dsa_wq_init() 159 .max_xfer_shift = dsa->gen_cap.max_xfer_shift, in dsa_wq_init() 160 .max_batch_shift = dsa->gen_cap.max_batch_shift, in dsa_wq_init() 167 writel(wqcfg.bits[i], dsa->wqcfg_table + offsetof(union wqcfg, bits[i])); in dsa_wq_init() 172 struct dsa_state *dsa = to_dsa_state(device); in dsa_group_init() local 173 union group_cap_reg group_cap = dsa->group_cap; in dsa_group_init() 174 union engine_cap_reg engine_cap = dsa->engine_cap; in dsa_group_init() 180 writeq(1, dsa->grpcfg_table + offsetof(struct grpcfg, wqs[0])); in dsa_group_init() 181 writeq(1, dsa->grpcfg_table + offsetof(struct grpcfg, engines)); in dsa_group_init() [all …]
|
| /linux/Documentation/networking/dsa/ |
| H A D | configuration.rst | 4 DSA switch configuration from userspace 7 The DSA switch configuration is not integrated into the main userspace 15 To configure a DSA switch a couple of commands need to be executed. In this 32 Through DSA every port of a switch is handled like a normal linux Ethernet 42 - when a DSA user interface is brought up, the conduit interface is 44 - when the conduit interface is brought down, all DSA user interfaces are 88 DSA switches. These switches are capable to tag incoming and outgoing traffic 302 The existing DSA switches do not have the necessary hardware support to keep 308 Up until kernel v4.14, DSA only supported user space management of bridge FDB 319 Due to a bug, the bridge bypass FDB implementation provided by DSA did not [all …]
|
| H A D | bcm_sf2.rst | 41 The driver is located in ``drivers/net/dsa/bcm_sf2.c`` and is implemented as a DSA 42 driver; see ``Documentation/networking/dsa/dsa.rst`` for details on the subsystem 49 ``net/dsa/tag_brcm.c``. 51 Overall, the SF2 driver is a fairly regular DSA driver; there are a few 57 The DSA platform device driver is probed using a specific compatible string 58 provided in ``net/dsa/dsa.c``. The reason for that is because the DSA subsystem gets 59 registered as a platform device driver currently. DSA will provide the needed 70 Broadcom switches connected to a SF2 require the use of the DSA user MDIO bus 74 "double" programming. Using DSA, and setting ``ds->phys_mii_mask`` accordingly, we
|
| H A D | b53.rst | 16 The driver is located in ``drivers/net/dsa/b53/`` and is implemented as a 17 DSA driver; see ``Documentation/networking/dsa/dsa.rst`` for details on the 24 ``net/dsa/tag_brcm.c``. 30 configuration described in the :ref:`dsa-config-showcases`. 36 DSA driver and will work like all DSA drivers which supports tagging. 38 See :ref:`dsa-tagged-configuration`. 48 The configuration slightly differ from the :ref:`dsa-vlan-configuration`. 54 In difference to the configuration described in :ref:`dsa-vlan-configuration`
|
| H A D | lan9303.rst | 13 The driver is implemented as a DSA driver, see ``Documentation/networking/dsa/dsa.rst``. 15 See ``Documentation/devicetree/bindings/net/dsa/lan9303.txt`` for device tree 21 interfaces (which is the default state of a DSA device). Due to HW limitations,
|
| /linux/drivers/net/ethernet/marvell/prestera/ |
| H A D | prestera_dsa.c | 34 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf) in prestera_dsa_parse() argument 62 dsa->vlan.is_tagged = FIELD_GET(PRESTERA_DSA_W0_IS_TAGGED, words[0]); in prestera_dsa_parse() 63 dsa->vlan.cfi_bit = FIELD_GET(PRESTERA_DSA_W1_CFI_BIT, words[1]); in prestera_dsa_parse() 64 dsa->vlan.vpt = FIELD_GET(PRESTERA_DSA_W0_VPT, words[0]); in prestera_dsa_parse() 65 dsa->vlan.vid = FIELD_GET(PRESTERA_DSA_W0_VID, words[0]); in prestera_dsa_parse() 66 dsa->vlan.vid &= ~PRESTERA_DSA_VID; in prestera_dsa_parse() 67 dsa->vlan.vid |= FIELD_PREP(PRESTERA_DSA_VID, field); in prestera_dsa_parse() 71 dsa->hw_dev_num = FIELD_GET(PRESTERA_DSA_W0_DEV_NUM, words[0]); in prestera_dsa_parse() 72 dsa->hw_dev_num |= FIELD_PREP(PRESTERA_DSA_DEV_NUM, field); in prestera_dsa_parse() 74 dsa->port_num = (FIELD_GET(PRESTERA_DSA_W0_PORT_NUM, words[0]) << 0) | in prestera_dsa_parse() [all …]
|
| H A D | prestera_dsa.h | 12 /* DSA command is "To CPU" */ 15 /* DSA command is "From CPU" */ 33 int prestera_dsa_parse(struct prestera_dsa *dsa, const u8 *dsa_buf); 34 int prestera_dsa_build(const struct prestera_dsa *dsa, u8 *dsa_buf);
|
| H A D | prestera_rxtx.c | 216 struct prestera_dsa dsa; in prestera_rxtx_process_skb() local 223 /* ethertype field is part of the dsa header */ in prestera_rxtx_process_skb() 224 err = prestera_dsa_parse(&dsa, skb->data - ETH_TLEN); in prestera_rxtx_process_skb() 228 dev_id = dsa.hw_dev_num; in prestera_rxtx_process_skb() 229 hw_port = dsa.port_num; in prestera_rxtx_process_skb() 241 /* remove DSA tag and update checksum */ in prestera_rxtx_process_skb() 251 if (dsa.vlan.is_tagged) { in prestera_rxtx_process_skb() 252 u16 tci = dsa.vlan.vid & VLAN_VID_MASK; in prestera_rxtx_process_skb() 254 tci |= dsa.vlan.vpt << VLAN_PRIO_SHIFT; in prestera_rxtx_process_skb() 255 if (dsa.vlan.cfi_bit) in prestera_rxtx_process_skb() [all …]
|
| /linux/Documentation/devicetree/bindings/iio/frequency/ |
| H A D | adi,admfm2000.yaml | 16 It consists of a LNA, mixer, IF filter, DSA, and IF amplifier for each down 67 DSA-V4 DSA-V3 DSA-V2 DSA-V1 DSA-V0 77 - description: DSA-V0 GPIO 78 - description: DSA-V1 GPIO 79 - description: DSA-V2 GPIO 80 - description: DSA-V3 GPIO 81 - description: DSA-V4 GPIO
|
| /linux/Documentation/devicetree/bindings/net/dsa/ |
| H A D | dsa-port.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml# 7 title: Generic DSA Switch Port 15 A DSA switch port is a component of a switch that manages one MAC, and can 17 DSA-specific functionality. 34 Should be a list of phandles to other switch's DSA port. This 48 dsa-tag-protocol: 54 - dsa 62 # CPU and DSA ports must have phylink-compatible link descriptions
|
| H A D | dsa.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/dsa.yaml# 24 dsa,member: 28 A two element list indicates which DSA cluster, and position within the 38 description: A DSA switch without any extra port properties 46 $ref: dsa-port.yaml#
|
| H A D | marvell,mv88e6060.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/marvell,mv88e6060.yaml# 7 title: Marvell MV88E6060 DSA switch 18 from many other DSA switches this switch does not have an internal 25 The MV88E6060 is the oldest Marvell DSA switch product, and 37 - $ref: dsa.yaml#/$defs/ethernet-ports
|
| H A D | micrel,ks8995.yaml | 4 $id: http://devicetree.org/schemas/net/dsa/micrel,ks8995.yaml# 7 title: Micrel KS8995 Family DSA Switches 13 The Micrel KS8995 DSA Switches are 100 Mbit switches that were produced in 20 unrelated from the CPU-facing port 5 which is used for DSA MII traffic. 37 - $ref: dsa.yaml#/$defs/ethernet-ports
|
| /linux/net/dsa/ |
| H A D | tag_dsa.c | 3 * Regular and Ethertype DSA tagging 6 * Regular DSA 12 * converted to a DSA tag. It expects the same layout when receiving 26 * Pd: | DA | SA | DSA | ET | Payload ... 36 * Ethertype DSA 38 * Uses the exact same tag format as regular DSA, but also includes a 43 * | DA | SA | 0xdada | 0x0000 | DSA | ET | Payload ... 48 #include <linux/dsa/mv88e6xxx.h> 55 #define DSA_NAME "dsa" 61 * enum dsa_cmd - DSA Command [all …]
|
| H A D | tag.h | 9 #include <net/dsa.h> 87 * should NOT be committed to hardware). DSA needs a method for this private 101 * API shall be introduced to communicate to DSA what this VID is, which needs 123 /* The sad part about attempting to untag from DSA is that we in dsa_software_untag_vlan_unaware_bridge() 128 * from the bridge's data path. This is a configuration that DSA in dsa_software_untag_vlan_unaware_bridge() 138 * dsa_software_vlan_untag: Software VLAN untagging in DSA receive path 187 /* For switches without hardware support for DSA tagging to be able 244 /* Helper for removing DSA header tags from packets in the RX path. 251 * | Destination MAC | Source MAC | DSA header | EType | 270 /* Helper for creating space for DSA heade [all...] |
| H A D | dsa.c | 3 * DSA topology and switch handling 25 #include "dsa.h" 79 * driver can then return -EOPNOTSUPP back to DSA, which will in dsa_lag_map() 391 pr_err("DSA: tree %d has no CPU port\n", dst->index); in dsa_tree_setup_default_cpu() 424 /* Perform initial assignment of CPU ports to user ports and DSA links in the 508 "skipping link registration for DSA port %d\n", in dsa_port_setup() 882 pr_err("DSA: tree %d already setup! Disjoint trees?\n", in dsa_tree_setup() 913 pr_info("DSA: tree %d setup\n", dst->index); in dsa_tree_setup() 948 pr_info("DSA: tree %d torn down\n", dst->index); in dsa_tree_teardown() 984 /* Since the dsa/taggin [all...] |
| H A D | tag_ocelot_8021q.c | 11 #include <linux/dsa/8021q.h> 12 #include <linux/dsa/ocelot.h> 40 * NETIF_F_HW_CSUM from the DSA conduit, but these packets are not sent in ocelot_defer_xmit() 41 * through the DSA conduit, so calculate the checksum here. in ocelot_defer_xmit() 136 MODULE_DESCRIPTION("DSA tag driver for Ocelot family of switches, using VLAN");
|
| H A D | conduit.c | 12 #include <net/dsa.h> 16 #include "dsa.h" 76 strscpy(cpu_info->driver, "dsa", sizeof(cpu_info->driver)); in dsa_conduit_get_regs() 289 "HW timestamping not allowed on DSA conduit when switch supports the operation"); in dsa_conduit_set_promiscuity() 391 * the DSA switch tree uses this tagger. in dsa_conduit_setup() 419 .name = "dsa", in dsa_conduit_setup() 430 "Unable to reset MTU to exclude DSA overheads\n"); in dsa_conduit_teardown() 442 /* The DSA conduit must use SET_NETDEV_DEV for this to work. */ in dsa_conduit_teardown() 448 "Failed to create a device link to DSA switch %s\n", in dsa_conduit_lag_setup() 458 netdev_warn(dev, "error %d setting MTU to %d to include DSA overhea in dsa_conduit_lag_setup() [all...] |
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-bus-event_source-devices-dsa | 1 What: /sys/bus/event_source/devices/dsa*/format 7 perf_event_attr.config1 for the IDXD DSA pmu. (See also 13 IDXD DSA Spec for possible attribute values):: 24 What: /sys/bus/event_source/devices/dsa*/cpumask 29 IDXD DSA pmu is bound for access to all dsa pmu
|
| H A D | sysfs-class-net-dsa | 1 What: /sys/class/net/<iface>/dsa/tagging 7 tagging protocol used by the DSA network devices that are 10 attached DSA switches, if this operation is supported by the 11 driver. Changing the tagging protocol must be done with the DSA
|
| /linux/Documentation/translations/zh_CN/networking/ |
| H A D | timestamping.rst | 554 3.2.1 DSA(分布式交换架构)交换机 558 执行端口多路复用或可选转发加速功能。每个 DSA 交换机端口在用户看来都是独立的 562 当 DSA 交换机连接到主机端口时,PTP 同步必须受到限制,因为交换机的可变排队 563 延迟引入了主机端口与其 PTP 伙伴之间的路径延迟抖动。因此,一些 DSA 交换机 565 仅测量线缆和 PHY 传播延迟。支持 Linux 的 DSA 交换机暴露了与任何其他网络 566 接口相同的 ABI(除了 DSA 接口在网络 I/O 方面实际上是虚拟的,它们确实有自 569 通过设计,DSA 交换机对连接到其主机端口的 PTP 时间戳不需要任何特殊的驱动程 570 序处理。然而,当主机端口也支持 PTP 时间戳时,DSA 将负责拦截 572 SO_TIMESTAMPING API 不允许为同一数据包传递多个硬件时间戳,因此除了 DSA 575 在通用层,DSA 提供了以下基础设施用于 PTP 时间戳: [all …]
|
| /linux/Documentation/driver-api/crypto/iaa/ |
| H A D | iaa-crypto.rst | 226 /sys/bus/dsa/drivers/crypto/ 240 echo 0 > /sys/bus/dsa/drivers/crypto/verify_compress 272 echo async_irq > /sys/bus/dsa/drivers/crypto/sync_mode 277 echo async > /sys/bus/dsa/drivers/crypto/sync_mode 282 echo sync > /sys/bus/dsa/drivers/crypto/sync_mode 289 '/sys/bus/dsa/drivers/crypto/sync_mode' will internally enable the 463 # cat /sys/bus/dsa/devices/iax1/state 465 # cat /sys/bus/dsa/devices/iax1/wq1.0/state 799 The 'IAA config path' is /sys/bus/dsa/devices and contains 803 odd-numbered devices; the even-numbered devices are DSA devices and [all …]
|
| /linux/include/linux/dsa/ |
| H A D | sja1105.h | 5 /* Included by drivers/net/dsa/sja1105/sja1105.h and net/dsa/tag_sja1105.c */ 12 #include <linux/dsa/8021q.h> 13 #include <net/dsa.h> 31 * in the DSA conduit port's multicast MAC filter.
|
| /linux/drivers/net/ethernet/aquantia/atlantic/ |
| H A D | aq_ethtool.c | 153 "MACSecTXSC%dSA%d HitDropRedirect", 154 "MACSecTXSC%dSA%d Protected2Pkts", 155 "MACSecTXSC%dSA%d ProtectedPkts", 156 "MACSecTXSC%dSA%d EncryptedPkts", 160 "MACSecRXSC%dSA%d UntaggedHitPkts", 161 "MACSecRXSC%dSA%d CtrlHitDrpRedir", 162 "MACSecRXSC%dSA%d NotUsingSa", 163 "MACSecRXSC%dSA%d UnusedSa", 164 "MACSecRXSC%dSA%d NotValidPkts", 165 "MACSecRXSC%dSA%d InvalidPkts", [all …]
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | hisilicon-hns-dsaf.txt | 1 Hisilicon DSA Fabric device controller 7 - mode: dsa fabric mode string. only support one of dsaf modes like these: 12 - interrupts: should contain the DSA Fabric and rcb interrupt. 21 The fourth region is dsa fabric base register and size. It is not required for 58 dsaf0: dsa@c7000000 {
|