1. 07 5月, 2014 2 次提交
  2. 06 5月, 2014 4 次提交
  3. 02 5月, 2014 4 次提交
  4. 01 5月, 2014 5 次提交
  5. 30 4月, 2014 4 次提交
  6. 29 4月, 2014 1 次提交
  7. 25 4月, 2014 6 次提交
    • E
      drm/i915: Break encoder->crtc link separately in intel_sanitize_crtc() · 7f1950fb
      Egbert Eich 提交于
      Depending on the SDVO output_flags SDVO may have multiple connectors
      linking to the same encoder (in intel_connector->encoder->base).
      Only one of those connectors should be active (ie link to the encoder
      thru drm_connector->encoder).
      If intel_connector_break_all_links() is called from intel_sanitize_crtc()
      we may break the crtc connection of an encoder thru an inactive connector
      in which case intel_connector_break_all_links() will not be called again
      for the active connector if this happens to come later in the list due to:
          if (connector->encoder->base.crtc != &crtc->base)
                                       continue;
      in intel_sanitize_crtc().
      This will however leave the drm_connector->encoder linkage for this
      active connector in place. Subsequently this will cause multiple
      warnings in intel_connector_check_state() to trigger and the driver
      will eventually die in drm_encoder_crtc_ok() (because of crtc == NULL).
      
      To avoid this remove intel_connector_break_all_links() and move its
      code to its two calling functions: intel_sanitize_crtc() and
      intel_sanitize_encoder().
      This allows to implement the link breaking more flexibly matching
      the surrounding code: ie. in intel_sanitize_crtc() we can break the
      crtc link separatly after the links to the encoders have been
      broken which avoids above problem.
      
      This regression has been introduced in:
      
      commit 24929352
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Mon Jul 2 20:28:59 2012 +0200
      
          drm/i915: read out the modeset hw state at load and resume time
      
      so goes back to the very beginning of the modeset rework.
      
      v2: This patch takes care of the concernes voiced by Chris Wilson
      and Daniel Vetter that only breaking links if the drm_connector
      is linked to an encoder may miss some links.
      v3: move all encoder handling to encoder loop as suggested by
      Daniel Vetter.
      Signed-off-by: NEgbert Eich <eich@suse.de>
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      7f1950fb
    • C
      drm/i915: Move all ring resets before setting the HWS page · 78f2975e
      Chris Wilson 提交于
      In commit a51435a3
      Author: Naresh Kumar Kachhi <naresh.kumar.kachhi@intel.com>
      Date:   Wed Mar 12 16:39:40 2014 +0530
      
          drm/i915: disable rings before HW status page setup
      
      we reordered stopping the rings to do so before we set the HWS register.
      However, there is an extra workaround for g45 to reset the rings twice,
      and for consistency we should apply that workaround before setting the
      HWS to be sure that the rings are truly stopped.
      
      Reference: http://lkml.kernel.org/r/20140423202248.GA3621@amd.pavel.ucw.czTested-by: NPavel Machek <pavel@ucw.cz>
      Cc: Naresh Kumar Kachhi <naresh.kumar.kachhi@intel.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      78f2975e
    • D
      drm/i915: Don't WARN nor handle unexpected hpd interrupts on gmch platforms · 3ff04a16
      Daniel Vetter 提交于
      The status bits are unconditionally set, the control bits only enable
      the actual interrupt generation. Which means if we get some random
      other interrupts we'll bogusly complain about them.
      
      So restrict the WARN to platforms with a sane hotplug interrupt
      handling scheme. And even more important also don't attempt to process
      the hpd bit since we've detected a storm already. Instead just clear
      the bit silently.
      
      This WARN has been introduced in
      
      commit b8f102e8
      Author: Egbert Eich <eich@suse.de>
      Date:   Fri Jul 26 14:14:24 2013 +0200
      
          drm/i915: Add messages useful for HPD storm detection debugging (v2)
      
      before that we silently handled the hpd event and so partially
      defeated the storm detection.
      
      v2: Pimp commit message (Jani)
      
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: Egbert Eich <eich@suse.de>
      Cc: bitlord <bitlord0xff@gmail.com>
      Reported-by: Nbitlord <bitlord0xff@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      3ff04a16
    • R
      drm/msm/mdp4: cure for the cursor blues (v2) · 7d8d9f67
      Rob Clark 提交于
      The hw cursor is relatively adept at triggering underflows, which
      manifest as a "blue flash" (since blue is configured as the underflow
      color).  Juggle a few things around to tighten up the timing for setting
      cursor registers in DONE irq.
      
      And most importantly, don't ever disable the hw cursor.  Instead flip it
      to a blank/empty cursor.  This seems far more reliable, as even simply
      clearing the cursor-enable bit (with no other updates in previous/
      following frames) can in some cases cause underflow.
      
      v1: original
      v2: add missing locking spotted by Micah
      
      Cc: Micah Richert <richert@braincorporation.com>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      7d8d9f67
    • R
      drm/msm: default to XR24 rather than AR24 · 96673ecb
      Rob Clark 提交于
      Since X11 is going to create an XR24 fb, if the pixel formats do not
      match then crtc helpers will think it is a full modeset even if mode is
      the same, which prevents smooth/flickerless handover from fbcon/plymouth
      to X11.
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      96673ecb
    • M
      drm/msm: fix memory leak · 1ffa2425
      Micah Richert 提交于
      Signed-off-by: NMicah Richert <richert@braincorporation.com>
      Signed-off-by: NRob Clark <robdclark@gmail.com>
      1ffa2425
  8. 24 4月, 2014 4 次提交
  9. 23 4月, 2014 2 次提交
    • P
      drm/i915: get power domain in case the BIOS enabled eDP VDD · 63635217
      Paulo Zanoni 提交于
      If I unplug the eDP monitor, the BIOS of my machine will enable the
      VDD bit, then when the driver loads it will think VDD is enabled. It
      will detect that the eDP is not enabled and return false from
      intel_edp_init_connector. This will trigger a call to
      edp_panel_vdd_off_sync(), which trigger a WARN saying that the
      refcount of the power domain is less than zero.
      
      The problem happens because the driver gets a refcount whenever it
      enables the VDD bit, and puts the refcount whenever it disables the
      VDD bit. But on this case, the BIOS enabled VDD, so all we do is to
      call put() without calling get() first, so the code added is there to
      make sure we always have the get() in case the BIOS enabled the bit.
      
      This regression was introduced in
      commit e9cb81a2
      Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
      Date:   Thu Nov 21 13:47:23 2013 -0200
      
          drm/i915: get a runtime PM reference when the panel VDD is on
      
      v2: - Rebase
      
      Tested-by: Chris Wilson <chris@chris-wilson.co.uk> (v1)
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org (v3.13+)
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      63635217
    • D
      drm/i915: Don't check gmch state on inherited configs · 9953599b
      Daniel Vetter 提交于
      ... our current modeset code isn't good enough yet to handle this. The
      scenario is:
      
      1. BIOS sets up a cloned config with lvds+external screen on the same
      pipe, e.g. pipe B.
      
      2. We read out that state for pipe B and assign the gmch_pfit state to
      it.
      
      3. The initial modeset switches the lvds to pipe A but due to lack of
      atomic modeset we don't recompute the config of pipe B.
      
      -> both pipes now claim (in the sw pipe config structure) to use the
      gmch_pfit, which just won't work.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74081Tested-by: Nmax <manikulin@gmail.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      9953599b
  10. 22 4月, 2014 7 次提交
  11. 20 4月, 2014 1 次提交