Home
last modified time | relevance | path

Searched full:bridge (Results 1 – 25 of 1887) sorted by relevance

12345678910>>...76

/linux/drivers/gpu/drm/
H A Ddrm_bridge.c49 * A bridge is always attached to a single &drm_encoder at a time, but can be
52 * [ CRTC ---> ] Encoder ---> Bridge A ---> Bridge B
54 * Here, the output of the encoder feeds to bridge A, and that furthers feeds to
55 * bridge B. Bridge chains can be arbitrarily long, and shall be fully linear:
56 * Chaining multiple bridges to the output of a bridge, or the same bridge to
68 * Display drivers are responsible for linking encoders with the first bridge
69 * in the chains. This is done by acquiring the appropriate bridge with
70 * devm_drm_of_get_bridge(). Once acquired, the bridge shall be attached to the
73 * Bridges are responsible for linking themselves with the next bridge in the
95 * DRM bridge chain functions shall be called manually.
[all …]
/linux/drivers/gpu/drm/display/
H A Ddrm_bridge_connector.c31 * The DRM bridge connector helper object provides a DRM connector
37 * To use the helper, display controller drivers create a bridge connector with
43 * The DRM bridge connector operations are implemented based on the operations
45 * to the bridge closest to the connector (at the end of the chain) that
48 * To make use of this helper, all bridges in the chain shall report bridge
49 * operation flags (&drm_bridge->ops) and bridge output type
71 * The last bridge in the chain (closest to the connector) that provides
78 * The last bridge in the chain (closest to the connector) that provides
85 * The last bridge in the chain (closest to the connector) that provides
92 * The last bridge in the chain (closest to the connector) that provides
[all …]
/linux/drivers/char/agp/
H A Dbackend.c70 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 Dgeneric.c178 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/drivers/media/i2c/
H A Dst-mipid02.c3 * Driver for ST MIPID02 CSI-2 to PARALLEL bridge
216 static int mipid02_get_regulators(struct mipid02_dev *bridge) in mipid02_get_regulators() argument
221 bridge->supplies[i].supply = mipid02_supply_name[i]; in mipid02_get_regulators()
223 return devm_regulator_bulk_get(&bridge->i2c_client->dev, in mipid02_get_regulators()
225 bridge->supplies); in mipid02_get_regulators()
228 static void mipid02_apply_reset(struct mipid02_dev *bridge) in mipid02_apply_reset() argument
230 gpiod_set_value_cansleep(bridge->reset_gpio, 0); in mipid02_apply_reset()
232 gpiod_set_value_cansleep(bridge->reset_gpio, 1); in mipid02_apply_reset()
234 gpiod_set_value_cansleep(bridge->reset_gpio, 0); in mipid02_apply_reset()
241 struct mipid02_dev *bridge = to_mipid02_dev(sd); in mipid02_set_power_on() local
[all …]
/linux/tools/testing/selftests/net/forwarding/
H A Dbridge_mdb.sh67 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 Dbridge_locked_port.sh45 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 …]
/linux/drivers/gpu/drm/bridge/
H A Dpanel.c22 struct drm_bridge bridge; member
29 drm_bridge_to_panel_bridge(struct drm_bridge *bridge) in drm_bridge_to_panel_bridge() argument
31 return container_of(bridge, struct panel_bridge, bridge); in drm_bridge_to_panel_bridge()
61 static int panel_bridge_attach(struct drm_bridge *bridge, in panel_bridge_attach() argument
65 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_attach()
75 ret = drm_connector_init(bridge->dev, connector, in panel_bridge_attach()
83 drm_panel_bridge_set_orientation(connector, bridge); in panel_bridge_attach()
88 if (bridge->dev->registered) { in panel_bridge_attach()
97 static void panel_bridge_detach(struct drm_bridge *bridge) in panel_bridge_detach() argument
99 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_detach()
[all …]
H A Ddisplay-connector.c21 struct drm_bridge bridge; member
31 to_display_connector(struct drm_bridge *bridge) in to_display_connector() argument
33 return container_of(bridge, struct display_connector, bridge); in to_display_connector()
36 static int display_connector_attach(struct drm_bridge *bridge, in display_connector_attach() argument
43 static enum drm_connector_status display_connector_detect(struct drm_bridge *bridge) in display_connector_detect() argument
45 struct display_connector *conn = to_display_connector(bridge); in display_connector_detect()
54 if (conn->bridge.ddc && drm_probe_ddc(conn->bridge.ddc)) in display_connector_detect()
57 switch (conn->bridge.type) { in display_connector_detect()
85 display_connector_bridge_detect(struct drm_bridge *bridge, struct drm_connector *connector) in display_connector_bridge_detect() argument
87 return display_connector_detect(bridge); in display_connector_bridge_detect()
[all …]
H A Dti-tpd12s015.c25 struct drm_bridge bridge; member
35 static inline struct tpd12s015_device *to_tpd12s015(struct drm_bridge *bridge) in to_tpd12s015() argument
37 return container_of(bridge, struct tpd12s015_device, bridge); in to_tpd12s015()
40 static int tpd12s015_attach(struct drm_bridge *bridge, in tpd12s015_attach() argument
44 struct tpd12s015_device *tpd = to_tpd12s015(bridge); in tpd12s015_attach()
51 bridge, flags); in tpd12s015_attach()
63 static void tpd12s015_detach(struct drm_bridge *bridge) in tpd12s015_detach() argument
65 struct tpd12s015_device *tpd = to_tpd12s015(bridge); in tpd12s015_detach()
70 static enum drm_connector_status tpd12s015_detect(struct drm_bridge *bridge) in tpd12s015_detect() argument
72 struct tpd12s015_device *tpd = to_tpd12s015(bridge); in tpd12s015_detect()
[all …]
/linux/drivers/media/usb/gspca/m5602/
H A Dm5602_ov7660.c23 {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 Dm5602_s5k4aa.c20 {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 Dm5602_s5k83a.c41 {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/include/drm/
H A Ddrm_bridge.h54 * @DRM_BRIDGE_ATTACH_NO_CONNECTOR: When this flag is set the bridge
67 * This callback is invoked whenever our bridge is being attached to a
77 int (*attach)(struct drm_bridge *bridge, struct drm_encoder *encoder,
83 * This callback is invoked when the bridge is about to be
88 void (*destroy)(struct drm_bridge *bridge);
93 * This callback is invoked whenever our bridge is being detached from a
98 void (*detach)(struct drm_bridge *bridge);
104 * bridge. This should be implemented if the bridge has some sort of
105 * restriction in the modes it can display. For example, a given bridge
131 enum drm_mode_status (*mode_valid)(struct drm_bridge *bridge,
[all …]
/linux/drivers/pci/
H A Dpci-bridge-emul.c8 * 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 …]
/linux/Documentation/networking/
H A Dbridge.rst11 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 Dvme_fake.c3 * 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 Dvme.c3 * 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 Dvxlan.sh89 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 …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_eswitch_br.c244 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/drivers/net/ethernet/mellanox/mlx5/core/esw/
H A Dbridge.c10 #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 …]
/linux/Documentation/networking/device_drivers/ethernet/ti/
H A Dcpsw_switchdev.rst34 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 Dacpiphp_glue.c22 * 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 Dconfiguration.rst21 *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 Dfpga-bridge-test.c3 * 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 …]

12345678910>>...76