Skip to content
  1. Jan 26, 2019
    • Ville Syrjälä's avatar
      drm/i915/tv: Fix tv mode clocks · d5152823
      Ville Syrjälä authored
      
      
      The oversample clock is always supposed to be either 108 MHz
      or 148.5 MHz. Make it so.
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181112170000.27531-5-ville.syrjala@linux.intel.com
      Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
      d5152823
    • Ville Syrjälä's avatar
      drm/i915/tv: Fix interlaced ysize calculation · 6801603d
      Ville Syrjälä authored
      
      
      Fix the calculation of the vertical active period for interlaced
      TV modes.
      
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181112170000.27531-4-ville.syrjala@linux.intel.com
      Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
      6801603d
    • Ville Syrjälä's avatar
      drm/i915: Don't try to use the hardware frame counter with i965gm TV output · 32db0b65
      Ville Syrjälä authored
      On i965gm the hardware frame counter does not work when
      the TV encoder is active. So let's not try to consult
      the hardware frame counter in that case. Instead we'll
      fall back to the timestamp based guesstimation method
      used on gen2.
      
      Note that the pipe timings generated by the TV encoder
      are also rather peculiar. Apparently the pipe wants to
      run at a much higher speed (related to the oversample
      clock somehow it seems) but during the vertical active
      period the TV encoder stalls the pipe every few lines
      to keep its speed in check. But once the vertical
      blanking period is reached the pipe gets to run at full
      speed. This means our vblank timestamp estimates are
      suspect. Fixing all that would require quite a bit
      more work. This simple fix at least avoids the nasty
      vblank timeouts that are happening currently.
      
      Curiously the frame counter works just fine on i945gm
      and gm45. I don't really understand what kind of mishap
      occurred with the hardware design on i965gm. Sadly
      I wasn't able to find any chicken bits etc. that would
      fix the frame counter :(
      
      v2: Move the zero vs. non-zero hw counter value handling
          into i915_get_vblank_counter() (Daniel)
          Use the per-crtc maximum exclusively, leaving the
          per-device maximum at zero
      v3: max_vblank_count not populated yet in intel_enable_pipe()
          use intel_crtc_max_vblank_count() instead
      
      Cc: stable@vger.kernel.org
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Fixes: 51e31d49
      
       ("drm/i915: Use generic vblank wait")
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93782
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190122125149.GE5527@ideak-desk.fi.intel.com
      Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
      32db0b65
  2. Jan 25, 2019
  3. Jan 24, 2019
  4. Jan 23, 2019