• Jacob Keller's avatar
    fm10k: Add support for ITR scaling based on PCIe link speed · 20076fa1
    Jacob Keller authored
    The Intel Ethernet Switch FM10000 Host Interface interrupt throttle
    timers are based on the PCIe link speed. Because of this, the value
    being programmed into the ITR registers must be scaled accordingly.
    
    For the PF, this is as simple as reading the PCIe link speed and storing
    the result. However, in the case of SR-IOV, the VF's interrupt throttle
    timers are based on the link speed of the PF. However, the VF is unable
    to get the link speed information from its configuration space, so the
    PF must inform it of what scale to use.
    
    Rather than pass this scale via mailbox message, take advantage of
    unused bits in the TDLEN register to pass the scale. It is the
    responsibility of the PF to program this for the VF while setting up the
    VF queues and the responsibility of the VF to get the information
    accordingly. This is preferable because it allows the VF to set up the
    interrupts properly during initialization and matches how the MAC
    address is passed in the TDBAL/TDBAH registers.
    
    Since we're modifying fm10k_type.h, we may as well also update the
    copyright year.
    Reported-by: default avatarMatthew Vick <matthew.vick@intel.com>
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Reviewed-by: default avatarBruce Allan <bruce.w.allan@intel.com>
    Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    20076fa1
fm10k_pf.c 59.3 KB