Skip to content
  1. Nov 14, 2022
  2. Nov 12, 2022
  3. Nov 11, 2022
    • David S. Miller's avatar
      Merge branch 'ptp-adjfreq-copnvert' · 2cf7e87f
      David S. Miller authored
      
      
      Jacob Keller says:
      
      ====================
      ptp: convert remaining users of .adjfreq
      
      A handful of drivers remain which still use the .adjfreq interface instead
      of the newer .adjfine interface. The new interface is preferred as it has a
      more precise adjustment using scaled parts per million.
      
      A handful of the remaining drivers are implemented with a common pattern
      that can be refactored to use the adjust_by_scaled_ppm and
      diff_by_scaled_ppm helper functions. These include the ptp_phc, ptp_ixp64x,
      tg3, hclge, stmac, cpts and bnxt drivers. These are each refactored in a
      separate change.
      
      The remaining drivers, bnx2x, liquidio, cxgb4, fec, and qede implement
      .adjfreq in a way different from the normal pattern expected by
      adjust_by_scaled_ppm. Fixing these drivers to properly use .adjfine requires
      specific knowledge of the hardware implementation. Instead I simply refactor
      them to use .adjfine and convert scaled_ppm into ppb using the
      scaled_ppm_to_ppb function.
      
      Finally, the .adjfreq implementation interface is removed entirely. This
      simplifies the interface and ensures that new drivers must implement the new
      interface as they no longer have an alternative.
      
      This still leaves parts per billion used as part of the max_adj interface,
      and the core PTP stack still converts scaled_ppm to ppb to check this. I
      plan to investigate fixing this in the future.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2cf7e87f
    • Jacob Keller's avatar
      ptp: remove the .adjfreq interface function · 75ab70ec
      Jacob Keller authored
      
      
      Now that all drivers have been converted to .adjfine, we can remove the
      .adjfreq from the interface structure.
      
      Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      75ab70ec