VOOZH about

URL: https://lists.freedesktop.org/archives/intel-gfx/2016-August/103961.html

⇱ [Intel-gfx] [PULL] drm-intel-next


[Intel-gfx] [PULL] drm-intel-next

Daniel Vetter daniel.vetter at ffwll.ch
Fri Aug 12 17:21:42 UTC 2016
Hi Dave,

drm-intel-next-2016-08-08:
- refactor ddi buffer programming a bit (Ville)
- large-scale renaming to untangle naming in the gem code (Chris)
- rework vma/active tracking for accurately reaping idle mappings of shared
 objects (Chris)
- misc dp sst/mst probing corner case fixes (Ville)
- tons of cleanup&tunings all around in gem
- lockless (rcu-protected) request lookup, plus use it everywhere for
 non(b)locking waits (Chris)
- pipe crc debugfs fixes (Rodrigo)
- random fixes all over
drm-intel-next-2016-07-25:
- more engine code unification (Tvrtko)
- reorganize rps&rc6 setup (Chris Wilson)
- hotplug polling when in deep rpm states, especially fixes vls (Lyude)
- mocs fix for bxt (Imre)
- convert i915 request to use dma fences (Chris)
- prep work for lockless i915 requests/fences (needed for full sync integration)
 from Chris Wilson
- wait for external rendering/fences attached to dma_bufs (Chris)
- tons of small bugfixes all over

