[PULL] drm-intel-next

Daniel Vetter
2014-09-01T08:49:19Z

Hi Dave,

drm-intel-next-2014-08-22:
- basic code for execlist, which is the fancy new cmd submission on gen8. Still
disabled by default (Ben, Oscar Mateo, Thomas Daniel et al)
- remove the useless usage of console_lock for I915_FBDEV=n (Chris)
- clean up relations between ctx and ppgtt
- clean up ppgtt lifetime handling (Michel Thierry)
- various cursor code improvements from Ville
- execbuffer code cleanups and secure batch fixes (Chris)
- prep work for dev -> dev_priv transition (Chris)
- some of the prep patches for the seqno -> request object transition (Chris)
- various small improvements all over

Plus a fix from Imre to make sure this pull doesn't break suspend/resume
badly on a bunch of machines on top.

Cheers, Daniel

The following changes since commit 2c0827cffca8ac0c654b888c58a1989a5172f007:

drm/i915: Update DRIVER_DATE to 20140808 (2014-08-08 20:44:59 +0200)

are available in the git repository at:

git://anongit.freedesktop.org/drm-intel tags/drm-intel-next-2014-09-01

for you to fetch changes up to 604effb782a8a4d9a20c8af16bcbf86d742db119:

drm/i915: fix suspend/resume for GENs w/o runtime PM support (2014-08-26 13:13:03 +0200)

----------------------------------------------------------------
Ben Widawsky (2):
drm/i915/bdw: Implement context switching (somewhat)
drm/i915/bdw: Print context state in debugfs

Chris Wilson (12):
drm/i915: Only perform set-to-gtt domain for objects bound to the global gtt
drm/i915: Force CPU relocations if not GTT mapped
drm/i915: Remove fenced_gpu_access and pending_fenced_gpu_access
drm/i915: Copy PCI device id into the device info block
drm/i915: Double check ring is idle before declaring the GPU wedged
drm/i915: Agnostic INTEL_INFO
drm/i915: Pre-validate the NEED_GTTS flag for execbuffer
drm/i915: Remove redundant list_empty(eb->vmas) tests in execbuffer
drm/i915: Simplify relocate_entry_gtt() and make 64-bit safe
drm/i915: Replace __I915__ with typesafe variant
drm/i915: Localise the fbdev console lock frobbing
drm/i915: Print captured bo for all VM in error state

Damien Lespiau (5):
drm/i915: Fix erroneous conversion to u8
drm/i915: Fix wrong number of HDMI translation entries
drm/i915: Make intel_disable_shared_dpll() static
drm/i915: Remove set but unused 'gt_perf_status'
drm/i915/bdw: Disable execlists by default

Daniel Vetter (18):
drm/i915: Fix secure dispatch with full ppgtt
drm/i915: WARN if module opt sanitization goes out of order
drm/i915/bdw: Add a context and an engine pointers to the ringbuffer
drm/i915: Some cleanups for the ppgtt lifetime handling
drm/i915: Track file_priv, not ctx in the ppgtt structure
drm/i915: Only refcount ppgtt if it actually is one
drm/i915: Add proper prefix to obj_to_ggtt
drm/i915: Allow i915_gem_setup_global_gtt to fail
drm/i915: Fix up checks for aliasing ppgtt
drm/i915: Rework ppgtt init to no require an aliasing ppgtt
drm/i915: Initialize the aliasing ppgtt as part of global gtt
drm/i915: Only track real ppgtt for a context
drm/i915: Drop create_vm argument to i915_gem_create_context
drm/i915: Extract common cleanup into i915_ppgtt_release
drm/i915: Extract commmon global gtt cleanup code
drm/i915: Cleanup aliasging ppgtt alongside the global gtt
drm/i915: Track cursor changes as frontbuffer tracking flushes
drm/i915: Update DRIVER_DATE to 20140822

Imre Deak (1):
drm/i915: fix suspend/resume for GENs w/o runtime PM support

Michel Thierry (2):
drm/i915: vma/ppgtt lifetime rules
drm/i915/bdw: Two-stage execlist submit process

