/linux/drivers/gpu/drm/display/ |
H A D | drm_bridge_connector.c | 29 * The DRM bridge connector helper object provides a DRM connector 35 * To use the helper, display controller drivers create a bridge connector with 41 * The DRM bridge connector operations are implemented based on the operations 43 * to the bridge closest to the connector (at the end of the chain) that 46 * To make use of this helper, all bridges in the chain shall report bridge 47 * operation flags (&drm_bridge->ops) and bridge output type 69 * The last bridge in the chain (closest to the connector) that provides 76 * The last bridge in the chain (closest to the connector) that provides 83 * The last bridge in the chain (closest to the connector) that provides 90 * The last bridge in the chain (closest to the connector) that provides [all …]
|
/linux/drivers/char/agp/ |
H A D | backend.c | 70 struct agp_bridge_data *bridge; in agp_backend_acquire() local 72 bridge = agp_find_bridge(pdev); in agp_backend_acquire() 74 if (!bridge) in agp_backend_acquire() 77 if (atomic_read(&bridge->agp_in_use)) in agp_backend_acquire() 79 atomic_inc(&bridge->agp_in_use); in agp_backend_acquire() 80 return bridge; in agp_backend_acquire() 87 * @bridge: the AGP backend to release 94 void agp_backend_release(struct agp_bridge_data *bridge) in agp_backend_release() argument 97 if (bridge) in agp_backend_release() 98 atomic_dec(&bridge->agp_in_use); in agp_backend_release() [all …]
|
H A D | generic.c | 178 curr->bridge->driver->free_by_type(curr); in agp_free_memory() 182 if (curr->bridge->driver->agp_destroy_pages) { in agp_free_memory() 183 curr->bridge->driver->agp_destroy_pages(curr); in agp_free_memory() 187 curr->bridge->driver->agp_destroy_page( in agp_free_memory() 192 curr->bridge->driver->agp_destroy_page( in agp_free_memory() 209 * @bridge: an agp_bridge_data struct allocated for the AGP host bridge. 213 * Every agp bridge device will allow you to allocate AGP_NORMAL_MEMORY which 218 struct agp_memory *agp_allocate_memory(struct agp_bridge_data *bridge, in agp_allocate_memory() argument 226 if (!bridge) in agp_allocate_memory() 229 cur_memory = atomic_read(&bridge->current_memory_agp); in agp_allocate_memory() [all …]
|
/linux/tools/testing/selftests/net/forwarding/ |
H A D | bridge_mdb.sh | 67 ip link add name br0 type bridge vlan_filtering 1 vlan_default_pvid 0 \ 69 bridge vlan add vid 10 dev br0 self 70 bridge vlan add vid 20 dev br0 self 75 bridge vlan add vid 10 dev $swp1 76 bridge vlan add vid 20 dev $swp1 80 bridge vlan add vid 10 dev $swp2 81 bridge vlan add vid 20 dev $swp2 92 bridge vlan del vid 20 dev $swp2 93 bridge vlan del vid 10 dev $swp2 97 bridge vlan del vid 20 dev $swp1 [all …]
|
H A D | bridge_locked_port.sh | 45 ip link add dev br0 type bridge vlan_filtering 1 50 bridge link set dev $swp1 learning off 102 bridge link set dev $swp1 locked on 107 bridge fdb add `mac_get $h1` dev $swp1 master static 112 bridge link set dev $swp1 locked off 113 bridge fdb del `mac_get $h1` dev $swp1 master static 127 bridge vlan add vid 100 dev $swp1 128 bridge vlan add vid 100 dev $swp2 133 bridge link set dev $swp1 locked on 137 bridge fdb add `mac_get $h1` dev $swp1 vlan 100 master static [all …]
|
H A D | bridge_vlan_mcast.sh | 40 ip link add dev br0 type bridge mcast_snooping 1 mcast_querier 1 vlan_filtering 1 52 bridge vlan add vid 10-11 dev $swp1 master 53 bridge vlan add vid 10-11 dev $swp2 master 55 ip link set dev br0 type bridge mcast_vlan_snooping 1 108 bridge -j mdb show dev br0 | 120 bridge -j mdb show dev br0 | 130 local goutput=`bridge -j vlan global show` 144 bridge vlan global set vid 10 dev br0 mcast_snooping 0 176 ip link set dev br0 type bridge mcast_stats_enabled 1 183 ip link set dev br0 type bridge mcast_stats_enabled 0 [all …]
|
/linux/drivers/gpu/drm/bridge/ |
H A D | panel.c | 21 struct drm_bridge bridge; member 28 drm_bridge_to_panel_bridge(struct drm_bridge *bridge) in drm_bridge_to_panel_bridge() argument 30 return container_of(bridge, struct panel_bridge, bridge); in drm_bridge_to_panel_bridge() 60 static int panel_bridge_attach(struct drm_bridge *bridge, in panel_bridge_attach() argument 64 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_attach() 74 ret = drm_connector_init(bridge->dev, connector, in panel_bridge_attach() 82 drm_panel_bridge_set_orientation(connector, bridge); in panel_bridge_attach() 87 if (bridge->dev->registered) { in panel_bridge_attach() 96 static void panel_bridge_detach(struct drm_bridge *bridge) in panel_bridge_detach() argument 98 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_detach() [all …]
|
/linux/drivers/media/usb/gspca/m5602/ |
H A D | m5602_ov7660.c | 23 {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02}, 24 {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0}, 25 {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00}, 26 {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0}, 27 {BRIDGE, M5602_XB_ADC_CTRL, 0xc0}, 28 {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d}, 29 {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00}, 30 {BRIDGE, M5602_XB_GPIO_DIR, 0x03}, 31 {BRIDGE, M5602_XB_GPIO_DIR, 0x03}, 32 {BRIDGE, M5602_XB_ADC_CTRL, 0xc0}, [all …]
|
H A D | m5602_s5k4aa.c | 20 {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00}, 21 {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00}, 22 {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00}, 23 {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00}, 24 {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00}, 25 {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d, 0x00}, 26 {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00, 0x00}, 28 {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00}, 29 {BRIDGE, M5602_XB_GPIO_DAT, 0x08, 0x00}, 30 {BRIDGE, M5602_XB_SEN_CLK_DIV, 0xb0, 0x00}, [all …]
|
H A D | m5602_s5k83a.c | 41 {BRIDGE, M5602_XB_MCU_CLK_DIV, 0x02, 0x00}, 42 {BRIDGE, M5602_XB_MCU_CLK_CTRL, 0xb0, 0x00}, 43 {BRIDGE, M5602_XB_SEN_CLK_DIV, 0x00, 0x00}, 44 {BRIDGE, M5602_XB_SEN_CLK_CTRL, 0xb0, 0x00}, 45 {BRIDGE, M5602_XB_ADC_CTRL, 0xc0, 0x00}, 46 {BRIDGE, M5602_XB_SENSOR_TYPE, 0x0d, 0x00}, 47 {BRIDGE, M5602_XB_SENSOR_CTRL, 0x00, 0x00}, 49 {BRIDGE, M5602_XB_SIG_INI, 0x00, 0x00}, 50 {BRIDGE, M5602_XB_GPIO_DIR, 0x1d, 0x00}, 51 {BRIDGE, M5602_XB_GPIO_DAT, 0x08, 0x00}, [all …]
|
/linux/drivers/pci/ |
H A D | pci-bridge-emul.c | 8 * PCI bridge when the HW doesn't provide such a root port PCI 9 * bridge. 11 * It emulates a PCI bridge by providing a fake PCI configuration 21 #include "pci-bridge-emul.h" 71 * bridge that is not capable of a burst transfer of more than 77 * BIST register: implemented as read-only, as "A bridge that 152 * are RO, and bridge control (31:16) are a mix of RW, RO, 318 pci_bridge_emul_read_ssid(struct pci_bridge_emul *bridge, int reg, u32 *value) in pci_bridge_emul_read_ssid() argument 323 ((bridge->pcie_start > bridge->ssid_start) ? (bridge->pcie_start << 8) : 0); in pci_bridge_emul_read_ssid() 327 *value = bridge->subsystem_vendor_id | in pci_bridge_emul_read_ssid() [all …]
|
H A D | setup-bus.c | 462 * 1. bridge resource -- IORESOURCE_STARTALIGN in __assign_resources_sorted() 464 * Here just fix the additional alignment for bridge in __assign_resources_sorted() 612 struct pci_dev *bridge = bus->self; in pci_setup_cardbus() local 616 pci_info(bridge, "CardBus bridge to %pR\n", in pci_setup_cardbus() 620 pcibios_resource_to_bus(bridge->bus, ®ion, res); in pci_setup_cardbus() 626 pci_info(bridge, " bridge window %pR\n", res); in pci_setup_cardbus() 627 pci_write_config_dword(bridge, PCI_CB_IO_BASE_0, in pci_setup_cardbus() 629 pci_write_config_dword(bridge, PCI_CB_IO_LIMIT_0, in pci_setup_cardbus() 634 pcibios_resource_to_bus(bridge->bus, ®ion, res); in pci_setup_cardbus() 636 pci_info(bridge, " bridge window %pR\n", res); in pci_setup_cardbus() [all …]
|
/linux/Documentation/networking/ |
H A D | bridge.rst | 11 operation of bridges in computer networks. A bridge, in the context of this 14 model. The purpose of a bridge is to filter and forward frames between 17 Bridge kAPI 20 Here are some core structures of bridge code. Note that the kAPI is *unstable*, 23 .. kernel-doc:: net/bridge/br_private.h 26 Bridge uAPI 29 Modern Linux bridge uAPI is accessed via Netlink interface. You can find 30 below files where the bridge and bridge port netlink attributes are defined. 32 Bridge netlink attributes 36 :doc: Bridge enum definition [all …]
|
/linux/drivers/staging/vme_user/ |
H A D | vme_fake.c | 3 * Fake VME bridge support. 5 * This drive provides a fake VME bridge chip, this enables debugging of the 96 struct fake_driver *bridge; in fake_VIRQ_tasklet() local 99 bridge = fake_bridge->driver_priv; in fake_VIRQ_tasklet() 101 vme_irq_handler(fake_bridge, bridge->int_level, bridge->int_statid); in fake_VIRQ_tasklet() 130 struct fake_driver *bridge; in fake_irq_generate() local 132 bridge = fake_bridge->driver_priv; in fake_irq_generate() 134 mutex_lock(&bridge->vme_int); in fake_irq_generate() 136 bridge->int_level = level; in fake_irq_generate() 138 bridge->int_statid = statid; in fake_irq_generate() [all …]
|
H A D | vme.c | 3 * VME Bridge Framework 46 * Find the bridge that the resource is associated with. 83 struct vme_bridge *bridge = find_bridge(resource); in vme_alloc_consistent() local 85 if (!bridge->alloc_consistent) { in vme_alloc_consistent() 86 dev_err(bridge->parent, in vme_alloc_consistent() 87 "alloc_consistent not supported by bridge %s\n", in vme_alloc_consistent() 88 bridge->name); in vme_alloc_consistent() 92 return bridge->alloc_consistent(bridge->parent, size, dma); in vme_alloc_consistent() 108 struct vme_bridge *bridge = find_bridge(resource); in vme_free_consistent() local 110 if (!bridge->free_consistent) { in vme_free_consistent() [all …]
|
/linux/tools/testing/selftests/drivers/net/mlxsw/ |
H A D | vxlan.sh | 89 ip link add dev br0 type bridge mcast_snooping 0 106 ip link add dev br0 type bridge mcast_snooping 0 vlan_filtering 1 116 log_test "vxlan device with a vlan-aware bridge" 123 ip link add dev br0 type bridge 133 log_test "vxlan device with a multicast enabled bridge" 140 ip link add dev br0 type bridge mcast_snooping 0 160 ip link add dev br0 type bridge mcast_snooping 0 177 ip link add dev br0 type bridge mcast_snooping 0 194 ip link add dev br0 type bridge mcast_snooping 0 213 ip link add dev br0 type bridge mcast_snooping 0 [all …]
|
H A D | q_in_q_veto.sh | 49 ip link add dev br0 type bridge vlan_filtering 1 \ 58 check_fail $? "$netdev_proto vlan upper creation on top of an $bridge_proto bridge not rejected" 63 …check_err $? "$netdev_proto vlan upper creation on top of an $bridge_proto bridge rejected without… 65 log_test "create $netdev_proto vlan upper on top $bridge_proto bridge" 90 ip link add dev br0 type bridge vlan_filtering 1 \ 99 check_fail $? "802.1ad vlan upper creation on top of a bridge port not rejected" 104 check_err $? "802.1ad vlan upper creation on top of a bridge port rejected without extack" 106 log_test "create 802.1ad vlan upper on top of a bridge port" 158 ip link add dev br0 type bridge vlan_filtering 1 \ 166 check_fail $? "vlan upper creation on top of front panel enslaved to 802.1ad bridge not rejected" [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | bridge.c | 10 #include "bridge.h" 84 esw_warn(dev, "Failed to create bridge FDB Table (err=%ld)\n", PTR_ERR(fdb)); in mlx5_esw_bridge_table_create() 124 "Failed to create VLAN(proto=%x) flow group for bridge ingress table (err=%ld)\n", in mlx5_esw_bridge_ingress_vlan_proto_fg_create() 183 "Failed to create bridge ingress table VLAN filter flow group (err=%ld)\n", in mlx5_esw_bridge_ingress_vlan_proto_filter_fg_create() 240 "Failed to create MAC flow group for bridge ingress table (err=%ld)\n", in mlx5_esw_bridge_ingress_mac_fg_create() 277 "Failed to create VLAN flow group for bridge egress table (err=%ld)\n", in mlx5_esw_bridge_egress_vlan_proto_fg_create() 327 "Failed to create bridge egress table MAC flow group (err=%ld)\n", in mlx5_esw_bridge_egress_mac_fg_create() 357 "Failed to create bridge egress table miss flow group (err=%ld)\n", in mlx5_esw_bridge_egress_miss_fg_create() 468 struct mlx5_esw_bridge *bridge) in mlx5_esw_bridge_egress_table_init() argument 537 bridge->egress_ft = egress_ft; in mlx5_esw_bridge_egress_table_init() [all …]
|
H A D | bridge_mcast.c | 5 #include "bridge.h" 17 int mlx5_esw_bridge_mdb_init(struct mlx5_esw_bridge *bridge) in mlx5_esw_bridge_mdb_init() argument 19 INIT_LIST_HEAD(&bridge->mdb_list); in mlx5_esw_bridge_mdb_init() 20 return rhashtable_init(&bridge->mdb_ht, &mdb_ht_params); in mlx5_esw_bridge_mdb_init() 23 void mlx5_esw_bridge_mdb_cleanup(struct mlx5_esw_bridge *bridge) in mlx5_esw_bridge_mdb_cleanup() argument 25 rhashtable_destroy(&bridge->mdb_ht); in mlx5_esw_bridge_mdb_cleanup() 54 struct mlx5_esw_bridge *bridge) in mlx5_esw_bridge_mdb_flow_create() argument 94 if (bridge->vlan_proto == ETH_P_8021Q) { in mlx5_esw_bridge_mdb_flow_create() 99 } else if (bridge->vlan_proto == ETH_P_8021AD) { in mlx5_esw_bridge_mdb_flow_create() 111 handle = mlx5_add_flow_rules(bridge->egress_ft, rule_spec, &flow_act, dests, num_dests); in mlx5_esw_bridge_mdb_flow_create() [all …]
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_eswitch_br.c | 244 dev_err(dev, "Failed to create eswitch bridge %sgress forward rule, err: %d\n", in ice_eswitch_br_flow_create() 253 dev_err(dev, "Failed to create eswitch bridge %sgress guard rule, err: %d\n", in ice_eswitch_br_flow_create() 273 ice_eswitch_br_fdb_find(struct ice_esw_br *bridge, const unsigned char *mac, in ice_eswitch_br_fdb_find() argument 281 return rhashtable_lookup_fast(&bridge->fdb_ht, &data, in ice_eswitch_br_fdb_find() 305 ice_esw_br_port_vlan_lookup(struct ice_esw_br *bridge, u16 vsi_idx, u16 vid) in ice_esw_br_port_vlan_lookup() argument 307 struct ice_pf *pf = bridge->br_offloads->pf; in ice_esw_br_port_vlan_lookup() 312 port = xa_load(&bridge->ports, vsi_idx); in ice_esw_br_port_vlan_lookup() 314 dev_info(dev, "Bridge port lookup failed (vsi=%u)\n", vsi_idx); in ice_esw_br_port_vlan_lookup() 320 dev_info(dev, "Bridge port vlan metadata lookup failed (vsi=%u)\n", in ice_esw_br_port_vlan_lookup() 329 ice_eswitch_br_fdb_entry_delete(struct ice_esw_br *bridge, in ice_eswitch_br_fdb_entry_delete() argument [all …]
|
/linux/Documentation/networking/device_drivers/ethernet/ti/ |
H A D | cpsw_switchdev.rst | 34 to the same bridge, but without enabling "switch" mode, or to different 63 which, by default, equal CPSW Port numbers. As result, bridge has to be 66 ip link add name br0 type bridge 67 ip link set dev br0 type bridge vlan_filtering 0 68 echo 0 > /sys/class/net/br0/bridge/default_pvid 74 ip link add name br0 type bridge 75 ip link set dev br0 type bridge vlan_filtering 0 76 echo 100 > /sys/class/net/br0/bridge/default_pvid 77 ip link set dev br0 type bridge vlan_filtering 1 91 Port's netdev devices have to be in UP before joining to the bridge to avoid [all …]
|
/linux/drivers/pci/hotplug/ |
H A D | acpiphp_glue.c | 22 * when the bridge is scanned and it loses a refcount when the bridge 24 * - When a P2P bridge is present, we elevate the refcount on the subordinate 105 WARN_ON(context->bridge); in acpiphp_put_context() 110 static inline void get_bridge(struct acpiphp_bridge *bridge) in get_bridge() argument 112 kref_get(&bridge->ref); in get_bridge() 115 static inline void put_bridge(struct acpiphp_bridge *bridge) in put_bridge() argument 117 kref_put(&bridge->ref, free_bridge); in put_bridge() 152 struct acpiphp_bridge *bridge; in free_bridge() local 158 bridge = container_of(kref, struct acpiphp_bridge, ref); in free_bridge() 160 list_for_each_entry_safe(slot, next, &bridge->slots, node) { in free_bridge() [all …]
|
/linux/Documentation/networking/dsa/ |
H A D | configuration.rst | 21 *bridge* 22 Every switch port is part of one configurable Ethernet bridge 26 Ethernet bridge. 75 *bridge* 108 *bridge* 120 # create bridge 121 ip link add name br0 type bridge 123 # add ports to bridge 128 # configure the bridge 131 # bring up the bridge [all …]
|
/linux/drivers/fpga/tests/ |
H A D | fpga-bridge-test.c | 3 * KUnit test for the FPGA Bridge 12 #include <linux/fpga/fpga-bridge.h> 21 struct fpga_bridge *bridge; member 33 static int op_enable_set(struct fpga_bridge *bridge, bool enable) in op_enable_set() argument 35 struct bridge_stats *stats = bridge->priv; in op_enable_set() 43 * Fake FPGA bridge that implements only the enable_set op to track 51 * register_test_bridge() - Register a fake FPGA bridge for testing. 55 * Return: Context of the newly registered FPGA bridge. 68 ctx->bridge = fpga_bridge_register(ctx->dev, "Fake FPGA bridge", &fake_bridge_ops, in register_test_bridge() 70 KUNIT_ASSERT_FALSE(test, IS_ERR_OR_NULL(ctx->bridge)); in register_test_bridge() [all …]
|
/linux/net/bridge/ |
H A D | Kconfig | 6 config BRIDGE config 13 Ethernet bridge, which means that the different Ethernet segments it 18 other third party bridge products. 20 In order to use the Ethernet bridge, you'll need the bridge 21 configuration tools; see <file:Documentation/networking/bridge.rst> 22 for location. Please read the Bridge mini-HOWTO for more 25 If you enable iptables support along with the bridge support then you 26 turn your bridge into a bridging IP firewall. 33 will be called bridge. 39 depends on BRIDGE [all …]
|