]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: dsa: sja1105: Remove restriction of zero base-time for taprio offload
authorVladimir Oltean <olteanv@gmail.com>
Fri, 27 Dec 2019 01:03:54 +0000 (03:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Dec 2019 04:13:11 +0000 (20:13 -0800)
The check originates from the initial implementation which was not based
on PTP time but on a standalone clock source. In the meantime we can now
program the PTPSCHTM register at runtime with the dynamic base time
(actually with a value that is 200 ns smaller, to avoid writing DELTA=0
in the Schedule Entry Points Parameters Table). And we also have logic
for moving the actual base time in the future of the PHC's current time
base, so the check for zero serves no purpose, since even if the user
will specify zero, that's not what will end up in the static config
table where the limitation is.

Fixes: f05bd820eac4 ("net: dsa: sja1105: Implement state machine for TAS with PTP clock source")
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_tas.c

index 26b925b5daced04b2eebb353010220d927f2e239..fa6750d973d7b1a28528062b2dbd30f39868f87e 100644 (file)
@@ -477,11 +477,6 @@ int sja1105_setup_tc_taprio(struct dsa_switch *ds, int port,
        if (admin->cycle_time_extension)
                return -ENOTSUPP;
 
-       if (!ns_to_sja1105_delta(admin->base_time)) {
-               dev_err(ds->dev, "A base time of zero is not hardware-allowed\n");
-               return -ERANGE;
-       }
-
        for (i = 0; i < admin->num_entries; i++) {
                s64 delta_ns = admin->entries[i].interval;
                s64 delta_cycles = ns_to_sja1105_delta(delta_ns);