1. 13 4月, 2012 1 次提交
    • B
      drm/i915: rc6 in sysfs · 0136db58
      Ben Widawsky 提交于
      Merge rc6 information into the power group for our device. Until now the
      i915 driver has not had any sysfs entries (aside from the connector
      stuff enabled by drm core). Since it seems like we're likely to have
      more in the future I created a new file for sysfs stubs, as well as the
      rc6 sysfs functions which don't really belong elsewhere (perhaps
      i915_suspend, but most of the stuff is in intel_display,c).
      
      displays rc6 modes enabled (as a hex mask):
      cat /sys/class/drm/card0/power/rc6_enable
      
      displays #ms GPU has been in rc6 since boot:
      cat /sys/class/drm/card0/power/rc6_residency_ms
      
      displays #ms GPU has been in deep rc6 since boot:
      cat /sys/class/drm/card0/power/rc6p_residency_ms
      
      displays #ms GPU has been in deepest rc6 since boot:
      cat /sys/class/drm/card0/power/rc6pp_residency_ms
      
      Important note: I've seen on SNB that even when RC6 is *not* enabled the
      rc6 register seems to have a random value in it. I can only guess at the
      reason reason for this. Those writing tools that utilize this value need
      to be careful and probably want to scrutinize the value very carefully.
      
      v2: use common rc6 residency units to milliseconds for the other RC6 types
      
      v3: don't create sysfs files for GEN <= 5
      add a rc6_enable to show a mask of enabled rc6 types
      use unmerge instead of remove for sysfs group
      squash intel_enable_rc6() extraction into this patch
      
      v4: rename sysfs files (Chris)
      
      CC: Chris Wilson <chris@chris-wilson.co.uk>
      CC: Daniel Vetter <daniel.vetter@ffwll.ch>f
      CC: Arjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NBen Widawsky <benjamin.widawsky@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      [danvet: squash in the 64bit division fix by Chris Wilson.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      0136db58
  2. 18 1月, 2012 1 次提交
  3. 04 1月, 2012 1 次提交
    • J
      drm/i915: add SNB and IVB video sprite support v6 · b840d907
      Jesse Barnes 提交于
      The video sprites support various video surface formats natively and can
      handle scaling as well.  So add support for them using the new DRM core
      sprite support functions.
      
      v2: use drm specific fourcc header and defines
      v3: address Daniel's comments:
        - don't take struct mutex around register access (only needed for
          regs in the GT power well)
        - don't hold struct mutex across vblank waits
        - fix up update_plane API (pass obj instead of GTT offset)
        - add interlaced defines for sprite regs
        - drop unnecessary 'reg' variables
        - comment double buffered reg flushing
        Also fix w/h confusion when writing the scaling reg.
      v4: more fixes, address more comments from Daniel, and include Hai's fix
        - prevent divide by zero in scaling calculation (Hai Lan)
        - update to Ville's new DRM_FORMAT_* types
        - fix sprite watermark handling (calc based on CRTC size, separate
          from normal display wm)
        - remove private refcounts now that the fb cleanups handles things
      v5: add linear surface support
      v6: remove color key clearing & setting from update_plane
      
      For this version, I tested DPMS since it came up in the last review;
      DPMS off/on works ok when a video player is working under X, but for
      power saving we'll probably want to do something smarter.  I'll leave
      that for a separate patch on top.  Likewise with the refcounting/fb
      layer handling, which are really separate cleanups.
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NKeith Packard <keithp@keithp.com>
      b840d907
  4. 26 11月, 2010 1 次提交
  5. 24 11月, 2010 1 次提交
  6. 08 10月, 2010 1 次提交
  7. 08 9月, 2010 2 次提交
  8. 10 8月, 2010 2 次提交
  9. 27 5月, 2010 1 次提交
    • E
      drm/i915: Move ringbuffer-related code to intel_ringbuffer.c. · 62fdfeaf
      Eric Anholt 提交于
      This is preparation for supporting multiple ringbuffers on Ironlake.
      The non-copy-and-paste changes are:
      - de-staticing functions
      - I915_GEM_GPU_DOMAINS moving to i915_drv.h to be used by both files.
      - i915_gem_add_request had only half its implementation
        copy-and-pasted out of the middle of it.
      62fdfeaf
  10. 11 5月, 2010 1 次提交
  11. 08 12月, 2009 1 次提交
  12. 06 11月, 2009 1 次提交
    • D
      drm/i915: implement drmmode overlay support v4 · 02e792fb
      Daniel Vetter 提交于
      This implements intel overlay support for kms via a device-specific
      ioctl. Thomas Hellstrom brought up the idea of a general ioctl (on
      dri-devel). We've reached the conclusion that such an infrastructure
      only makes sense when multiple kms overlay implementations exists,
      which atm don't (and it doesn't look like this is gonna change).
      
      Open issues:
      - Runs in sync with the gpu, i.e. unnecessary waiting. I've decided
        to wait on this because the hw tends to hang when changing something
        in this area. I left some dummy functions as infrastructure.
      - polyphase filtering uses a static table.
      - uses uninterruptible sleeps. Unfortunately the alternatives may
        unnecessarily wedged the hw if/when we timeout too early (and
        userspace only overloaded the batch buffers with stuff worth a few
        secs of gpu time).
      
      Changes since v1:
      - fix off-by-one misconception on my side. This fixes fullscreen
        playback.
      Changes since v2:
      - add underrun detection as spec'ed for i965.
      - flush caches properly, fixing visual corruptions.
      Changes since v4:
      - fix up cache flushing of overlay memory regs.
      - killed require_pipe_a logic - it hangs the chip.
      
      Tested-By: diego.abelenda@gmail.com (on a 865G)
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      [anholt: Resolved against the MADVISE ioctl going in before this one]
      Signed-off-by: NEric Anholt <eric@anholt.net>
      02e792fb
  13. 23 9月, 2009 1 次提交
    • C
      drm/i915: Add tracepoints · 1c5d22f7
      Chris Wilson 提交于
      By adding tracepoint equivalents for WATCH_BUF/EXEC we are able to monitor
      the lifetimes of objects, requests and significant events. These events can
      then be probed using the tracing frameworks, such as systemtap and, in
      particular, perf.
      
      For example to record the stack trace for every GPU stall during a run, use
      
        $ perf record -e i915:i915_gem_request_wait_begin -c 1 -g
      
      And
      
        $ perf report
      
      to view the results.
      
      [Updated to fix compilation issues caused.]
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Ben Gamari <bgamari@gmail.com>
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      1c5d22f7
  14. 05 9月, 2009 1 次提交
  15. 19 6月, 2009 1 次提交
  16. 28 3月, 2009 1 次提交
  17. 13 3月, 2009 1 次提交
  18. 07 1月, 2009 1 次提交
  19. 29 12月, 2008 1 次提交
    • J
      DRM: i915: add mode setting support · 79e53945
      Jesse Barnes 提交于
      This commit adds i915 driver support for the DRM mode setting APIs.
      Currently, VGA, LVDS, SDVO DVI & VGA, TV and DVO LVDS outputs are
      supported.  HDMI, DisplayPort and additional SDVO output support will
      follow.
      
      Support for the mode setting code is controlled by the new 'modeset'
      module option.  A new config option, CONFIG_DRM_I915_KMS controls the
      default behavior, and whether a PCI ID list is built into the module for
      use by user level module utilities.
      
      Note that if mode setting is enabled, user level drivers that access
      display registers directly or that don't use the kernel graphics memory
      manager will likely corrupt kernel graphics memory, disrupt output
      configuration (possibly leading to hangs and/or blank displays), and
      prevent panic/oops messages from appearing.  So use caution when
      enabling this code; be sure your user level code supports the new
      interfaces.
      
      A new SysRq key, 'g', provides emergency support for switching back to
      the kernel's framebuffer console; which is useful for testing.
      
      Co-authors: Dave Airlie <airlied@linux.ie>, Hong Liu <hong.liu@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NEric Anholt <eric@anholt.net>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      79e53945
  20. 28 10月, 2008 1 次提交
  21. 18 10月, 2008 3 次提交
  22. 14 7月, 2008 1 次提交
    • D
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie 提交于
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      c0e09200