• Ilan Peer's avatar
    iwlwifi: mvm: Add FTM initiator RTT smoothing logic · b68bd2e3
    Ilan Peer authored
    The overcome instabilities in the RTT results add smoothing logic
    to the reported results. In short, the smoothing logic tracks the
    RTT average of each responder for a period of time, and in case
    a new RTT results is found to be a spur, the tracked RTT average
    is reported instead of the current RTT measurement.
    
    Smooth logic debug configuration using iwl-dbg-cfg.ini:
    
    - MVM_FTM_INITIATOR_ENABLE_SMOOTH: Set to 1 to enable smoothing logic
     (default=0).
    - MVM_FTM_INITIATOR_SMOOTH_ALPHA: A value between 0 - 100, defining
      the weight of the current RTT results vs. the RTT average tracked
      based on the previous results. A value of 100 means use only the
      current RTT results.
    - MVM_FTM_INITIATOR_SMOOTH_AGE_SEC: The maximal time in seconds in which
      the RTT average tracked based on previous results is considered valid.
    - MVM_FTM_INITIATOR_SMOOTH_UNDERSHOOT: if the current RTT is positive
      and below the RTT average by at least this value, report the average
      RTT instead of the current one. In units of picoseconds.
    - MVM_FTM_INITIATOR_SMOOTH_OVERSHOOT: if the current RTT is positive
      and above the RTT average by at least this value, report the average
      RTT instead of the current one. In units of picoseconds.
    Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
    Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
    Link: https://lore.kernel.org/r/iwlwifi.20200930161256.48a9cec2081b.Iaec1e29f738232adfe9e2ea8e9eb9b6ff0323ae1@changeidSigned-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
    b68bd2e3
ftm-initiator.c 28.6 KB