On Tue Jan 19 2021, Jakub Kicinski wrote: > On Sat, 16 Jan 2021 13:49:22 +0100 Kurt Kanzenbach wrote: >> + 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. >> + /* 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? > >> +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/
signature.asc
Description: PGP signature