• Ben Hutchings's avatar
    sfc: Correct interrupt timer quantum for Siena (normal and turbo mode) · cc180b69
    Ben Hutchings authored
    We currently assume that the timer quantum for Siena is 5 us, the same
    as for Falcon.  This is not correct; timer ticks are generated on a
    rota which takes a minimum of 768 cycles (each event delivery or other
    timer change will delay it by 3 cycles).  The timer quantum should be
    6.144 or 3.072 us depending on whether turbo mode is active.
    
    Replace EFX_IRQ_MOD_RESOLUTION with a timer_quantum_ns field in struct
    efx_nic, initialised by the efx_nic_type::probe function.
    
    While we're at it, replace EFX_IRQ_MOD_MAX with a timer_period_max
    field in struct efx_nic_type.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    cc180b69
falcon.c 50.7 KB