/linux/net/hsr/ |
H A D | hsr_device.c | 52 hsr_for_each_port(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 D | hsr_framereg.c | 39 bool hsr_addr_is_redbox(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_redbox() argument 41 if (!hsr->redbox || !is_valid_ether_addr(hsr->macaddress_redbox)) in hsr_addr_is_redbox() 44 return ether_addr_equal(addr, hsr->macaddress_redbox); in hsr_addr_is_redbox() 47 bool hsr_addr_is_self(struct hsr_priv *hsr, unsigned char *addr) in hsr_addr_is_self() argument 53 sn = rcu_dereference(hsr->self_node); in hsr_addr_is_self() 93 int hsr_create_self_node(struct hsr_priv *hsr, in hsr_create_self_node() argument 106 spin_lock_bh(&hsr->list_lock); in hsr_create_self_node() 107 old = rcu_replace_pointer(hsr->self_node, sn, in hsr_create_self_node() 108 lockdep_is_held(&hsr->list_lock)); in hsr_create_self_node() 109 spin_unlock_bh(&hsr->list_lock); in hsr_create_self_node() [all …]
|
H A D | hsr_main.c | 21 static bool hsr_slave_empty(struct hsr_priv *hsr) in hsr_slave_empty() argument 25 hsr_for_each_port(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() 84 port = hsr_port_get_hsr(hsr, HSR_PT_SLAVE_B); in hsr_netdev_notify() 85 res = hsr_create_self_node(hsr, in hsr_netdev_notify() [all …]
|
H A D | hsr_forward.c | 35 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() 230 lane_id |= port->hsr->net_id; in prp_set_lan_id() 361 return hsr_fill_tag(skb, frame, port, port->hsr->prot_version); in hsr_create_tagged_frame() 428 port->hsr->macaddress_redbox); in hsr_xmit() 461 hsr_is_node_in_db(&port->hsr->proxy_node_db, in hsr_drop_frame() 474 hsr_is_node_in_db(&port->hsr->node_db, in hsr_drop_frame() [all …]
|
H A D | hsr_framereg.h | 32 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); 53 int hsr_create_self_node(struct hsr_priv *hsr, 57 void *hsr_get_next_node(struct hsr_priv *hsr, void *_pos, 60 int hsr_get_node_data(struct hsr_priv *hsr,
|
H A D | Makefile | 6 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 D | hsr_device.h | 16 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 D | hsr_netlink.h | 23 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 D | hsr_slave.h | 17 int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
|
/linux/arch/arm64/kvm/ |
H A D | trace_handle_exit.h | 71 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 D | trace_arm.h | 54 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 D | handle_exit.c | 190 run->debug.arch.hsr = lower_32_bits(esr); in kvm_handle_guest_debug()
|
/linux/tools/testing/selftests/net/hsr/ |
H A D | hsr_redbox.sh | 71 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 D | port.h | 106 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);
|
/linux/drivers/net/dsa/microchip/ |
H A D | ksz9477.h | 61 void ksz9477_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr); 62 void ksz9477_hsr_leave(struct dsa_switch *ds, int port, struct net_device *hsr);
|
H A D | ksz9477.c | 1276 void ksz9477_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_join() argument 1288 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join() 1292 dsa_hsr_foreach_port(hsr_dp, ds, hsr) in ksz9477_hsr_join() 1315 void ksz9477_hsr_leave(struct dsa_switch *ds, int port, struct net_device *hsr) in ksz9477_hsr_leave() argument
|
H A D | ksz_common.c | 4527 static int ksz_hsr_join(struct dsa_switch *ds, int port, struct net_device *hsr, in ksz_hsr_join() argument 4534 ret = hsr_get_version(hsr, &ver); in ksz_hsr_join() 4544 if (dev->hsr_dev && hsr != dev->hsr_dev) { in ksz_hsr_join() 4569 ksz9477_hsr_join(ds, port, hsr); in ksz_hsr_join() 4570 dev->hsr_dev = hsr; in ksz_hsr_join() 4577 struct net_device *hsr) in ksz_hsr_leave() argument 4583 ksz9477_hsr_leave(ds, port, hsr); in ksz_hsr_leave()
|
/linux/Documentation/networking/ |
H A D | netdev-features.rst | 171 * hsr-tag-ins-offload 176 * hsr-tag-rm-offload 181 * hsr-fwd-offload 186 * hsr-dup-offload
|
/linux/tools/arch/arm64/include/uapi/asm/ |
H A D | kvm.h | 146 __u32 hsr; member
|
/linux/drivers/gpu/drm/amd/display/dc/basics/ |
H A D | dce_calcs.c | 483 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 …]
|
H A D | calcs_logger.h | 438 DC_LOG_BANDWIDTH_CALCS(" [bw_fixed] hsr[%d]:%d", i, bw_fixed_to_int(data->hsr[i])); in print_bw_calcs_data()
|
/linux/drivers/gpu/drm/amd/display/dc/inc/ |
H A D | dce_calcs.h | 402 struct bw_fixed hsr[maximum_number_of_surfaces]; member
|
/linux/sound/pci/asihpi/ |
H A D | hpi6205.c | 712 u32 hsr = 0; in adapter_irq_query_and_clear() local 714 hsr = ioread32(phw->prHSR); in adapter_irq_query_and_clear() 715 if (hsr & C6205_HSR_INTSRC) { in adapter_irq_query_and_clear()
|
/linux/net/ |
H A D | Kconfig | 275 source "net/hsr/Kconfig"
|
/linux/Documentation/networking/dsa/ |
H A D | dsa.rst | 1104 In Linux, both HSR and PRP are implemented in the hsr driver, which 1108 of RedBox and QuadBox are not implemented (therefore, bridging a hsr network
|