1. 01 10月, 2013 2 次提交
  2. 25 9月, 2013 1 次提交
    • D
      drm/i915: preserve pipe A quirk in i9xx_set_pipeconf · 67c72a12
      Daniel Vetter 提交于
      This regression has been introduced in
      
      commit 9f11a9e4
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Jun 13 00:54:58 2013 +0200
      
          drm/i915: set up PIPECONF explicitly for i9xx/vlv platforms
      
      Ville brough up the idea that this is just the pipe A quirk gone
      wrong.
      
      Note that after resume the bios might or might not have enabled pipe A
      already.  We have a bit of magic to make sure that on resume we set up
      a decent mode for pipe A, but I fear if I just smash pipe A to always
      on we'd enable it in a bogus state and hang the hw. Hence the
      readback.
      
      v2: Clarify the logic a bit as suggested by Chris. Also amend the
      commit message to clarify why we don't unconditionally enable the
      pipe.
      
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66462
      References: https://lkml.org/lkml/2013/8/26/238
      Cc: Meelis Roos <mroos@ut.ee>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      [danvet: Use |= instead of = as suggested by Chris.]
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      67c72a12
  3. 21 9月, 2013 2 次提交
  4. 20 9月, 2013 1 次提交
  5. 19 9月, 2013 2 次提交
  6. 18 9月, 2013 2 次提交
  7. 17 9月, 2013 18 次提交
  8. 13 9月, 2013 6 次提交
  9. 10 9月, 2013 4 次提交
    • C
      drm/i915: Write RING_TAIL once per-request · 09246732
      Chris Wilson 提交于
      Ignoring the legacy DRI1 code, and a couple of special cases (to be
      discussed later), all access to the ring is mediated through requests.
      The first write to a ring will grab a seqno and mark the ring as having
      an outstanding_lazy_request. Either through explicitly adding a request
      after an execbuffer or through an implicit wait (either by the CPU or by
      a semaphore), that sequence of writes will be terminated with a request.
      So we can ellide all the intervening writes to the tail register and
      send the entire command stream to the GPU at once. This will reduce the
      number of *serialising* writes to the tail register by a factor or 3-5
      times (depending upon architecture and number of workarounds, context
      switches, etc involved). This becomes even more noticeable when the
      register write is overloaded with a number of debugging tools. The
      astute reader will wonder if it is then possible to overflow the ring
      with a single command. It is not. When we start a command sequence to
      the ring, we check for available space and issue a wait in case we have
      not. The ring wait will in this case be forced to flush the outstanding
      register write and then poll the ACTHD for sufficient space to continue.
      
      The exception to the rule where everything is inside a request are a few
      initialisation cases where we may want to write GPU commands via the CS
      before userspace wakes up and page flips.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      09246732
    • V
      drm/i915: Call intel_update_watermarks() in specific place during modeset · f37fcc2a
      Ville Syrjälä 提交于
      Make the call to intel_update_watermarks() just once or twice during
      modeset. Ideally it should happen independently when each plane gets
      enabled/disabled, but for now it seems better to keep it in central
      place. We can improve things when we get all the planes sorted out
      in a better way.
      
      When enabling set up the watermarks just before the pipe is enabled.
      And when disabling we need to wait until we've marked the crtc as
      inactive, as otherwise intel_crtc_active() would still think the pipe
      is enabled and the computed watermarks would reflect that.
      
      v2: Pimp up the commit message a bit
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      f37fcc2a
    • V
      drm/i915: Pass crtc to intel_update_watermarks() · 46ba614c
      Ville Syrjälä 提交于
      Passing the appropriate crtc to intel_update_watermarks() should help
      in avoiding needless work in the future.
      
      v2: Avoid clash with internal 'crtc' variable in some wm functions
      Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      46ba614c
    • T
      drm/i915: Use proper print format for debug prints · 7e7cb34f
      Takashi Iwai 提交于
      Replace "%8x" with "%08x".
      The hex number should be shown with zero stuffed instead of spaces.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      7e7cb34f
  10. 09 9月, 2013 1 次提交
  11. 07 9月, 2013 1 次提交
    • V
      drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done · 6e1b4fda
      Ville Syrjälä 提交于
      When transitioning away from vgacon the system tries to save the
      current contents of the VGA memory, so that it can be cleanly handed
      off to fbcon (or whatever comes afterwards).
      
      The recent change
      
       commit 81b5c7bc
       Author: Alex Williamson <alex.williamson@redhat.com>
       Date:   Wed Aug 28 09:39:08 2013 -0600
      
          i915: Update VGA arbiter support for newer devices
      
      caused i915 to disable VGA memory decode for the IGD when i915 is
      initializing. Unfortunately that happens before the vgacon->fbcon
      handoff so vgacon_save_screen() will read out all ones from the
      VGA memory.
      
      After the handoff fbcon will inherit the bogus state from vgacon,
      and pre-fills the fb with matching contents. The end result is
      a white rectangle in the top left corner of the screen, the size
      of which matches the now inactive VGA console.
      
      To remedy the situation delay the disabling of VGA memory until
      the vgacon->fbcon handoff has happened.
      
      Also rename i915_enable_vga to i915_enable_vga_mem to make
      the relationship between these functions clearer.
      
      Cc: Alex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6e1b4fda