• Vinicius Costa Gomes's avatar
    igc: Add support for ETF offloading · 82faa9b7
    Vinicius Costa Gomes authored
    This adds support for ETF offloading for the i225 controller.
    
    For i225, the LaunchTime feature is almost a subset of the Qbv
    feature. The main change from the i210 is that the launchtime of each
    packet is specified as an offset applied to the BASET register. BASET
    is automatically incremented each cycle.
    
    For i225, the approach chosen is to re-use most of the setup used for
    taprio offloading. With a few changes:
    
     - The more or less obvious one is that when ETF is enabled, we should
     set add the expected launchtime to the (advanced) transmit
     descriptor;
    
     - The less obvious, is that when taprio offloading is not enabled, we
     add a dummy schedule (all queues are open all the time, with a cycle
     time of 1 second).
    Signed-off-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
    Reviewed-by: default avatarAndre Guedes <andre.guedes@intel.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    82faa9b7
igc_main.c 140 KB