1. 21 May, 2014 7 commits
    • Daniel Vetter's avatar
      drm/i915: Accurately initialize fifo underrun state on gmch platforms · c5ab3bc0
      Daniel Vetter authored
      We don't have hardware based disable bits on gmch platforms, so need
      to block spurious underrun reports in software. Which means that we
      _must_ start out with fifo underrun reporting disabled everywhere.
      
      This is in big contrast to ilk/hsw/cpt where there's only _one_
      disable bit for all platforms and hence we must allow underrun
      reporting on disabled pipes. Otherwise nothing really works,
      especially the CRC support since that's key'ed off the same irq
      disable bit.
      
      This allows us to ditch the fifo underrun reporting hack from the vlv
      runtime pm code and unexport the internal function from i915_irq.c
      again. Yay!
      
      v2: Keep the display irq disabling, spotted by Imre.
      
      Cc: Imre Deak <imre.deak@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      c5ab3bc0
    • Daniel Vetter's avatar
      drm/i915: rip our vblank reset hacks for runtime PM · fd68e237
      Daniel Vetter authored
      Now that we unconditionally dtrt when disabling/enabling crtcs we
      don't need any hacks any longer to keep the vblank logic sane when
      all the registers go poof. So let's rip it all out.
      
      This essentially undoes
      
      commit 9dbd8feb
      Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Date:   Tue Jul 23 10:48:11 2013 -0300
      
          drm/i915: update last_vblank when disabling the power well
      
      Apparently igt/kms_flip is already powerful enough to exercise this
      properly, yay! See the reference regression report for details.
      
      v2: Update testcase name
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=66808
      Testcase: igt/kms_flip/vblank-vs-*-rpm
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      fd68e237
    • Daniel Vetter's avatar
      drm/i915: Use new kms-native vblank functions · 87b6b101
      Daniel Vetter authored
      Only the low-level irq handling functions still use integer crtc
      indices with this. But fixing that will require a lot more sugery
      and some good ideas for backwards compat with old ums userspace.
      Both in drivers and in the drm core.
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      87b6b101
    • Daniel Vetter's avatar
      drm/irq: Add kms-native crtc interface functions · 89dd6a4b
      Daniel Vetter authored
      We need to start somewhere ... With this the only places left in i915
      where we use pipe integers is in the interrupt handling code. And
      there it actually makes some amount of sense.
      
      v2:
      - Polish kerneldoc a bit (Thierry).
      - Drop "dev" parameter since it's unecessary.
      - Split out i915 changes (Thierry).
      
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      89dd6a4b
    • Daniel Vetter's avatar
      drm/irq: kerneldoc polish · f5752b38
      Daniel Vetter authored
      - Integrate into the drm DocBook
      - Disable kerneldoc for functions not exported to drivers.
      - Properly document the new drm_vblank_on|off and add cautious
        comments explaining when drm_vblank_pre|post_modesets shouldn't be
        used.
      - General polish and OCD.
      
      v2: Polish as suggested by Thierry.
      
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f5752b38
    • Daniel Vetter's avatar
      drm/doc: Discourage usage of MODESET_CTL ioctl · 8edffbb9
      Daniel Vetter authored
      Leftover from the old days of ums and should be used any longer. Since
      
      commit 29935554
      Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Date:   Wed May 30 00:58:09 2012 +0200
      
          drm: Disallow DRM_IOCTL_MODESET_CTL for KMS drivers
      
      it is a complete no-Op for kms drivers.
      
      v2: Fix up mangled sentence spotted by Michel.
      
      Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      Cc: Michel Dänzer <michel@daenzer.net>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      8edffbb9
    • Daniel Vetter's avatar
      drm/i915: Remove drm_vblank_pre/post_modeset calls · add1d008
      Daniel Vetter authored
      Originally these functions have been for user modesetting drivers to
      ensure vblank processing doesn't fall over completely around modeset
      changes. This has been carried over ever since then.
      
      Now that Ville cleaned our vblank handling with an explicit
      drm_vblank_off/on braket when disabling/enabling crtcs. So this seems
      to be unnecessary now. The most important side effect was that due to
      the delayed vblank disabling we have been pretty much guaranteed to
      receive a vblank interrupt soonish after a crtc was enabled.
      
      Note that our vblank handling across modeset is still fairly decent
      fubar - we don't actually handle vblank counter all to well.
      drm_update_vblank_count will make sure that the frame counter always
      rolls forward, but userspace isn't really all to ready to cope with
      the big jumps this causes.
      
      This isn't a big mostly because the hardware retains the frame
      counter. But with runtime pm and also across suspend/resume we fall
      over.
      
      Fixing this is a lot more involved and also needs som i-g-ts. So
      material for another patch series.
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      add1d008
  2. 20 May, 2014 4 commits
  3. 19 May, 2014 6 commits
  4. 18 May, 2014 1 commit
    • Dave Airlie's avatar
      Merge tag 'drm-intel-next-2014-05-06' of git://anongit.freedesktop.org/drm-intel into drm-next · e5daa1dd
      Dave Airlie authored
      - ring init improvements (Chris)
      - vebox2 support (Zhao Yakui)
      - more prep work for runtime pm on Baytrail (Imre)
      - eDram support for BDW (Ben)
      - prep work for userptr support (Chris)
      - first parts of the encoder->mode_set callback removal (Daniel)
      - 64b reloc fixes (Ben)
      - first part of atomic plane updates (Ville)
      
      * tag 'drm-intel-next-2014-05-06' of git://anongit.freedesktop.org/drm-intel: (75 commits)
        drm/i915: Remove useless checks from primary enable/disable
        drm/i915: Merge LP1+ watermarks in safer way
        drm/i915: Make sure computed watermarks never overflow the registers
        drm/i915: Add pipe update trace points
        drm/i915: Perform primary enable/disable atomically with sprite updates
        drm/i915: Make sprite updates atomic
        drm/i915: Support 64b relocations
        drm/i915: Support 64b execbuf
        drm/i915/sdvo: Remove ->mode_set callback
        drm/i915/crt: Remove ->mode_set callback
        drm/i915/tv: Remove ->mode_set callback
        drm/i915/tv: Rip out pipe-disabling nonsense from ->mode_set
        drm/i915/tv: De-magic device check
        drm/i915/tv: extract set_color_conversion
        drm/i915/tv: extract set_tv_mode_timings
        drm/i915/dvo: Remove ->mode_set callback
        drm/i915: Make encoder->mode_set callbacks optional
        drm/i915: Make primary_enabled match the actual hardware state
        drm/i915: Move ring_begin to signal()
        drm/i915: Virtualize the ringbuffer signal func
        ...
      e5daa1dd
  5. 16 May, 2014 2 commits
    • Dave Airlie's avatar
      Merge tag 'topic/core-stuff-2014-05-05' of git://anongit.freedesktop.org/drm-intel into drm-next · 425a9a3a
      Dave Airlie authored
      Update pull request with drm core patches. Mostly some polish for the
      primary plane stuff and a pile of patches all over from Thierry. Has
      survived a few days in drm-intel-nightly without causing ill.
      
      I've frobbed my scripts a bit to also tag my topic branches so that you
      have something stable to pull - I've accidentally pushed a bunch more
      patches onto this branch before you've taken the old pull request.
      
      * tag 'topic/core-stuff-2014-05-05' of git://anongit.freedesktop.org/drm-intel:
        drm: Make drm_crtc_helper_disable() return void
        drm: Fix indentation of closing brace
        drm/dp: Fix typo in comment
        drm: Fixup flip-work kerneldoc
        drm/fb: Fix typos
        drm/edid: Cleanup kerneldoc
        drm/edid: Drop revision argument for drm_mode_std()
        drm: Try to acquire modeset lock on panic or sysrq
        drm: remove unused argument from drm_open_helper
        drm: Handle ->disable_plane failures correctly
        drm: Simplify fb refcounting rules around ->update_plane
        drm/crtc-helper: gc usless connector loop in disable_unused_functions
        drm/plane_helper: don't disable plane in destroy function
        drm/plane-helper: Fix primary plane scaling check
        drm: make mode_valid callback optional
        drm/edid: Fill PAR in AVI infoframe based on CEA mode list
      425a9a3a
    • Dave Airlie's avatar
      drm: fix memory leak around mode_group (v2) · ad222799
      Dave Airlie authored
      This mode group id_list was never being freed.
      
      v2: take David's suggestion to free in minor_free.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ad222799
  6. 06 May, 2014 6 commits
  7. 05 May, 2014 14 commits