On Fri Jan 16, 2026 at 9:15 PM CET, John Hubbard wrote:
> I missed something here. Could you elaborate just a bit more on
> your proposal please?
Both HALs Ampere and Turing implement the same code to reset the falcon engine:
regs::NV_PFALCON_FALCON_ENGINE::update(bar, &E::ID, |v|
v.set_reset(true));
// TIMEOUT: falcon engine should not take more than 10us to reset.
fsleep(Delta::from_micros(10));
regs::NV_PFALCON_FALCON_ENGINE::update(bar, &E::ID, |v|
v.set_reset(false));
Instead of repeating this code we can just add a new function
regs::NV_PFALCON_FALCON_ENGINE::reset() that toggles the bit with a
corresponding delay.
So far the delay is always the same, should a different delay be required for
another architecture, we can also pass it to
regs::NV_PFALCON_FALCON_ENGINE::reset() as argument, but that doesn't seem to be
necessary.