• Damien Lespiau's avatar
    drm/i915/skl: Replace the HDMI DPLL divider computation algorithm · dc253813
    Damien Lespiau authored
    The HW validation team came back from further testing with a slightly
    changed constraint on the deviation between the DCO frequency and the
    central frequency. Instead of +-4%, it's now +1%/-6%.
    
    Unfortunately, the previous algorithm didn't quite cope with these new
    constraints, the reason being that it wasn't thorough enough looking at
    the possible divider candidates.
    
    The new algorithm looks at all dividers, which is definitely a hammer
    approach (we could reduce further the set of dividers to good ones as a
    follow up, at the cost of a bit more complicated code). But, at least,
    we can now satisfy the +1%/+6% rule for all the "Well known" HDMI
    frequencies of my test set (373 entries).
    
    On that subject, the new code is quite extensively tested in
    intel-gpu-tools (tools/skl_compute_wrpll).
    
    v2: Fix cycling between central frequencies and dividers (Paulo)
        Properly choose the minimal deviation between postive and negative
        candidates (Paulo).
    
        On the 373 test frequencies, v2 computes better dividers than v1 (ie
        more even dividers and lower deviation on average):
    
        v1: average deviation: 206.52
        v2: average deviation: 194.47
    Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    dc253813
intel_ddi.c 78.4 KB