On Tue Jan 19 2021, Jakub Kicinski wrote:
On Sat, 16 Jan 2021 13:49:22 +0100 Kurt Kanzenbach wrote:
quoted
+ if (base_time_ns - current_ns < (s64)8 * NSEC_PER_SEC)
+ return true;
+
+ return false;
nit:
return base_time_ns - current_ns < (s64)8 * NSEC_PER_SEC;
Sure.
quoted
+ /* Schedule periodic schedule check */
+ schedule_delayed_work(&hellcreek_port->schedule_work,
+ HELLCREEK_SCHEDULE_PERIOD);
Why schedule this work every 2 seconds rather than scheduling it
$start_time - 8 sec + epsilon?
The two seconds are taken from the programming guide. That's why I used
it.
The PTP frequency starts to matter for large deltas. In theory the
rescheduling period can be increased [1]. Should I adjust it?
quoted
+static bool hellcreek_validate_schedule(struct hellcreek *hellcreek,
+ struct tc_taprio_qopt_offload *schedule)
+{
+ /* Does this hellcreek version support Qbv in hardware? */
+ if (!hellcreek->pdata->qbv_support)
+ return false;
+
+ /* cycle time can only be 32bit */
+ if (schedule->cycle_time > (u32)-1)
+ return false;
+
+ /* cycle time extension is not supported */
+ if (schedule->cycle_time_extension)
+ return false;
What's the story with entries[i].command? I see most drivers validate
the command is what they expect.
Good catch! I'll add the validation.
Thanks,
Kurt
[1] - https://lkml.kernel.org/netdev/20200901144755.jd2wnmweywwvkwvl@skbuf/