1. 08 8月, 2014 6 次提交
    • V
      drm/i915: Kill intel_crtc->vbl_wait · 210871b6
      Ville Syrjälä 提交于
      Share the waitqueue that drm_irq uses when performing the vblank evade
      trick for atomic pipe updates.
      
      v2: Keep intel_pipe_handle_vblank() (Chris)
      Suggested-by: NDaniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      210871b6
    • V
      drm/i915: State readout and cross-checking for dp_m2_n2 · b95af8be
      Vandana Kannan 提交于
      Adding relevant read out comparison code, in check_crtc_state, for the new
      member of crtc_config, dp_m2_n2, which was introduced to store link_m_n
      values for a DP downclock mode (if available). Suggested by Daniel.
      
      v2: Changed patch title.
      Daniel's review comments incorporated.
      Added relevant state readout code for M2_N2. dp_m2_n2 comparison to be done
      only when high RR is not in use (This is because alternate m_n register
      programming will be done only when low RR is being used).
      
      v3: Modified call to get_m2_n2 which had dp_m_n as param by mistake.
      Compare dp_m_n and dp_m2_n2 for gen 7 and below. compare the structures
      based on DRRS state for gen 8 and above.
      Save and restore M2 N2 registers for gen 7 and below
      
      v4: For Gen>=8, check M_N registers against dp_m_n and dp_m2_n2 as there is
      only one set of M_N registers
      
      v5: Removed the chunk which saves and restores M2_N2 registers. Modified
      get_m_n() to get M2_N2 registers as well. Modified the macro which compares
      hw.dp_m_n against sw.dp_m2_n2/sw.dp_m_n for gen > 8.
      
      v6: Added check to compare dp_m2_n2 only when DRRS is enabled
      
      v7: Modified drrs check to use has_drrs
      
      v8: Add has_drrs check before reading M2_N2 registers
      Signed-off-by: NVandana Kannan <vandana.kannan@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b95af8be
    • V
      drm/i915: Set M2_N2 registers during mode set · f769cd24
      Vandana Kannan 提交于
      For Gen < 8, set M2_N2 registers on every mode set. This is required to make
      sure M2_N2 registers are set during boot, resume from sleep for cross-
      checking the state. The register is set only if DRRS is supported.
      
      v2: Patch rebased
      
      v3: Daniel's review comments
      	- Removed HAS_DRRS(dev) and added bool has_drrs to pipe_config to
      	track drrs support
      
      v4: Jesse's review comments
      	- Made changes to set m2_n2 in intel_dp_set_m_n()
      Signed-off-by: NVandana Kannan <vandana.kannan@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f769cd24
    • R
      Revert "drm/i915: Enable semaphores on BDW" · be71eabe
      Rodrigo Vivi 提交于
      This reverts commit 521e62e4.
      
      Although POST_SYNC brought a bit of stability to Semaphores on BDW
      it didn't solved all issues and some hungs can still occour when
      semaphores are enabled on BDW. Also some sloweness can be found on some
      igt tests, althoguth it apparently doesn't affect real workloads.
      
      Besides that, no real performance gain was found on our tests with different
      and even multiple workloads.
      
      Let's disable it again for now. At least until we are sure it is safe
      to re-enable it.
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      be71eabe
    • J
      drm/i915: read HEAD register back in init_ring_common() to enforce ordering · ece4a17d
      Jiri Kosina 提交于
      Withtout this, ring initialization fails reliabily during resume with
      
      	[drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head ffffff8804 tail 00000000 start 000e4000
      
      This is not a complete fix, but it is verified to make the ring
      initialization failures during resume much less likely.
      
      We were not able to root-cause this bug (likely HW-specific to Gen4 chips)
      yet. This is therefore used as a ducttape before problem is fully
      understood and proper fix created, so that people don't suffer from
      completely unusable systems in the meantime.
      
      The discussion and debugging is happening at
      
      	https://bugs.freedesktop.org/show_bug.cgi?id=76554Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ece4a17d
    • R
      drm/i915: Fix crash when failing to parse MIPI VBT · ed3b6679
      Rafael Barbalho 提交于
      This particular nasty presented itself while trying to register the
      intelfb device (intel_fbdev.c). During the process of registering the device
      the driver will disable the crtc via i9xx_crtc_disable. These will
      also disable the panel using the generic mipi panel functions in
      dsi_mod_vbt_generic.c. The stale MIPI generic data sequence pointers would
      cause a crash within those functions. However, all of this is happening
      while console_lock is held from do_register_framebuffer inside fbcon.c. Which
      means that you got kernel log and just the device appearing to reboot/hang for
      no apparent reason.
      
      The fault started from the FB_EVENT_FB_REGISTERED event using the
      fb_notifier_call_chain call in fbcon.c.
      
      This regression has been introduced in
      
      commit d3b542fc
      Author: Shobhit Kumar <shobhit.kumar@intel.com>
      Date:   Mon Apr 14 11:00:34 2014 +0530
      
          drm/i915: Add parsing support for new MIPI blocks in VBT
      
      Cc: Shobhit Kumar <shobhit.kumar@intel.com>
      Signed-off-by: NRafael Barbalho <rafael.barbalho@intel.com>
      Reviewed-by: NShobhit Kumar <shobhit.kumar@intel.com>
      [danvet: Add regression citation.]
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ed3b6679
  2. 07 8月, 2014 17 次提交
  3. 05 8月, 2014 1 次提交
  4. 04 8月, 2014 1 次提交
  5. 25 7月, 2014 1 次提交
  6. 24 7月, 2014 4 次提交
    • C
      drm/i915: Allow overlapping userptr objects · ec8b0dd5
      Chris Wilson 提交于
      Whilst I strongly advise against doing so for the implicit coherency
      issues between the multiple buffer objects accessing the same backing
      store, it nevertheless is a valid use case, akin to mmaping the same
      file multiple times.
      
      The reason why we forbade it earlier was that our use of the interval
      tree for fast invalidation upon vma changes excluded overlapping
      objects. So in the case where the user wishes to create such pairs of
      overlapping objects, we degrade the range invalidation to walkin the
      linear list of objects associated with the mm.
      
      A situation where overlapping objects could arise is the lax implementation
      of MIT-SHM Pixmaps in the xserver. A second situation is where the user
      wishes to have different access modes to a region of memory (e.g. access
      through a read-only userptr buffer and through a normal userptr buffer).
      
      v2: Compile for mmu-notifiers after tweaking
      v3: Rename is_linear/has_linear
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: "Li, Victor Y" <victor.y.li@intel.com>
      Cc: "Kelley, Sean V" <sean.v.kelley@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
      Cc: "Gong, Zhipeng" <zhipeng.gong@intel.com>
      Cc: Akash Goel <akash.goel@intel.com>
      Cc: "Volkin, Bradley D" <bradley.d.volkin@intel.com>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ec8b0dd5
    • D
      drm/i915: Ditch UMS config option · 03dae59c
      Daniel Vetter 提交于
      Let's march ahead with the deprecation plan laid out in
      
      commit b30324ad
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Nov 13 22:11:25 2013 +0100
      
          drm/i915: Deprecated UMS support
      
      Thus far no regression report yet, so the transparent fallback plan
      seems to pan out.
      
      Cc: Dave Airlie <airlied@gmail.com>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Suggested-by: NDavid Herrmann <dh.herrmann@gmail.com>
      Acked-by: NDave Airlie <airlied@gmail.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      03dae59c
    • D
      drm/i915: fix initial fbdev setup warnings · e05444be
      Dave Airlie 提交于
      This chunk was no longer required from what I can see, or
      at least it is doing the wrong thing, as I confused
      intel_connector->encoder and connector->encoder. Drop it
      for now, to remove the warnings at bootup.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      e05444be
    • D
      drm/i915: don't suspend gt until after we disable irqs and display (v2) · 09b64267
      Dave Airlie 提交于
      When I moved the irq disable down to after display disable,
      I didn't realise the gt suspend also required irqs off, so move it
      down as well.
      
      Fixes WARNs seen at suspend/resume time.
      
      v2: moved the rps flush down as well.
      Tested-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      09b64267
  7. 23 7月, 2014 10 次提交