Note also contains a backmerge (git got confused), but when you've pulled
in all pending pulls (there's a few now) I want to do another backmerge to
get at the latest fences stuff from Gustavo.

Cheers, Daniel


The following changes since commit 1cf915d305b6e1d57db6c35c208016f9747ba3c6:

 Merge tag 'imx-drm-fixes-2016-07-27' of git://git.pengutronix.de/git/pza/linux into drm-next (2016-07-30 05:45:30 +1000)

are available in the git repository at:

 git://anongit.freedesktop.org/drm-intel tags/drm-intel-next-2016-08-08

for you to fetch changes up to c5b7e97b27db4f8a8ffe1072506620679043f006:

 drm/i915: Update DRIVER_DATE to 20160808 (2016-08-08 09:37:31 +0200)

----------------------------------------------------------------
- refactor ddi buffer programming a bit (Ville)
- large-scale renaming to untangle naming in the gem code (Chris)
- rework vma/active tracking for accurately reaping idle mappings of shared
 objects (Chris)
- misc dp sst/mst probing corner case fixes (Ville)
- tons of cleanup&tunings all around in gem
- lockless (rcu-protected) request lookup, plus use it everywhere for
 non(b)locking waits (Chris)
- pipe crc debugfs fixes (Rodrigo)
- random fixes all over

----------------------------------------------------------------
Akash Goel (1):
 drm/i915/gen9: Update i915_drpc_info debugfs for coarse pg & forcewake info

Bob Paauwe (1):
 drm/i915: Set legacy properties when using legacy gamma set IOCTL. (v2)

Chris Wilson (152):
 drm/i915/breadcrumbs: Queue hangcheck before sleeping
 drm/i915: Kick hangcheck from retire worker
 drm/i915: Remove temporary RPM wakeref assert disables
 drm/i915: Update ifdeffery for mutex->owner
 drm/i915: Provide argument names for static stubs
 drm/i915: Flush GT idle status upon reset
 drm/i915: Preserve current RPS frequency across init
 drm/i915: Perform static RPS frequency setup before userspace
 drm/i915: Move overclocking detection to alongside RPS frequency detection
 drm/i915: Define a separate variable and control for RPS waitboost frequency
 drm/i915: Remove superfluous powersave work flushing
 drm/i915: Defer enabling rc6 til after we submit the first batch/context
 drm/i915: Hide gen6_update_ring_freq()
 drm/i915/fbdev: Drain the suspend worker on retiring
 drm/i915/fbdev: Check for the framebuffer before use
 drm/i915/evict: Always switch away from the current context
 drm/i915: Flush logical context image out to memory upon suspend
 drm/i915: Handle ENOSPC after failing to insert a mappable node
 drm/i915: Move GEM request routines to i915_gem_request.c
 drm/i915: Retire oldest completed request before allocating next
 drm/i915: Mark all current requests as complete before resetting them
 drm/i915: Derive GEM requests from dma-fence
 drm/i915: Disable waitboosting for fence_wait()
 drm/i915: Disable waitboosting for mmioflips/semaphores
 drm/i915: Mark imported dma-buf objects as being coherent
 drm/i915: Wait on external rendering for GEM objects
 drm/i915: Rename request reference/unreference to get/put
 drm/i915: Rename i915_gem_context_reference/unreference()
 drm/i915: Wrap drm_gem_object_lookup in i915_gem_object_lookup
 drm/i915: Wrap drm_gem_object_reference in i915_gem_object_get
 drm/i915: Rename drm_gem_object_unreference in preparation for lockless free
 drm/i915: Rename drm_gem_object_unreference_unlocked in preparation for lockless free
 drm/i915: Treat ringbuffer writes as write to normal memory
 drm/i915: Rename ring->virtual_start as ring->vaddr
 drm/i915: Convert i915_semaphores_is_enabled over to early sanitize
 drm/i915: Enable RC6 immediately
 Revert "drm/i915: Enable RC6 immediately"
 drm/i915: Drop racy markup of missed-irqs from idle-worker
 drm/i915: Update the breadcrumb interrupt counter before enabling
 drm/i915: Reduce breadcrumb lock coverage for intel_engine_enable_signaling()
 drm/i915: Prefer list_first_entry_or_null
 drm/i915: Only clear the client pointer when tearing down the file
 drm/i915: Only drop the batch-pool's object reference
 drm/i915/cmdparser: Remove stray intel_engine_cs *ring
 drm/i915: Use engine to refer to the user's BSD intel_engine_cs
 drm/i915: Avoid using intel_engine_cs *ring for GPU error capture
 drm/i915: Remove stray intel_engine_cs ring identifiers from i915_gem.c
 drm/i915: Update a couple of hangcheck comments to talk about engines
 drm/i915: Fix up some stray to_i915(dev) after a recent merge
 drm/i915: Add missing ring_mask to Pineview
 drm/i915: Protect older gen against intel_gt_init_powersave()
 drm/i915: Unify intel_logical_ring_emit and intel_ring_emit
 drm/i915: Rename request->ringbuf to request->ring
 drm/i915: Rename intel_context[engine].ringbuf
 drm/i915: Rename struct intel_ringbuffer to struct intel_ring
 drm/i915: Rename residual ringbuf parameters
 drm/i915: Rename intel_pin_and_map_ring()
 drm/i915: Remove obsolete engine->gpu_caches_dirty
 drm/i915: Reduce engine->emit_flush() to a single mode parameter
 drm/i915: Simplify request_alloc by returning the allocated request
 drm/i915: Unify legacy/execlists emission of MI_BATCHBUFFER_START
 drm/i915: Remove intel_ring_get_tail()
 drm/i915: Convert engine->write_tail to operate on a request
 drm/i915: Move the modulus for ring emission to the register write
 drm/i915: Unify request submission
 drm/i915/lrc: Update function names to match request flow
 drm/i915: Stop passing caller's num_dwords to engine->semaphore.signal()
 drm/i915: Reuse legacy breadcrumbs + tail emission
 drm/i915/ringbuffer: Specialise SNB+ request emission for semaphores
 drm/i915: Remove duplicate golden render state init from execlists
 drm/i915: Refactor golden render state emission to unconfuse gcc
 drm/i915: Unify legacy/execlists submit_execbuf callbacks
 drm/i915: Simplify calling engine->sync_to
 drm/i915: Rename engine->semaphore.sync_to, engine->sempahore.signal locals
 drm/i915: Move the common engine cleanup to intel_engine_cs.c
 drm/i915: Amalgamate GGTT/ppGTT vma debug list walkers
 drm/i915: Split GGTT initialisation between probing and setup
 drm/i915: Update GGTT initialisation functions to take drm_i915_private
 drm/i915: Split early global GTT initialisation
 drm/i915: Rearrange GGTT probing to avoid needing a vfunc
 drm/i915: Store owning file on the i915_address_space
 drm/i915: Count how many VMA are bound for an object
 drm/i915: Be more careful when unbinding vma
 drm/i915: Kill drop_pages()
 drm/i915: Introduce i915_gem_active for request tracking
 drm/i915: Prepare i915_gem_active for annotations
 drm/i915: Mark up i915_gem_active for locking annotation
 drm/i915: Refactor blocking waits
 drm/i915: Rename request->list to link for consistency
 drm/i915: Remove obsolete i915_gem_object_flush_active()
 drm/i915: Refactor activity tracking for requests
 drm/i915: Track requests inside each intel_ring
 drm/i915: Convert intel_overlay to request tracking
 drm/i915: Move the special case wait-request handling to its one caller
 drm/i915: Disable waitboosting for a saturated engine
 drm/i915: s/__i915_wait_request/i915_wait_request/
 drm/i915: Double check activity before relocations
 drm/i915: Move request list retirement to i915_gem_request.c
 drm/i915: i915_vma_move_to_active prep patch
 drm/i915: Track active vma requests
 drm/i915: Release vma when the handle is closed
 drm/i915: Mark the context and address space as closed
 Revert "drm/i915: Clean up associated VMAs on context destruction"
 drm/i915: Fix use of engine->index for register offset
 drm/i915/fbc: FBC causes display flicker when VT-d is enabled on Skylake
 drm/i915: Add missing rpm wakelock to GGTT pread
 drm/i915: Acquire audio powerwell for HD-Audio registers
 drm/i915: Combine loops within i915_gem_evict_something
 drm/i915: Remove surplus drm_device parameter to i915_gem_evict_something()
 drm/i915: Double check the active status on the batch pool
 drm/i915: Remove request retirement before each batch
 drm/i915: Remove i915_gem_execbuffer_retire_commands()
 drm/i915: Fix up vma alignment to be u64
 drm/i915: Pad GTT views of exec objects up to user specified size
 drm/i915: Reduce WARN(i915_gem_valid_gtt_space) to a debug-only check
 drm/i915: Split insertion/binding of an object into the VM
 drm/i915: Convert 4096 alignment request to 0 for drm_mm allocations
 drm/i915: Update the GGTT size/alignment query functions
 drm/i915: Update i915_gem_get_ggtt_size/_alignment to use drm_i915_private
 drm/i915: Record allocated vma size
 drm/i915: Wrap vma->pin_count accessors with small inline helpers
 drm/i915: Start passing around i915_vma from execbuffer
 drm/i915: Combine all i915_vma bitfields into a single set of flags
 drm/i915: Make i915_vma_pin() small and inline
 drm/i915: Remove highly confusing i915_gem_obj_ggtt_pin()
 drm/i915: Separate intel_frontbuffer into its own header
 drm/i915: Make fb_tracking.lock a spinlock
 drm/i915: Use atomics to manipulate obj->frontbuffer_bits
 drm/i915: Use dev_priv consistently through the intel_frontbuffer interface
 drm/i915: Move obj->active:5 to obj->flags
 drm/i915: Move i915_gem_object_wait_rendering()
 drm/i915: Enable lockless lookup of request tracking via RCU
 drm/i915: Export our request as a dma-buf fence on the reservation object
 drm/i915: Introduce i915_gem_active_wait_unlocked()
 drm/i915: Convert non-blocking waits for requests over to using RCU
 drm/i915: Convert non-blocking userptr waits for requests over to using RCU
 drm/i915/userptr: Remove superfluous interruptible=false on waiting
 drm/i915: Remove forced stop ring on suspend/unload
 drm/i915: Enable i915_gem_wait_for_idle() without holding struct_mutex
 drm/i915: Simplify do_idling() (Ironlake vt-d w/a)
 drm/i915/shrinker: Wait before acquiring struct_mutex under oom
 drm/i915: Tidy generation of the GTT mmap offset
 drm/i915: Remove unused no-shrinker-steal
 drm/i915: Do a nonblocking wait first in pread/pwrite
 drm/i915: Remove (struct_mutex) locking for wait-ioctl
 drm/i915: Remove (struct_mutex) locking for busy-ioctl
 drm/i915: Reduce locking inside swfinish ioctl
 drm/i915: Remove pinned check from madvise ioctl
 drm/i915: Remove locking for get_tiling
 drm/i915: Document and reject invalid tiling modes
 drm/i915: Repack fence tiling mode and stride into a single integer
 drm/i915: Assert that the request hasn't been retired

Daniel Vetter (8):
 drm/i915: Fixup kerneldoc code snippets in intel_uncore.c
 drm/i915: Clean up kerneldoc for intel_lrc.c
 drm/i915: Update missing kerneldoc
 drm/i915: Remove misleading CSR firmware loading docs
 drm/i915: Update DRIVER_DATE to 20160725
 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
 drm/i915: Update comment before i915_spin_request
 drm/i915: Update DRIVER_DATE to 20160808

Dave Gordon (7):
 drm/i915: unify first-stage engine struct setup
 drm/i915: compile-time consistency check on __EXEC_OBJECT flags
 drm/i915: refactor eb_get_batch()
 drm/i915: rename macro parameter(ring) to (engine)
 drm/i915: rename 'ring' where it refers to an engine or engine_id
 drm/i915: rename & update eb_select_ring()
 drm/i915: use i915_gem_object_put_unlocked() after releasing mutex

David Weinehall (1):
 drm/i915/debugfs: Take runtime_pm ref for sseu

Imre Deak (3):
 drm/i915/gen9: Clean up MOCS table definitions
 drm/i915/bxt: Fix inadvertent CPU snooping due to incorrect MOCS config
 drm/i915: Give proper names to MOCS entries

Keith Packard (1):
 drm/i915: cleanup_plane_fb: also drop reference to current state wait_req

Lionel Landwerlin (1):
 drm/i915: add missing condition for committing planes on crtc

Lyude (4):
 drm/i915/vlv: Make intel_crt_reset() per-encoder
 drm/i915/vlv: Reset the ADPA in vlv_display_power_well_init()
 drm/i915/vlv: Disable HPD in valleyview_crt_detect_hotplug()
 drm/i915: Enable polling when we don't have hpd

Matt Roper (1):
 drm/i915/gen9: Give one extra block per line for SKL plane WM calculations

Matthew Auld (4):
 drm/i915: remove superfluous i915_gem_object_free_mmap_offset call
 drm/i915: remove redundant fbc warnings
 drm/i915: fix WaInsertDummyPushConstPs
 drm/i915: fix aliasing_ppgtt leak

Mika Kuoppala (2):
 drm/i915/gen9: Add WaInPlaceDecompressionHang
 drm/i915/gen9: Add WaDisableGatherAtSetShaderCommonSlice

Rodrigo Vivi (3):
 drm/i915/guc: Revert "drm/i915/guc: enable GuC loading & submission by default"
 drm/i915: Fix copy_to_user usage for pipe_crc
 drm/i915: Use drm official vblank_no_hw_counter callback.

Tim Gore (1):
 drm/i915:gen9: restrict WaC6DisallowByGfxPause

Tvrtko Ursulin (6):
 drm/i915: Prepare for engine init unification
 drm/i915: Unify engine init loop
 drm/i915: Make more use of the shared engine irq setup
 drm/i915: Simplify intel_init_ring_buffer prototype
 drm/i915: Move common engine setup into intel_engine_cs.c
 drm/i915: Pull out some more common engine init code

Ville Syrjälä (27):
 drm/i915: Unbreak interrupts on pre-gen6
 drm/i915: Ignore panel type from OpRegion on SKL
 drm/i915: Treat eDP as always connected, again
 drm/i915: Wait up to 3ms for the pcu to ack the cdclk change request on SKL
 drm/i915: Never fully mask the the EI up rps interrupt on SNB/IVB
 drm/i915: Fix iboost setting for DDI with 4 lanes on SKL
 drm/i915: Name the "iboost bit"
 drm/i915: Program iboost settings for HDMI/DVI on SKL
 drm/i915: Move bxt_ddi_vswing_sequence() call into intel_ddi_pre_enable() for HDMI
 drm/i915: Explicitly use ddi buf trans entry 9 for hdmi
 drm/i915: Split DP/eDP/FDI and HDMI/DVI DDI buffer programming apart
 drm/i915: Get the iboost setting based on the port type
 drm/i915: Simplify intel_ddi_get_encoder_port()
 drm/i915: Extract bdw_get_buf_trans_edp()
 drm/i915: Always use cpp==4 for FW_BLC_SELF on 915GM/945GM
 drm/i915: Program FW_BLC_SELF on 915G as well
 drm/i915: Warn about aux msg buffer vs. size mismatch
 drm/i915: Clean up the extra RPM ref on CHV with i915.enable_rc6=0
 drm/i915: Read PSR caps/intermediate freqs/etc. only once on eDP
 drm/i915: Avoid mixing up SST and MST in DDI setup
 drm/i915: Reject mixing MST and SST/HDMI on the same digital port
 drm/i915: Track active streams also for DP SST
 drm/i915: Allow MST sinks to work even if drm_probe_ddc() fails
 drm/i915: Remove useless rate_to_index() usage
 drm/i915: Don't try to ack sink irqs when there are none
 drm/i915: Fix iboost setting for SKL Y/U DP DDI buffer translation entry 2
 Revert "drm/i915: Track active streams also for DP SST"

 Documentation/gpu/i915.rst | 3 +
 drivers/gpu/drm/i915/Makefile | 3 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c | 74 +-
 drivers/gpu/drm/i915/i915_debugfs.c | 187 +-
 drivers/gpu/drm/i915/i915_drv.c | 85 +-
 drivers/gpu/drm/i915/i915_drv.h | 521 ++---
 drivers/gpu/drm/i915/i915_gem.c | 2796 +++++++++-----------------
 drivers/gpu/drm/i915/i915_gem_batch_pool.c | 34 +-
 drivers/gpu/drm/i915/i915_gem_batch_pool.h | 6 +-
 drivers/gpu/drm/i915/i915_gem_context.c | 183 +-
 drivers/gpu/drm/i915/i915_gem_debug.c | 70 -
 drivers/gpu/drm/i915/i915_gem_dmabuf.c | 71 +-
 drivers/gpu/drm/i915/i915_gem_evict.c | 187 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c | 476 +++--
 drivers/gpu/drm/i915/i915_gem_fence.c | 52 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c | 587 +++---
 drivers/gpu/drm/i915/i915_gem_gtt.h | 183 +-
 drivers/gpu/drm/i915/i915_gem_render_state.c | 120 +-
 drivers/gpu/drm/i915/i915_gem_render_state.h | 18 -
 drivers/gpu/drm/i915/i915_gem_request.c | 767 +++++++
 drivers/gpu/drm/i915/i915_gem_request.h | 676 +++++++
 drivers/gpu/drm/i915/i915_gem_shrinker.c | 78 +-
 drivers/gpu/drm/i915/i915_gem_stolen.c | 20 +-
 drivers/gpu/drm/i915/i915_gem_tiling.c | 52 +-
 drivers/gpu/drm/i915/i915_gem_userptr.c | 57 +-
 drivers/gpu/drm/i915/i915_gpu_error.c | 459 +++--
 drivers/gpu/drm/i915/i915_guc_submission.c | 31 +-
 drivers/gpu/drm/i915/i915_irq.c | 57 +-
 drivers/gpu/drm/i915/i915_pci.c | 1 +
 drivers/gpu/drm/i915/i915_reg.h | 20 +-
 drivers/gpu/drm/i915/i915_sysfs.c | 78 +-
 drivers/gpu/drm/i915/i915_trace.h | 35 +-
 drivers/gpu/drm/i915/i915_vgpu.c | 3 +-
 drivers/gpu/drm/i915/intel_audio.c | 6 +
 drivers/gpu/drm/i915/intel_breadcrumbs.c | 31 +-
 drivers/gpu/drm/i915/intel_csr.c | 7 -
 drivers/gpu/drm/i915/intel_ddi.c | 255 +--
 drivers/gpu/drm/i915/intel_display.c | 255 ++-
 drivers/gpu/drm/i915/intel_dp.c | 231 ++-
 drivers/gpu/drm/i915/intel_dp_mst.c | 4 +-
 drivers/gpu/drm/i915/intel_drv.h | 40 +-
 drivers/gpu/drm/i915/intel_engine_cs.c | 231 +++
 drivers/gpu/drm/i915/intel_fbc.c | 29 +-
 drivers/gpu/drm/i915/intel_fbdev.c | 32 +-
 drivers/gpu/drm/i915/intel_frontbuffer.c | 128 +-
 drivers/gpu/drm/i915/intel_frontbuffer.h | 91 +
 drivers/gpu/drm/i915/intel_guc.h | 1 -
 drivers/gpu/drm/i915/intel_guc_loader.c | 10 +-
 drivers/gpu/drm/i915/intel_hotplug.c | 1 -
 drivers/gpu/drm/i915/intel_lrc.c | 837 +++-----
 drivers/gpu/drm/i915/intel_lrc.h | 52 +-
 drivers/gpu/drm/i915/intel_mocs.c | 61 +-
 drivers/gpu/drm/i915/intel_mocs.h | 2 +-
 drivers/gpu/drm/i915/intel_overlay.c | 174 +-
 drivers/gpu/drm/i915/intel_pm.c | 357 ++--
 drivers/gpu/drm/i915/intel_psr.c | 26 +-
 drivers/gpu/drm/i915/intel_renderstate.h | 16 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c | 1157 +++++------
 drivers/gpu/drm/i915/intel_ringbuffer.h | 228 +--
 drivers/gpu/drm/i915/intel_sprite.c | 13 +-
 drivers/gpu/drm/i915/intel_uncore.c | 14 +-
 include/uapi/drm/i915_drm.h | 42 +-
 62 files changed, 6296 insertions(+), 6025 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/i915_gem_debug.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_request.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_request.h
 create mode 100644 drivers/gpu/drm/i915/intel_engine_cs.c
 create mode 100644 drivers/gpu/drm/i915/intel_frontbuffer.h

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list