|
24 | 24 | #define VSC9959_NUM_PORTS 6
|
25 | 25 |
|
26 | 26 | #define VSC9959_TAS_GCL_ENTRY_MAX 63
|
27 |
| -#define VSC9959_TAS_MIN_GATE_LEN_NS 33 |
| 27 | +#define VSC9959_TAS_MIN_GATE_LEN_NS 35 |
28 | 28 | #define VSC9959_VCAP_POLICER_BASE 63
|
29 | 29 | #define VSC9959_VCAP_POLICER_MAX 383
|
30 | 30 | #define VSC9959_SWITCH_PCI_BAR 4
|
@@ -1056,11 +1056,15 @@ static void vsc9959_mdio_bus_free(struct ocelot *ocelot)
|
1056 | 1056 | mdiobus_free(felix->imdio);
|
1057 | 1057 | }
|
1058 | 1058 |
|
1059 |
| -/* The switch considers any frame (regardless of size) as eligible for |
1060 |
| - * transmission if the traffic class gate is open for at least 33 ns. |
| 1059 | +/* The switch considers any frame (regardless of size) as eligible |
| 1060 | + * for transmission if the traffic class gate is open for at least |
| 1061 | + * VSC9959_TAS_MIN_GATE_LEN_NS. |
| 1062 | + * |
1061 | 1063 | * Overruns are prevented by cropping an interval at the end of the gate time
|
1062 |
| - * slot for which egress scheduling is blocked, but we need to still keep 33 ns |
1063 |
| - * available for one packet to be transmitted, otherwise the port tc will hang. |
| 1064 | + * slot for which egress scheduling is blocked, but we need to still keep |
| 1065 | + * VSC9959_TAS_MIN_GATE_LEN_NS available for one packet to be transmitted, |
| 1066 | + * otherwise the port tc will hang. |
| 1067 | + * |
1064 | 1068 | * This function returns the size of a gate interval that remains available for
|
1065 | 1069 | * setting the guard band, after reserving the space for one egress frame.
|
1066 | 1070 | */
|
@@ -1303,7 +1307,8 @@ static void vsc9959_tas_guard_bands_update(struct ocelot *ocelot, int port)
|
1303 | 1307 | * per-tc static guard band lengths, so it reduces the
|
1304 | 1308 | * useful gate interval length. Therefore, be careful
|
1305 | 1309 | * to calculate a guard band (and therefore max_sdu)
|
1306 |
| - * that still leaves 33 ns available in the time slot. |
| 1310 | + * that still leaves VSC9959_TAS_MIN_GATE_LEN_NS |
| 1311 | + * available in the time slot. |
1307 | 1312 | */
|
1308 | 1313 | max_sdu = div_u64(remaining_gate_len_ps, picos_per_byte);
|
1309 | 1314 | /* A TC gate may be completely closed, which is a
|
|
0 commit comments