• José Roberto de Souza's avatar
    drm/i915/display: Implement HOBL · 81619f4a
    José Roberto de Souza authored
    Hours Of Battery Life is a new GEN12+ power-saving feature that allows
    supported motherboards to use a special voltage swing table for eDP
    panels that uses less power.
    
    So here if supported by HW, OEM will set it in VBT and i915 will try
    to train link with HOBL vswing table if link training fails it fall
    back to the original table.
    
    intel_ddi_dp_preemph_max() was optimized to only check the HOBL flag
    instead of do something like is done in intel_ddi_dp_voltage_max()
    because it is only called after the first entry of the voltage swing
    table was loaded so the HOBL flag is valid at that point.
    
    v3:
    - removed a few parameters of icl_ddi_combo_vswing_program() that
    can be taken from encoder
    
    v4:
    - using the HOBL vswing table until training fails completely (Ville)
    
    v5:
    - not reducing lane or link rate when link training fails with HOBL
    active
    - duplicated the HOBL voltage swing entry to match DP spec requirement
    
    v6:
    - removed the optional VS 3 & pre-emp 0 from HOBL table
    - changed from u8:1 to bool to store hobl_failed/active
    
    BSpec: 49291
    BSpec: 49399
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Animesh Manna <animesh.manna@intel.com>
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200715175637.33763-1-jose.souza@intel.comSigned-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    81619f4a
i915_reg.h 491 KB