Oscar Mateo (33):
drm/i915/bdw: New source and header file for LRs, LRCs and Execlists
drm/i915/bdw: Macro for LRCs and module option for Execlists
drm/i915/bdw: Initialization for Logical Ring Contexts
drm/i915/bdw: Introduce one context backing object per engine
drm/i915/bdw: A bit more advanced LR context alloc/free
drm/i915/bdw: Allocate ringbuffers for Logical Ring Contexts
drm/i915/bdw: Populate LR contexts (somewhat)
drm/i915/bdw: Deferred creation of user-created LRCs
drm/i915: Abstract the legacy workload submission mechanism away
drm/i915/bdw: Skeleton for the new logical rings submission path
drm/i915/bdw: Generic logical ring init and cleanup
drm/i915/bdw: GEN-specific logical ring init
drm/i915/bdw: GEN-specific logical ring set/get seqno
drm/i915/bdw: New logical ring submission mechanism
drm/i915/bdw: GEN-specific logical ring emit request
drm/i915/bdw: GEN-specific logical ring emit flush
drm/i915/bdw: Ring idle and stop with logical rings
drm/i915/bdw: Interrupts with logical rings
drm/i915/bdw: GEN-specific logical ring emit batchbuffer start
drm/i915/bdw: Workload submission mechanism for Execlists
drm/i915/bdw: Always use MMIO flips with Execlists
drm/i915: Add temporary ring->ctx backpointer
drm/i915/bdw: Emission of requests with logical rings
drm/i915/bdw: Write the tail pointer, LRC style
drm/i915/bdw: Avoid non-lite-restore preemptions
drm/i915/bdw: Help out the ctx switch interrupt handler
drm/i915/bdw: Don't write PDP in the legacy way when using LRCs
drm/i915/bdw: Make sure gpu reset still works with Execlists
drm/i915/bdw: Disable semaphores for Execlists
drm/i915/bdw: Display execlists info in debugfs
drm/i915/bdw: Display context backing obj & ringbuffer info in debugfs
drm/i915/bdw: Document Logical Rings, LR contexts and Execlists
drm/i915/bdw: Enable Logical Ring Contexts (hence, Execlists)

Paulo Zanoni (1):
drm/i915: fix i915_interrupt_info on BDW

Sagar Kamble (2):
drm/i915: Created common handler for platform specific suspend/resume
drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths

Sonika Jindal (1):
drm/i915: Continuation of future readiness series

Thomas Daniel (1):
drm/i915/bdw: Handle context switch events

Thomas Wood (1):
drm: fix plane rotation when restoring fbdev configuration

Ville Syrjälä (7):
drm/i915: Eliminate rmw from .update_primary_plane()
drm/i915: Call .update_primary_plane in intel_{enable, disable}_primary_hw_plane()
drm/i915: Make hpd debug messages less cryptic
drm/i915: Don't try to enable cursor from setplane when crtc is disabled
drm/i915: Move CURSIZE setup to i845_update_cursor()
drm/i915: Unify ivb_update_cursor() and i9xx_update_cursor()
drm/i915: Add support for variable cursor size on 845/865

Documentation/DocBook/drm.tmpl | 5 +
drivers/gpu/drm/drm_crtc.c | 25 +-
drivers/gpu/drm/drm_fb_helper.c | 6 +-
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_cmd_parser.c | 4 +-
drivers/gpu/drm/i915/i915_debugfs.c | 189 +++-
drivers/gpu/drm/i915/i915_dma.c | 18 +-
drivers/gpu/drm/i915/i915_drv.c | 154 +--
drivers/gpu/drm/i915/i915_drv.h | 147 ++-
drivers/gpu/drm/i915/i915_gem.c | 185 +--
drivers/gpu/drm/i915/i915_gem_context.c | 155 +--
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 227 ++--
drivers/gpu/drm/i915/i915_gem_gtt.c | 218 ++--
drivers/gpu/drm/i915/i915_gem_gtt.h | 28 +-
drivers/gpu/drm/i915/i915_gem_tiling.c | 2 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 90 +-
drivers/gpu/drm/i915/i915_irq.c | 52 +-
drivers/gpu/drm/i915/i915_params.c | 6 +
drivers/gpu/drm/i915/i915_reg.h | 7 +-
drivers/gpu/drm/i915/intel_ddi.c | 6 +-
drivers/gpu/drm/i915/intel_display.c | 420 ++++---
drivers/gpu/drm/i915/intel_dp.c | 3 +-
drivers/gpu/drm/i915/intel_drv.h | 5 +-
drivers/gpu/drm/i915/intel_fbdev.c | 44 +-
drivers/gpu/drm/i915/intel_lrc.c | 1697 ++++++++++++++++++++++++++++
drivers/gpu/drm/i915/intel_lrc.h | 112 ++
drivers/gpu/drm/i915/intel_pm.c | 2 -
drivers/gpu/drm/i915/intel_ringbuffer.c | 97 +-
drivers/gpu/drm/i915/intel_ringbuffer.h | 44 +-
include/drm/drm_crtc.h | 3 +
30 files changed, 3107 insertions(+), 845 deletions(-)
create mode 100644 drivers/gpu/drm/i915/intel_lrc.c
create mode 100644 drivers/gpu/drm/i915/intel_lrc.h

--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch