1. 11 1月, 2014 5 次提交
  2. 10 1月, 2014 2 次提交
    • D
      drm/i915: Drop I915_ prefix from HAS_FBC · 3a77c4c4
      Daniel Vetter 提交于
      My OCD just couldn't let this slide. Spotted while reviewing Ville's
      patch to only flip planes when we have FBC.
      
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      3a77c4c4
    • V
      drm/i915: Don't swap planes on 830M · 38af6096
      Ville Syrjälä 提交于
      Looks like 830M doesn't quite like it when you try to move a plane from
      one pipe to another. It seems that the plane's old pipe has to be active
      even if the plane is already disabled, otherwise the relevant register
      just won't accept new values.
      
      The following commit:
      
       commit 1f1c2e24
       Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
       Date:   Thu Nov 28 17:30:01 2013 +0200
      
          drm/i915: Swap primary planes on gen2 for FBC
      
      caused a regression on 830M. It will attempt to swap the planes when the
      driver is loaded, but at that time only pipe A might be active, so plane
      A gets disabled, but plane B won't get enabled since pipe B is not
      active when we try to move the plane over to pipe A.
      
      There's no reason to swap planes on 830M since it doesn't support
      FBC. Change the logic a bit to limit the plane swapping to platforms
      which actually support FBC. This should avoid getting a black screen on
      830M.
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      38af6096
  3. 09 1月, 2014 1 次提交
    • P
      drm/i915: fix wrong PLL debug messages. · 89eff4be
      Paulo Zanoni 提交于
      LPT does have PCH refclk, but it's different form the IBX/CPT/PPT one
      and doesn't use the same structs. It is wrong to have a message saying
      that "LPT does not has PCH refclk" (sic). While at it, signal that we
      only want this function on IBX/CPT/PPT by renaming it and adding a
      WARN.
      
      On HSW we also print "0 shared PLLs initialized", but we *do* have
      shared PLLs on HSW (LCPLL, WRPLL, SPLL) and we *do* initialize them.
      We just don't use "struct intel_shared_dpll". So remove the debug
      message.
      
      In the future we may want to rename all that "intel shared pll" code
      to "ibx shared pll", but I'll leave this to another patch.
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Reviewed-by: NDamien Lespiau <damien.lespiau@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      89eff4be
  4. 08 1月, 2014 3 次提交
  5. 07 1月, 2014 1 次提交
  6. 17 12月, 2013 3 次提交
  7. 12 12月, 2013 6 次提交
  8. 11 12月, 2013 4 次提交
  9. 07 12月, 2013 1 次提交
    • P
      drm/i915: change CRTC assertion on LCPLL disable · 798183c5
      Paulo Zanoni 提交于
      Currently, PC8 is enabled at modeset_global_resources, which is called
      after intel_modeset_update_state. Due to this, there's a small race
      condition on the case where we start enabling PC8, then do a modeset
      while PC8 is still being enabled. The racing condition triggers a WARN
      because intel_modeset_update_state will mark the CRTC as enabled, then
      the thread that's still enabling PC8 might look at the data structure
      and think that PC8 is being enabled while a pipe is enabled. Despite
      the WARN, this is not really a bug since we'll wait for the
      PC8-enabling thread to finish when we call modeset_global_resources.
      
      The spec says the CRTC cannot be enabled when we disable LCPLL, so we
      had a check for crtc->base.enabled. If we change to crtc->active we
      will still prevent disabling LCPLL while the CRTC is enabled, and we
      will also prevent the WARN above.
      
      This is a replacement for the previous patch named
          "drm/i915: get/put PC8 when we get/put a CRTC"
      
      Testcase: igt/pm_pc8/modeset-lpsp-stress-no-wait
      Signed-off-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      798183c5
  10. 04 12月, 2013 2 次提交
  11. 29 11月, 2013 1 次提交
  12. 28 11月, 2013 2 次提交
    • I
      drm/i915: add intel_display_power_enabled_sw() for use in atomic ctx · ddf9c536
      Imre Deak 提交于
      Atm we call intel_display_power_enabled() from
      i915_capture_error_state() in IRQ context and then take a mutex. To fix
      this add a new intel_display_power_enabled_sw() which returns the domain
      state based on software tracking as opposed to reading the actual HW
      state.
      
      Since we use domain_use_count for this without locking on the reader
      side make sure we increase the counter only after enabling all required
      power wells and decrease it before disabling any of these power wells.
      
      Regression introduced in
      commit 1b02383464b4a915627ef3b8fd0ad7f07168c54c
      Author: Imre Deak <imre.deak@intel.com>
      Date:   Tue Sep 24 16:17:09 2013 +0300
      
          drm/i915: support for multiple power wells
      
      Note that atm we depend on the value returned by
      intel_display_power_enabled_sw() in i915_capture_error_state() to avoid
      unclaimed register access reports. This was never guaranteed though,
      since another thread can disable the power concurrently. If this is a
      problem we need another explicit way to disable the reporting during
      error captures.
      
      v2:
      - remove barriers as the caller can't depend on the value
        returned from i915_capture_error_state_sw() anyway (Ville)
      - dump the state of pipe/transcoder power domain state (Daniel)
      Reported-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NImre Deak <imre.deak@intel.com>
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      ddf9c536
    • D
      drm/i915: Add power well arguments to force wake routines. · c8d9a590
      Deepak S 提交于
      Added power well arguments to all the force wake routines
      to help us individually control power well based on the
      scenario.
      Signed-off-by: NDeepak S <deepak.s@intel.com>
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      [danvet: Resolve conflict with the removed forcewake hack and drop one
      spurious hunk Jesse noticed.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      c8d9a590
  13. 27 11月, 2013 3 次提交
  14. 21 11月, 2013 1 次提交
  15. 19 11月, 2013 3 次提交
  16. 16 11月, 2013 1 次提交
    • D
      drm/i915: flush cursors harder · b2ea8ef5
      Daniel Vetter 提交于
      Apparently they need the same treatment as primary planes. This fixes
      modesetting failures because of stuck cursors (!) on Thomas' i830M
      machine.
      
      I've figured while at it I'll also roll it out for the ivb 3 pipe
      version of this function. I didn't do this for i845/i865 since Bspec
      says the update mechanism works differently, and there's some
      additional rules about what can be updated in which order.
      Tested-by: NThomas Richter <thor@math.tu-berlin.de>
      Cc: stable@vger.kernel.org
      Cc:  Thomas Richter <thor@math.tu-berlin.de>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      b2ea8ef5
  17. 14 11月, 2013 1 次提交
    • J
      drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE · bc0bb9fd
      Jani Nikula 提交于
      The quirk was added as what I'd say was a stopgap measure in
      
      commit e85843be
      Author: Kamal Mostafa <kamal@canonical.com>
      Date:   Fri Jul 19 15:02:01 2013 -0700
      
          drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight
      
      without really digging into what was going on.
      
      Also, as mentioned in the related bug [1], having the quirk regressed
      some of the machines it was supposed to fix to begin with, and there
      were patches posted to disable the quirk on such machines [2]!
      
      The fact is, we do need the BLM_PCH_PWM_ENABLE bit set to have
      backlight. With the quirk, we've relied on BIOS to have set it, and our
      save/restore code to retain it. With the full backlight setup at enable,
      we have no place for things that rely on previous state.
      
      With the per platform hooks, we've also made a change in the PCH
      platform enable order: setting the backlight duty cycle between CPU and
      PCH PWM enable. Some experimenting and
      
      commit 770c1231
      Author: Takashi Iwai <tiwai@suse.de>
      Date:   Sat Aug 11 08:56:42 2012 +0200
      
          drm/i915: Fix blank panel at reopening lid
      
      indicate that we can't set the backlight before enabling CPU PWM; the
      value just won't stick. But AFAICT we should do it before enabling the
      PCH PWM.
      
      Finally, any fallout we should fix properly, preferrably without quirks,
      and absolutely without quirks that rely on existing state. With the per
      platform hooks have much more flexibility to adjust the sequence as
      required by platforms.
      
      [1] https://bugzilla.kernel.org/show_bug.cgi?id=47941
      [2] http://lkml.kernel.org/r/1378229848-29113-1-git-send-email-kamal@canonical.comSigned-off-by: NJani Nikula <jani.nikula@intel.com>
      Reviewed-by: NImre Deak <imre.deak@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      bc0bb9fd