|
|
|
@ -1002,6 +1002,34 @@ ar8327_phy_fixup(struct ar8xxx_priv *priv, int phy)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static u32
|
|
|
|
|
ar8327_get_port_init_status(struct ar8327_port_cfg *cfg)
|
|
|
|
|
{
|
|
|
|
|
u32 t;
|
|
|
|
|
|
|
|
|
|
if (!cfg->force_link)
|
|
|
|
|
return AR8216_PORT_STATUS_LINK_AUTO;
|
|
|
|
|
|
|
|
|
|
t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
|
|
|
|
|
t |= cfg->duplex ? AR8216_PORT_STATUS_DUPLEX : 0;
|
|
|
|
|
t |= cfg->rxpause ? AR8216_PORT_STATUS_RXFLOW : 0;
|
|
|
|
|
t |= cfg->txpause ? AR8216_PORT_STATUS_TXFLOW : 0;
|
|
|
|
|
|
|
|
|
|
switch (cfg->speed) {
|
|
|
|
|
case AR8327_PORT_SPEED_10:
|
|
|
|
|
t |= AR8216_PORT_SPEED_10M;
|
|
|
|
|
break;
|
|
|
|
|
case AR8327_PORT_SPEED_100:
|
|
|
|
|
t |= AR8216_PORT_SPEED_100M;
|
|
|
|
|
break;
|
|
|
|
|
case AR8327_PORT_SPEED_1000:
|
|
|
|
|
t |= AR8216_PORT_SPEED_1000M;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return t;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
|
ar8327_hw_init(struct ar8xxx_priv *priv)
|
|
|
|
|
{
|
|
|
|
@ -1086,34 +1114,6 @@ ar8327_init_globals(struct ar8xxx_priv *priv)
|
|
|
|
|
AR8327_MODULE_EN_MIB);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static u32
|
|
|
|
|
ar8327_get_port_init_status(struct ar8327_port_cfg *cfg)
|
|
|
|
|
{
|
|
|
|
|
u32 t;
|
|
|
|
|
|
|
|
|
|
if (!cfg->force_link)
|
|
|
|
|
return AR8216_PORT_STATUS_LINK_AUTO;
|
|
|
|
|
|
|
|
|
|
t = AR8216_PORT_STATUS_TXMAC | AR8216_PORT_STATUS_RXMAC;
|
|
|
|
|
t |= cfg->duplex ? AR8216_PORT_STATUS_DUPLEX : 0;
|
|
|
|
|
t |= cfg->rxpause ? AR8216_PORT_STATUS_RXFLOW : 0;
|
|
|
|
|
t |= cfg->txpause ? AR8216_PORT_STATUS_TXFLOW : 0;
|
|
|
|
|
|
|
|
|
|
switch (cfg->speed) {
|
|
|
|
|
case AR8327_PORT_SPEED_10:
|
|
|
|
|
t |= AR8216_PORT_SPEED_10M;
|
|
|
|
|
break;
|
|
|
|
|
case AR8327_PORT_SPEED_100:
|
|
|
|
|
t |= AR8216_PORT_SPEED_100M;
|
|
|
|
|
break;
|
|
|
|
|
case AR8327_PORT_SPEED_1000:
|
|
|
|
|
t |= AR8216_PORT_SPEED_1000M;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return t;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
ar8327_init_port(struct ar8xxx_priv *priv, int port)
|
|
|
|
|
{
|
|
|
|
|