@@ -1402,16 +1402,12 @@ static void b53_br_leave(struct dsa_switch *ds, int port)
1402
1402
}
1403
1403
}
1404
1404
1405
- static void b53_br_set_stp_state (struct dsa_switch * ds , int port ,
1406
- u8 state )
1405
+ static void b53_br_set_stp_state (struct dsa_switch * ds , int port , u8 state )
1407
1406
{
1408
1407
struct b53_device * dev = ds -> priv ;
1409
- u8 hw_state , cur_hw_state ;
1408
+ u8 hw_state ;
1410
1409
u8 reg ;
1411
1410
1412
- b53_read8 (dev , B53_CTRL_PAGE , B53_PORT_CTRL (port ), & reg );
1413
- cur_hw_state = reg & PORT_CTRL_STP_STATE_MASK ;
1414
-
1415
1411
switch (state ) {
1416
1412
case BR_STATE_DISABLED :
1417
1413
hw_state = PORT_CTRL_DIS_STATE ;
@@ -1433,26 +1429,20 @@ static void b53_br_set_stp_state(struct dsa_switch *ds, int port,
1433
1429
return ;
1434
1430
}
1435
1431
1436
- /* Fast-age ARL entries if we are moving a port from Learning or
1437
- * Forwarding (cur_hw_state) state to Disabled, Blocking or Listening
1438
- * state (hw_state)
1439
- */
1440
- if (cur_hw_state != hw_state ) {
1441
- if (cur_hw_state >= PORT_CTRL_LEARN_STATE &&
1442
- hw_state <= PORT_CTRL_LISTEN_STATE ) {
1443
- if (b53_fast_age_port (dev , port )) {
1444
- dev_err (ds -> dev , "fast ageing failed\n" );
1445
- return ;
1446
- }
1447
- }
1448
- }
1449
-
1450
1432
b53_read8 (dev , B53_CTRL_PAGE , B53_PORT_CTRL (port ), & reg );
1451
1433
reg &= ~PORT_CTRL_STP_STATE_MASK ;
1452
1434
reg |= hw_state ;
1453
1435
b53_write8 (dev , B53_CTRL_PAGE , B53_PORT_CTRL (port ), reg );
1454
1436
}
1455
1437
1438
+ static void b53_br_fast_age (struct dsa_switch * ds , int port )
1439
+ {
1440
+ struct b53_device * dev = ds -> priv ;
1441
+
1442
+ if (b53_fast_age_port (dev , port ))
1443
+ dev_err (ds -> dev , "fast ageing failed\n" );
1444
+ }
1445
+
1456
1446
static enum dsa_tag_protocol b53_get_tag_protocol (struct dsa_switch * ds )
1457
1447
{
1458
1448
return DSA_TAG_PROTO_NONE ;
@@ -1472,6 +1462,7 @@ static struct dsa_switch_ops b53_switch_ops = {
1472
1462
.port_bridge_join = b53_br_join ,
1473
1463
.port_bridge_leave = b53_br_leave ,
1474
1464
.port_stp_state_set = b53_br_set_stp_state ,
1465
+ .port_fast_age = b53_br_fast_age ,
1475
1466
.port_vlan_filtering = b53_vlan_filtering ,
1476
1467
.port_vlan_prepare = b53_vlan_prepare ,
1477
1468
.port_vlan_add = b53_vlan_add ,
0 commit comments