1. 13 Jun, 2013 1 commit
    • Ville Syrjälä's avatar
      drm/i915: Try harder to disable trickle feed on VLV · e0d8d59b
      Ville Syrjälä authored
      The specs are a bit unclear whether the per-plane trickle feed disable
      control exists on VLV. There is another trickle feed disable control
      in the MI_ARB register.
      
      After some experimentation it turns out both the DSPCNTR trickle feed
      bits and the MI_ARB bit can be toggled. However the DSPCNTR bits don't
      seem to have any effect.
      
      The MI_ARB bit, on the other hand, has a noticable effect. I performed
      an experiment where I reduced the FIFO size via DSPARB and observed the
      effect of the MI_ARB trickle feed bit on the display.
      
      Using a 1920x1080-60 mode, with MI_ARB=0x4 the display started to have
      problems with DSPARB=0x42424242, whereas with MI_ARB=0x0 the problems
      didn't start until DSPARB=0x09090909. This seems to confirm that the
      MI_ARB trickle feed bit actually does work.
      
      So replace the use of the DSPCNTR trickle feed bits with MI_ARB
      on VLV.
      
      v2: Amend commit message with results from experimentation
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      e0d8d59b
  2. 12 Jun, 2013 9 commits
  3. 11 Jun, 2013 4 commits
  4. 10 Jun, 2013 17 commits
  5. 07 Jun, 2013 8 commits
  6. 06 Jun, 2013 1 commit
    • Daniel Vetter's avatar
      drm/i915: pipe config quirk infrastructure plus sdvo mode.flags fix · bb760063
      Daniel Vetter authored
      For various reasons the hw state readout might not be able to
      faithfully match the hw state:
      - broken hw (like the case which motivated this patch here where the
        sdvo encoder does not implemented mandatory functionality
        correctly).
      - platforms which are not supported fully with the pipe config
        infrastructure
      - if our code doesn't support a given hw configuration natively, e.g.
        special restrictions on the per-pipe panel fitters when they're used
        in high-quality scaling modes.
      
      In all these cases both fastboot and the hw state cross checker need
      to be aware of these cases and act accordingly. To be able to do this
      add a new quirk flag to the pipe config structure.
      
      The specific case at hand is an sdvo encoder which doesn't implement
      the get_timings function, so adjusted_mode flags will be wrong. The
      strange thing though is that the encoder _does_ work, even though it
      doesn't implement any of the timings functions (so neither get nor
      set, neither for input nor output timings).
      
      Not that non-compliant sdvo encoder are any surprise at all ...
      
      v2:
      - Don't read random garbage from the dtd if the get_timings call
        failed (suggested by Chris).
      - Still check the interlaced flag, that's read out from someplace
        else. We want maximal paranoia, after all.
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      bb760063