Home
last modified time | relevance | path

Searched refs:hsr (Results 1 – 25 of 29) sorted by relevance

12

/linux/net/hsr/
H A Dhsr_device.c52 hsr_for_each_port_rtnl(master->hsr, port) { in hsr_check_carrier()
66 struct hsr_priv *hsr; in hsr_check_announce() local
68 hsr = netdev_priv(hsr_dev); in hsr_check_announce()
71 if (!timer_pending(&hsr->announce_timer)) { in hsr_check_announce()
72 hsr->announce_count = 0; in hsr_check_announce()
73 mod_timer(&hsr->announce_timer, jiffies + in hsr_check_announce()
77 if (hsr->redbox && !timer_pending(&hsr->announce_proxy_timer)) in hsr_check_announce()
78 mod_timer(&hsr->announce_proxy_timer, jiffies + in hsr_check_announce()
82 timer_delete(&hsr->announce_timer); in hsr_check_announce()
83 if (hsr->redbox) in hsr_check_announce()
[all …]
H A Dhsr_framereg.c23 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_redbox() argument
25 if (!hsr->redbox || !is_valid_ether_addr(hsr->macaddress_redbox)) in hsr_addr_is_redbox()
28 return ether_addr_equal(addr, hsr->macaddress_redbox); in hsr_addr_is_redbox()
31 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_self() argument
37 sn = rcu_dereference(hsr->self_node); in hsr_addr_is_self()
77 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument
90 spin_lock_bh(&hsr->list_lock); in hsr_create_self_node()
91 old = rcu_replace_pointer(hsr->self_node, sn, in hsr_create_self_node()
92 lockdep_is_held(&hsr->list_lock)); in hsr_create_self_node()
93 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node()
[all …]
H A Dhsr_main.c21 static bool hsr_slave_empty(struct hsr_priv *hsr) in hsr_slave_empty() argument
25 hsr_for_each_port_rtnl(hsr, port) in hsr_slave_empty()
36 struct hsr_priv *hsr; in hsr_netdev_notify() local
46 hsr = netdev_priv(dev); in hsr_netdev_notify()
47 port = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_netdev_notify()
53 hsr = port->hsr; in hsr_netdev_notify()
60 hsr_check_carrier_and_operstate(hsr); in hsr_netdev_notify()
75 master = hsr_port_get_hsr(hsr, HSR_PT_MASTER); in hsr_netdev_notify()
82 if (hsr->prot_version == PRP_V1) { in hsr_netdev_notify()
83 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_B); in hsr_netdev_notify()
[all …]
H A Dhsr_slave.c28 struct hsr_priv *hsr; in hsr_handle_frame() local
43 hsr = port->hsr; in hsr_handle_frame()
45 if (hsr_addr_is_self(port->hsr, eth_hdr(skb)->h_source)) { in hsr_handle_frame()
59 hsr->proto_ops->invalid_dan_ingress_frame && in hsr_handle_frame()
60 hsr->proto_ops->invalid_dan_ingress_frame(protocol)) in hsr_handle_frame()
65 if ((!hsr->prot_version && protocol == htons(ETH_P_PRP)) || in hsr_handle_frame()
80 spin_lock_bh(&hsr->seqnr_lock); in hsr_handle_frame()
82 spin_unlock_bh(&hsr->seqnr_lock); in hsr_handle_frame()
141 static int hsr_portdev_setup(struct hsr_priv *hsr, struct net_device *dev, in hsr_portdev_setup() argument
154 if (!port->hsr->fwd_offloaded) { in hsr_portdev_setup()
[all …]
H A Dhsr_forward.c35 static bool is_supervision_frame(struct hsr_priv *hsr, struct sk_buff *skb) in is_supervision_frame() argument
48 hsr->sup_multicast_addr)) in is_supervision_frame()
63 if (hsr_V1_hdr->hsr.encap_proto != htons(ETH_P_PRP)) in is_supervision_frame()
120 static bool is_proxy_supervision_frame(struct hsr_priv *hsr, in is_proxy_supervision_frame() argument
145 return hsr_is_node_in_db(&hsr->proxy_node_db, in is_proxy_supervision_frame()
232 lane_id |= port->hsr->net_id; in prp_set_lan_id()
273 if (port->hsr->prot_version) { in hsr_set_path_id()
371 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version); in hsr_create_tagged_frame()
438 port->hsr->macaddress_redbox); in hsr_xmit()
471 hsr_is_node_in_db(&port->hsr->proxy_node_db, in hsr_drop_frame()
[all …]
H A Dhsr_netlink.c134 struct hsr_priv *hsr = netdev_priv(dev); in hsr_dellink() local
136 timer_delete_sync(&hsr->prune_timer); in hsr_dellink()
137 timer_delete_sync(&hsr->prune_proxy_timer); in hsr_dellink()
138 timer_delete_sync(&hsr->announce_timer); in hsr_dellink()
139 timer_delete_sync(&hsr->announce_proxy_timer); in hsr_dellink()
141 hsr_debugfs_term(hsr); in hsr_dellink()
142 hsr_del_ports(hsr); in hsr_dellink()
144 hsr_del_self_node(hsr); in hsr_dellink()
145 hsr_del_nodes(&hsr->node_db); in hsr_dellink()
146 hsr_del_nodes(&hsr->proxy_node_db); in hsr_dellink()
[all …]
H A Dhsr_framereg.h32 void hsr_del_self_node(struct hsr_priv *hsr);
38 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr);
39 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr);
52 int hsr_create_self_node(struct hsr_priv *hsr,
56 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos,
59 int hsr_get_node_data(struct hsr_priv *hsr,
H A Dhsr_main.h120 struct hsr_tag hsr; member
155 struct hsr_priv *hsr; member
224 #define hsr_for_each_port(hsr, port) \ argument
225 list_for_each_entry_rcu((port), &(hsr)->ports, port_list)
227 #define hsr_for_each_port_rtnl(hsr, port) \ argument
228 list_for_each_entry_rcu((port), &(hsr)->ports, port_list, lockdep_rtnl_is_held())
230 struct hsr_port *hsr_port_get_hsr(struct hsr_priv *hsr, enum hsr_port_type pt);
H A DMakefile6 obj-$(CONFIG_HSR) += hsr.o
8 hsr-y := hsr_main.o hsr_framereg.o hsr_device.o \
10 hsr-$(CONFIG_DEBUG_FS) += hsr_debugfs.o
H A Dhsr_device.h16 void hsr_del_ports(struct hsr_priv *hsr);
21 void hsr_check_carrier_and_operstate(struct hsr_priv *hsr);
22 int hsr_get_max_mtu(struct hsr_priv *hsr);
H A Dhsr_netlink.h23 void hsr_nl_ringerror(struct hsr_priv *hsr, unsigned char addr[ETH_ALEN],
25 void hsr_nl_nodedown(struct hsr_priv *hsr, unsigned char addr[ETH_ALEN]);
H A Dhsr_slave.h17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
/linux/arch/arm64/kvm/
H A Dtrace_handle_exit.h71 TP_PROTO(unsigned long hsr),
72 TP_ARGS(hsr),
75 __field(unsigned long, hsr)
79 __entry->hsr = hsr;
82 TP_printk("HSR 0x%08lx", __entry->hsr)
H A Dtrace_arm.h54 TP_PROTO(unsigned long vcpu_pc, unsigned long hsr,
57 TP_ARGS(vcpu_pc, hsr, hxfar, ipa),
61 __field( unsigned long, hsr )
68 __entry->hsr = hsr;
74 __entry->ipa, __entry->hsr,
H A Dhandle_exit.c200 run->debug.arch.hsr = lower_32_bits(esr); in kvm_handle_guest_debug()
/linux/tools/testing/selftests/net/hsr/
H A Dhsr_redbox.sh71 ip link help hsr | grep -q INTERLINK
114 …ip -net "${ns1}" link add name hsr1 type hsr slave1 ns1eth1 slave2 ns1eth2 supervision 45 version …
115 …ip -net "${ns2}" link add name hsr2 type hsr slave1 ns2eth1 slave2 ns2eth2 interlink ns2eth3 super…
/linux/net/dsa/
H A Dport.h106 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr,
108 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr);
H A Ddsa.c1777 struct net_device *hsr, in dsa_port_simple_hsr_validate() argument
1783 err = hsr_get_port_type(hsr, dsa_to_port(ds, port)->user, &type); in dsa_port_simple_hsr_validate()
1798 struct net_device *hsr, in dsa_port_simple_hsr_join() argument
1804 err = dsa_port_simple_hsr_validate(ds, port, hsr, extack); in dsa_port_simple_hsr_join()
1808 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_join()
1821 struct net_device *hsr) in dsa_port_simple_hsr_leave() argument
1825 dsa_hsr_foreach_port(other_dp, ds, hsr) { in dsa_port_simple_hsr_leave()
H A Dport.c1889 int dsa_port_hsr_join(struct dsa_port *dp, struct net_device *hsr, in dsa_port_hsr_join() argument
1898 dp->hsr_dev = hsr; in dsa_port_hsr_join()
1900 err = ds->ops->port_hsr_join(ds, dp->index, hsr, extack); in dsa_port_hsr_join()
1907 void dsa_port_hsr_leave(struct dsa_port *dp, struct net_device *hsr) in dsa_port_hsr_leave() argument
1918 err = ds->ops->port_hsr_leave(ds, dp->index, hsr); in dsa_port_hsr_leave()
1922 dp->index, hsr->name, ERR_PTR(err)); in dsa_port_hsr_leave()
/linux/include/net/
H A Ddsa.h1214 struct net_device *hsr,
1217 struct net_device *hsr);
1323 struct net_device *hsr,
1326 struct net_device *hsr,
1329 struct net_device *hsr);
/linux/drivers/net/dsa/microchip/
H A Dksz9477.c1538 void ksz9477_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_join() argument
1550 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join()
1554 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join()
1577 void ksz9477_hsr_leave(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_leave() argument
/linux/drivers/gpu/drm/amd/display/dc/basics/
H A Ddce_calcs.c483 data->hsr[i] = data->hsr_after_stereo; in calculate_bandwidth()
519 if (bw_neq(data->hsr[i], bw_int_to_fixed(1))) { in calculate_bandwidth()
520 if (bw_mtn(data->hsr[i], bw_int_to_fixed(4))) { in calculate_bandwidth()
524 if (bw_mtn(data->hsr[i], data->h_taps[i])) { in calculate_bandwidth()
528 … (dceip->pre_downscaler_enabled == 1 && bw_mtn(data->hsr[i], bw_int_to_fixed(1)) && bw_leq(data->h… in calculate_bandwidth()
554 if ((dceip->pre_downscaler_enabled && bw_mtn(data->hsr[i], bw_int_to_fixed(1)))) { in calculate_bandwidth()
555 data->source_width_in_lb = bw_div(data->source_width_pixels[i], data->hsr[i]); in calculate_bandwidth()
851 …data->source_width_pixels[i], bw_int_to_fixed(dceip->chunk_width))), data->hsr[i]))), bw_int_to_fi… in calculate_bandwidth()
1192 …data->active_time[i] = bw_div(bw_div(data->source_width_rounded_up_to_chunks[i], data->hsr[i]), da… in calculate_bandwidth()
1252 if (dceip->pre_downscaler_enabled && bw_mtn(data->hsr[i], bw_int_to_fixed(1))) { in calculate_bandwidth()
[all …]
/linux/drivers/net/dsa/ocelot/
H A Dfelix.c2259 struct net_device *hsr, in felix_port_hsr_join() argument
2268 err = dsa_port_simple_hsr_validate(ds, port, hsr, extack); in felix_port_hsr_join()
2280 return dsa_port_simple_hsr_join(ds, port, hsr, extack); in felix_port_hsr_join()
2284 struct net_device *hsr) in felix_port_hsr_leave() argument
2295 return dsa_port_simple_hsr_leave(ds, port, hsr); in felix_port_hsr_leave()
/linux/tools/testing/selftests/
H A DMakefile75 TARGETS += net/hsr
/linux/drivers/gpu/drm/amd/display/dc/inc/
H A Ddce_calcs.h402 struct bw_fixed hsr[maximum_number_of_surfaces]; member

12