net: dsa: felix: convert TAS link speed based on phylink speed
state->speed holds a value of 10, 100, 1000 or 2500, but QSYS_TAG_CONFIG_LINK_SPEED expects a value of 0, 1, 2, 3. So convert the speed to a proper value. Fixes: de143c0e274b ("net: dsa: felix: Configure Time-Aware Scheduler via taprio offload") Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f68910a805
commit
dba1e4660a
@ -1284,8 +1284,28 @@ void vsc9959_mdio_bus_free(struct ocelot *ocelot)
|
||||
static void vsc9959_sched_speed_set(struct ocelot *ocelot, int port,
|
||||
u32 speed)
|
||||
{
|
||||
u8 tas_speed;
|
||||
|
||||
switch (speed) {
|
||||
case SPEED_10:
|
||||
tas_speed = OCELOT_SPEED_10;
|
||||
break;
|
||||
case SPEED_100:
|
||||
tas_speed = OCELOT_SPEED_100;
|
||||
break;
|
||||
case SPEED_1000:
|
||||
tas_speed = OCELOT_SPEED_1000;
|
||||
break;
|
||||
case SPEED_2500:
|
||||
tas_speed = OCELOT_SPEED_2500;
|
||||
break;
|
||||
default:
|
||||
tas_speed = OCELOT_SPEED_1000;
|
||||
break;
|
||||
}
|
||||
|
||||
ocelot_rmw_rix(ocelot,
|
||||
QSYS_TAG_CONFIG_LINK_SPEED(speed),
|
||||
QSYS_TAG_CONFIG_LINK_SPEED(tas_speed),
|
||||
QSYS_TAG_CONFIG_LINK_SPEED_M,
|
||||
QSYS_TAG_CONFIG, port);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user