Lines Matching +full:mac +full:-

1 // SPDX-License-Identifier: GPL-2.0
16 struct spl2sw_mac *mac = netdev_priv(ndev); in spl2sw_mii_link_change() local
17 struct phy_device *phydev = ndev->phydev; in spl2sw_mii_link_change()
18 struct spl2sw_common *comm = mac->comm; in spl2sw_mii_link_change()
21 reg = readl(comm->l2sw_reg_base + L2SW_MAC_FORCE_MODE); in spl2sw_mii_link_change()
23 if (phydev->link) { in spl2sw_mii_link_change()
24 reg |= FIELD_PREP(MAC_FORCE_RMII_LINK, mac->lan_port); in spl2sw_mii_link_change()
26 if (phydev->speed == 100) { in spl2sw_mii_link_change()
27 reg |= FIELD_PREP(MAC_FORCE_RMII_SPD, mac->lan_port); in spl2sw_mii_link_change()
29 reg &= FIELD_PREP(MAC_FORCE_RMII_SPD, ~mac->lan_port) | in spl2sw_mii_link_change()
33 if (phydev->duplex) { in spl2sw_mii_link_change()
34 reg |= FIELD_PREP(MAC_FORCE_RMII_DPX, mac->lan_port); in spl2sw_mii_link_change()
36 reg &= FIELD_PREP(MAC_FORCE_RMII_DPX, ~mac->lan_port) | in spl2sw_mii_link_change()
40 if (phydev->pause) { in spl2sw_mii_link_change()
41 reg |= FIELD_PREP(MAC_FORCE_RMII_FC, mac->lan_port); in spl2sw_mii_link_change()
43 reg &= FIELD_PREP(MAC_FORCE_RMII_FC, ~mac->lan_port) | in spl2sw_mii_link_change()
47 reg &= FIELD_PREP(MAC_FORCE_RMII_LINK, ~mac->lan_port) | in spl2sw_mii_link_change()
51 writel(reg, comm->l2sw_reg_base + L2SW_MAC_FORCE_MODE); in spl2sw_mii_link_change()
60 struct spl2sw_mac *mac; in spl2sw_phy_connect() local
64 if (comm->ndev[i]) { in spl2sw_phy_connect()
65 ndev = comm->ndev[i]; in spl2sw_phy_connect()
66 mac = netdev_priv(ndev); in spl2sw_phy_connect()
67 phydev = of_phy_connect(ndev, mac->phy_node, spl2sw_mii_link_change, in spl2sw_phy_connect()
68 0, mac->phy_mode); in spl2sw_phy_connect()
70 return -ENODEV; in spl2sw_phy_connect()
85 if (comm->ndev[i]) { in spl2sw_phy_remove()
86 ndev = comm->ndev[i]; in spl2sw_phy_remove()
88 phy_disconnect(ndev->phydev); in spl2sw_phy_remove()