Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
The MSCC bug fix in 'net' had to be slightly adjusted because the register accesses are done slightly differently in net-next. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -353,6 +353,8 @@ struct vsc8531_private {
|
||||
const struct vsc85xx_hw_stat *hw_stats;
|
||||
u64 *stats;
|
||||
int nstats;
|
||||
/* PHY address within the package. */
|
||||
u8 addr;
|
||||
/* For multiple port PHYs; the MDIO address of the base PHY in the
|
||||
* package.
|
||||
*/
|
||||
|
@@ -152,8 +152,8 @@
|
||||
#define MSCC_MAC_PAUSE_CFG_STATE_PAUSE_STATE BIT(0)
|
||||
#define MSCC_MAC_PAUSE_CFG_STATE_MAC_TX_PAUSE_GEN BIT(4)
|
||||
|
||||
#define MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL 0x2
|
||||
#define MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE(x) (x)
|
||||
#define MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE_M GENMASK(2, 0)
|
||||
#define MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL 0x2
|
||||
#define MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE(x) (x)
|
||||
#define MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE_M GENMASK(2, 0)
|
||||
|
||||
#endif /* _MSCC_PHY_LINE_MAC_H_ */
|
||||
|
@@ -316,6 +316,8 @@ static void vsc8584_macsec_mac_init(struct phy_device *phydev,
|
||||
/* Must be called with mdio_lock taken */
|
||||
static int __vsc8584_macsec_init(struct phy_device *phydev)
|
||||
{
|
||||
struct vsc8531_private *priv = phydev->priv;
|
||||
enum macsec_bank proc_bank;
|
||||
u32 val;
|
||||
|
||||
vsc8584_macsec_block_init(phydev, MACSEC_INGR);
|
||||
@@ -351,12 +353,14 @@ static int __vsc8584_macsec_init(struct phy_device *phydev)
|
||||
val |= MSCC_FCBUF_ENA_CFG_TX_ENA | MSCC_FCBUF_ENA_CFG_RX_ENA;
|
||||
vsc8584_macsec_phy_write(phydev, FC_BUFFER, MSCC_FCBUF_ENA_CFG, val);
|
||||
|
||||
val = vsc8584_macsec_phy_read(phydev, IP_1588,
|
||||
MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL);
|
||||
val &= ~MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE_M;
|
||||
val |= MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE(4);
|
||||
vsc8584_macsec_phy_write(phydev, IP_1588,
|
||||
MSCC_PROC_0_IP_1588_TOP_CFG_STAT_MODE_CTL, val);
|
||||
proc_bank = (priv->addr < 2) ? PROC_0 : PROC_2;
|
||||
|
||||
val = vsc8584_macsec_phy_read(phydev, proc_bank,
|
||||
MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL);
|
||||
val &= ~MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE_M;
|
||||
val |= MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL_PROTOCOL_MODE(4);
|
||||
vsc8584_macsec_phy_write(phydev, proc_bank,
|
||||
MSCC_PROC_IP_1588_TOP_CFG_STAT_MODE_CTL, val);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -64,7 +64,8 @@ enum macsec_bank {
|
||||
FC_BUFFER = 0x04,
|
||||
HOST_MAC = 0x05,
|
||||
LINE_MAC = 0x06,
|
||||
IP_1588 = 0x0e,
|
||||
PROC_0 = 0x0e,
|
||||
PROC_2 = 0x0f,
|
||||
MACSEC_INGR = 0x38,
|
||||
MACSEC_EGR = 0x3c,
|
||||
};
|
||||
|
@@ -1303,6 +1303,8 @@ static void vsc8584_get_base_addr(struct phy_device *phydev)
|
||||
vsc8531->base_addr = phydev->mdio.addr + addr;
|
||||
else
|
||||
vsc8531->base_addr = phydev->mdio.addr - addr;
|
||||
|
||||
vsc8531->addr = addr;
|
||||
}
|
||||
|
||||
static int vsc8584_config_init(struct phy_device *phydev)
|
||||
|
Reference in New Issue
Block a user