Lines Matching refs:sparx5

58 void sparx5_set_port_ifh(struct sparx5 *sparx5, void *ifh_hdr, u16 portno)
67 ifh_encode_bitfield(ifh_hdr, is_sparx5(sparx5) ? 16 : 17, 37, 5);
71 ifh_encode_bitfield(ifh_hdr, sparx5_get_pgid(sparx5, SPX5_PORT_CPU_0),
72 46, is_sparx5(sparx5) ? 7 : 6);
74 ifh_encode_bitfield(ifh_hdr, 124, is_sparx5(sparx5) ? 57 : 56, 7);
76 ifh_encode_bitfield(ifh_hdr, 1, is_sparx5(sparx5) ? 67 : 66, 1);
84 void sparx5_set_port_ifh_pdu_type(struct sparx5 *sparx5, void *ifh_hdr,
87 ifh_encode_bitfield(ifh_hdr, pdu_type, is_sparx5(sparx5) ? 191 : 190,
91 void sparx5_set_port_ifh_pdu_w16_offset(struct sparx5 *sparx5, void *ifh_hdr,
95 is_sparx5(sparx5) ? 195 : 194, 6);
98 void sparx5_set_port_ifh_timestamp(struct sparx5 *sparx5, void *ifh_hdr,
102 is_sparx5(sparx5) ? 40 : 38);
123 err = sparx5_serdes_set(port->sparx5, port, &port->conf);
156 err = sparx5_serdes_set(port->sparx5, port, &port->conf);
168 struct sparx5 *sparx5 = port->sparx5;
170 if (!test_bit(port->portno, sparx5->bridge_mask))
190 struct sparx5 *sparx5 = port->sparx5;
197 sparx5_mact_forget(sparx5, dev->dev_addr, port->pvid);
200 sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU),
213 struct sparx5 *sparx5 = sparx5_port->sparx5;
215 ppid->id_len = sizeof(sparx5->base_mac);
216 memcpy(&ppid->id, &sparx5->base_mac, ppid->id_len);
225 struct sparx5 *sparx5 = sparx5_port->sparx5;
227 if (!sparx5->ptp)
240 struct sparx5 *sparx5 = sparx5_port->sparx5;
242 if (!sparx5->ptp)
269 struct net_device *sparx5_create_netdev(struct sparx5 *sparx5, u32 portno)
274 ndev = devm_alloc_etherdev_mqs(sparx5->dev, sizeof(struct sparx5_port),
282 SET_NETDEV_DEV(ndev, sparx5->dev);
285 spx5_port->sparx5 = sparx5;
291 eth_hw_addr_gen(ndev, sparx5->base_mac, portno + 1);
296 int sparx5_register_netdevs(struct sparx5 *sparx5)
301 for (portno = 0; portno < sparx5->data->consts->n_ports; portno++)
302 if (sparx5->ports[portno]) {
303 err = register_netdev(sparx5->ports[portno]->ndev);
305 dev_err(sparx5->dev,
310 sparx5_port_inj_timer_setup(sparx5->ports[portno]);
315 void sparx5_destroy_netdevs(struct sparx5 *sparx5)
320 for (portno = 0; portno < sparx5->data->consts->n_ports; portno++) {
321 port = sparx5->ports[portno];
334 void sparx5_unregister_netdevs(struct sparx5 *sparx5)
338 for (portno = 0; portno < sparx5->data->consts->n_ports; portno++)
339 if (sparx5->ports[portno])
340 unregister_netdev(sparx5->ports[portno]->ndev);