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.

Reply via email to