dsa.h (a7384f3918756c193e3fcd7e3111fc4bd3686013) dsa.h (d06f925f13976ab82167c93467c70a337a0a3cda)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * include/net/dsa.h - Driver for Distributed Switch Architecture switch chips
4 * Copyright (c) 2008-2009 Marvell Semiconductor
5 */
6
7#ifndef __LINUX_NET_DSA_H
8#define __LINUX_NET_DSA_H

--- 300 unchanged lines hidden (view full) ---

309
310 /* List of MAC addresses that must be forwarded on this port.
311 * These are only valid on CPU ports and DSA links.
312 */
313 struct mutex addr_lists_lock;
314 struct list_head fdbs;
315 struct list_head mdbs;
316
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * include/net/dsa.h - Driver for Distributed Switch Architecture switch chips
4 * Copyright (c) 2008-2009 Marvell Semiconductor
5 */
6
7#ifndef __LINUX_NET_DSA_H
8#define __LINUX_NET_DSA_H

--- 300 unchanged lines hidden (view full) ---

309
310 /* List of MAC addresses that must be forwarded on this port.
311 * These are only valid on CPU ports and DSA links.
312 */
313 struct mutex addr_lists_lock;
314 struct list_head fdbs;
315 struct list_head mdbs;
316
317 /* List of VLANs that CPU and DSA ports are members of. */
318 struct mutex vlans_lock;
317 struct mutex vlans_lock;
319 struct list_head vlans;
318 union {
319 /* List of VLANs that CPU and DSA ports are members of.
320 * Access to this is serialized by the sleepable @vlans_lock.
321 */
322 struct list_head vlans;
323 /* List of VLANs that user ports are members of.
324 * Access to this is serialized by netif_addr_lock_bh().
325 */
326 struct list_head user_vlans;
327 };
320};
321
322/* TODO: ideally DSA ports would have a single dp->link_dp member,
323 * and no dst->rtable nor this struct dsa_link would be needed,
324 * but this would require some more complex tree walking,
325 * so keep it stupid at the moment and list them all.
326 */
327struct dsa_link {

--- 534 unchanged lines hidden (view full) ---

862 */
863 void (*phylink_get_caps)(struct dsa_switch *ds, int port,
864 struct phylink_config *config);
865 struct phylink_pcs *(*phylink_mac_select_pcs)(struct dsa_switch *ds,
866 int port,
867 phy_interface_t iface);
868 int (*phylink_mac_link_state)(struct dsa_switch *ds, int port,
869 struct phylink_link_state *state);
328};
329
330/* TODO: ideally DSA ports would have a single dp->link_dp member,
331 * and no dst->rtable nor this struct dsa_link would be needed,
332 * but this would require some more complex tree walking,
333 * so keep it stupid at the moment and list them all.
334 */
335struct dsa_link {

--- 534 unchanged lines hidden (view full) ---

870 */
871 void (*phylink_get_caps)(struct dsa_switch *ds, int port,
872 struct phylink_config *config);
873 struct phylink_pcs *(*phylink_mac_select_pcs)(struct dsa_switch *ds,
874 int port,
875 phy_interface_t iface);
876 int (*phylink_mac_link_state)(struct dsa_switch *ds, int port,
877 struct phylink_link_state *state);
870 int (*phylink_mac_prepare)(struct dsa_switch *ds, int port,
871 unsigned int mode,
872 phy_interface_t interface);
873 void (*phylink_mac_config)(struct dsa_switch *ds, int port,
874 unsigned int mode,
875 const struct phylink_link_state *state);
878 void (*phylink_mac_config)(struct dsa_switch *ds, int port,
879 unsigned int mode,
880 const struct phylink_link_state *state);
876 int (*phylink_mac_finish)(struct dsa_switch *ds, int port,
877 unsigned int mode,
878 phy_interface_t interface);
879 void (*phylink_mac_an_restart)(struct dsa_switch *ds, int port);
880 void (*phylink_mac_link_down)(struct dsa_switch *ds, int port,
881 unsigned int mode,
882 phy_interface_t interface);
883 void (*phylink_mac_link_up)(struct dsa_switch *ds, int port,
884 unsigned int mode,
885 phy_interface_t interface,
886 struct phy_device *phydev,

--- 486 unchanged lines hidden ---
881 void (*phylink_mac_an_restart)(struct dsa_switch *ds, int port);
882 void (*phylink_mac_link_down)(struct dsa_switch *ds, int port,
883 unsigned int mode,
884 phy_interface_t interface);
885 void (*phylink_mac_link_up)(struct dsa_switch *ds, int port,
886 unsigned int mode,
887 phy_interface_t interface,
888 struct phy_device *phydev,

--- 486 unchanged lines hidden ---