1. 08 11月, 2014 4 次提交
  2. 05 11月, 2014 1 次提交
    • P
      drm/i915: transform INTEL_OUTPUT_* into an enum · 6847d71b
      Paulo Zanoni 提交于
      Because I got annoyed that I had to document what values "int
      ddi_personality" is supposed to hold.
      
      A good side-effect of this change is that now the compilers can do
      some additional checks on our code, which may prevent some bugs in the
      future. A bad side-effect of this change is that now the compilers do
      some additional checks on our code and complain when a switch
      statement doesn't check for all possible values, so we need to add
      "default" cases to all those switches. Hopefully, this may help
      preventing confusions against DRM_MODE_CONNECTOR_* and
      DRM_MODE_ENCODER_*.
      
      I guess that just by looking at the patch, some people will think this
      change is not worth its benefits. In this case, I don't really mind
      dropping the patch.
      
      Also, there's probably still a few more places where we can
      s/int/enum intel_output_type/, but we can change that later, when we
      spot the places.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      [danvet: Resolve conflict due to reordered patches.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6847d71b
  3. 04 11月, 2014 1 次提交
  4. 24 10月, 2014 4 次提交
  5. 01 10月, 2014 1 次提交
  6. 24 9月, 2014 1 次提交
  7. 19 9月, 2014 2 次提交
  8. 05 9月, 2014 1 次提交
    • C
      drm/i915: Check for a stalled page flip after each vblank · d6bbafa1
      Chris Wilson 提交于
      Long ago, back in the racy haydays of 915gm interrupt handling, page
      flips would occasionally go astray and leave the hardware stuck, and the
      display not updating. This annoyed people who relied on their systems
      being able to display continuously updating information 24/7, and so
      some code to detect when the driver missed the page flip completion
      signal was added. Until recently, it was presumed that the interrupt
      handling was now flawless, but once again Simon Farnsworth has found a
      system whose display will stall. Reinstate the pageflip stall detection,
      which works by checking to see if the hardware has been updated to the
      new framebuffer address following each vblank. If the hardware is
      scanning out from the new framebuffer, but we still think the flip is
      pending, then we kick our driver into submision.
      
      This is a continuation of the effort started with
      commit 4e5359cd
      Author: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
      Date:   Wed Sep 1 17:47:52 2010 +0100
      
          drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt
      
      This now includes a belt-and-braces approach to make sure the driver
      (or the hardware) doesn't miss an interrupt and cause us to stop
      updating the display should the unthinkable happen and the pageflip fail - i.e.
      that the user is able to continue submitting flips.
      
      v2: Cleanup, refactor, and rename
      v3: Only start counting vblanks after the flip command has been seen by
          the hardware.
      v4: Record the seqno after we touch the ring, or else there may be no
          seqno allocated yet.
      v5: Rebase on mmio-flip.
      v6: Rebase, rebase.
      Reported-by: NSimon Farnsworth <simon@farnz.org.uk>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75502Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> [v4]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      d6bbafa1
  9. 04 9月, 2014 1 次提交
  10. 03 9月, 2014 8 次提交
  11. 20 8月, 2014 3 次提交
  12. 13 8月, 2014 2 次提交
    • D
      drm/i915: Only track real ppgtt for a context · ae6c4806
      Daniel Vetter 提交于
      There's a bit a confusion since we track the global gtt,
      the aliasing and real ppgtt in the ctx->vm pointer. And not
      all callers really bother to check for the different cases and just
      presume that it points to a real ppgtt.
      
      Now looking closely we don't actually need ->vm to always point at an
      address space - the only place that cares actually has fixup code
      already to decide whether to look at the per-proces or the global
      address space.
      
      So switch to just tracking the ppgtt directly and ditch all the
      extraneous code.
      
      v2: Fixup the ppgtt debugfs file to not oops on a NULL ctx->ppgtt.
      Also drop the early exit - without aliasing ppgtt we want to dump all
      the ppgtts of the contexts if we have full ppgtt.
      
      v3: Actually git add the compile fix.
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Cc: "Thierry, Michel" <michel.thierry@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      OTC-Jira: VIZ-3724
      [danvet: Resolve conflicts with execlist patches while applying.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ae6c4806
    • D
      drm/i915: Track file_priv, not ctx in the ppgtt structure · 4d884705
      Daniel Vetter 提交于
      Hardware contexts reference a ppgtt, not the other way round. And the
      only user of this (in debugfs) actually only cares about which file
      the ppgtt is associated with. So give it what it wants.
      
      While at it give the ppgtt create function a proper name&place.
      Reviewed-by: NMichel Thierry <michel.thierry@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      4d884705
  13. 09 8月, 2014 1 次提交
  14. 08 8月, 2014 2 次提交
    • D
      drm/i915: Introduce a for_each_intel_encoder() macro · b2784e15
      Damien Lespiau 提交于
      Following the established idom, let's provide a macro to iterate through
      the encoders.
      
      spatch helps, once more, for the substitution:
      
        @@
        iterator name list_for_each_entry;
        iterator name for_each_intel_encoder;
        struct intel_encoder * encoder;
        struct drm_device * dev;
        @@
        -list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) {
        +for_each_intel_encoder(dev, encoder) {
          ...
        }
      
      I also modified a few call sites by hand where a pointer to mode_config
      was directly used (to avoid overflowing 80 chars).
      Signed-off-by: NDamien Lespiau <damien.lespiau@intel.com>
      [danvet: Wrap paramters correctly in the macro and remove spurious
      space checkpatch noticed.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b2784e15
    • R
      drm/i915: Introduce FBC False Color for debug purposes. · da46f936
      Rodrigo Vivi 提交于
      With this bit enabled, HW changes the color when compressing frames for
      debug purposes.
      
      ALthough the simple way to enable a single bit is over intel_reg_write,
      this value is overwriten on next update_fbc so depending on the workload
      it is not possible to set this bit with intel-gpu-tools. So this patch
      introduces a persistent way to enable false color over debugfs.
      
      v2: Use DEFINE_SIMPLE_ATTRIBUTE as Daniel suggested
      v3: (Ville) only do false color for IVB+ since according to spec bit is
          MBZ before IVB.
      v4: We don't have FBC on valleyview nor on cherryview (Ben)
      v5: s/!HAS_PCH_SPLIT/!HAS_FBC (Ville)
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      da46f936
  15. 23 7月, 2014 5 次提交
  16. 22 7月, 2014 1 次提交
  17. 21 7月, 2014 1 次提交
  18. 11 7月, 2014 1 次提交