[PULL] drm-intel-next

Joonas Lahtinen
2018-03-12T15:06:04Z

Hi Dave,

As promised, here's the final pull request for 4.17.

For your convenicence, here is a breakdown of what all the 4.17 drm-intel-next
pulls have included so far. Below you can find the usual breakdown of what is
included in this pull request only.

i915 feature summary for upcoming kernel 4.17:

* Cannonlake support is sufficient to remove alpha_support protection
* AUX-F port support added
* Icelake base enabling until internal milestone of forcewake support
* Query uAPI interface (used for GPU topology information currently)
* Mesa: https://patchwork.freedesktop.org/series/38795/
* Compressed framebuffer support for sprites
* kmem cache shrinking when GPU is idle
* Avoid boosting GPU when waited item is being processed already
* Avoid retraining LSPCON link unnecessarily
* Decrease request signaling latency
* Deprecation of I915_SET_COLORKEY_NONE
* Kerneldoc and compiler warning cleanup for upcoming CI enforcements

Jani will pick-up drm-intel-next for 4.18 while I continue to supply the fixes for 4.17.

Regards, Joonas

---

drm-intel-next-2018-03-08:

UAPI Changes:

- Query uAPI interface (used for GPU topology information currently)
* Mesa: https://patchwork.freedesktop.org/series/38795/

Driver Changes:

- Increase PSR2 size for CNL (DK)
- Avoid retraining LSPCON link unnecessarily (Ville)
- Decrease request signaling latency (Chris)
- GuC error capture fix (Daniele)

gvt-next-2018-03-08

- big refactor for shadow ppgtt (Changbin)
- KBL context save/restore via LRI cmd (Weinan)
- misc smatch fixes (Zhenyu)
- Properly unmap dma for guest page (Changbin)
- other misc fixes (Xiong, etc.)

drm-intel-next-2018-03-05:

Driver Changes:

- Disable FBC on unsupported Gen9/10 configs to avoid flicker (Imre)
- Mark firmware as failed on authentication failure (Michal)
- Code to prepare to support more engines for Icelake
- Icelake interrupt handling code

- Avoid a race between request submission and marking GPU wedged (Chris)
- OA race condition fix (Lionel)

- Usual code restructuring (Chris, Maarten, Sagar, Ville)

The following changes since commit f073d78eeb8efd85718e611c15f9a78647751dea:

Merge tag 'drm-intel-next-2018-02-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next (2018-03-01 14:07:22 +1000)

are available in the Git repository at:

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

for you to fetch changes up to cf07a60f03f06d6298f4e70b3865bd5faac21c3b:

drm/i915: Update DRIVER_DATE to 20180308 (2018-03-08 14:49:39 +0200)

----------------------------------------------------------------
Andrew Morton (1):
drm/i915/guc: work around gcc-4.4.4 union initializer issue

Changbin Du (18):
drm/i915/gvt: Rework shadow graphic memory management code
drm/i915/gvt: Refine the intel_vgpu_mm reference management
drm/i915/gvt: Refine ggtt and ppgtt root entry ops
drm/i915/gvt: Refine ggtt_set_shadow_entry
drm/i915/gvt: Add verbose gtt shadow logs
drm/i915/gvt: Rename ggtt related functions to be more specific
drm/i915/gvt: Factor out intel_vgpu_{get, put}_ppgtt_mm interface
drm/i915/gvt: Use standard pte bit definition
drm/i915/gvt: Refine pte shadowing process
drm/i915/gvt: Rework shadow page management code
drm/i915/gvt: Rename shadow_page to short name spt
drm/i915/gvt: Rename mpt api {set, unset}_wp_page to {enable, disable}_page_track
drm/i915/gvt: Don't extend page_track to mpt layer
drm/i915/gvt: Provide generic page_track infrastructure for write-protected page
drm/i915/gvt: Manage shadow pages with radix tree
drm/i915/gvt: Define PTE addr mask with GENMASK_ULL
drm/i915/gvt: Fix guest vGPU hang caused by very high dma setup overhead
drm/i915/kvmgt: Add kvmgt debugfs entry nr_cache_entries under vgpu

Chris Wilson (17):
drm/i915: Rename drm_i915_gem_request to i915_request
drm/i915/execlists: Remove the ring advancement under preemption
drm/i915/execlists: Add a GEM_TRACE to show when the context is completed
drm/i915/execlists: Move the GEM_BUG_ON context matches CSB later
drm/i915/preemption: Allow preemption between submission ports
drm/i915: Repeat the GEM_BUG_ON message in the ftrace log
drm/i915: Don't deref request->ctx inside unlocked print_request()
drm/i915: Replace open-coded wait-for loop
drm/i915: Suspend submission tasklets around wedging
drm/i915/execlists: Move irq state manipulation inside irq disabled region
drm/i915/execlists: Split spinlock from its irq disabling side-effect
drm/i915: Unwind vma pinning for intel_pin_and_fence_fb_obj error path
drm/i915/breadcrumbs: Reduce signaler rbtree to a sorted list
drm/i915/breadcrumbs: Assert all missed breadcrumbs were signaled
drm/i915: Stop kicking the signaling thread on seqno wraparound
drm/i915: Flush waiters on seqno wraparound
drm/i915: Assert that the request is indeed complete when signaled from irq

Daniel Vetter (1):
drm/todo: i915 could use device_link_add

Daniele Ceraolo Spurio (5):
drm/i915/error: remove unused gen8_engine_sync_index
drm/i915/error: standardize function style in error capture
drm/i915/error: capture uc_state after gen_state
drm/i915/icl: new context descriptor support
drm/i915/icl: Gen11 forcewake support

Dhinakaran Pandiyan (9):
drm/doc: Fix documentation for _vblank_restore().
drm/i915/psr: New power domain for AUX IO.
drm/i915/frontbuffer: Mark frontbuffer flush and invalidate with might_sleep()
drm/i915/psr: Extract PSR DPCD initialization and move it to intel_psr.c
drm/i915/psr: Check for the specific AUX_FRAME_SYNC cap bit.
drm/i915/dp: Remove redundant sleep after AUX transaction length check.
drm/i915/dp: Move comment about hw timeout to the right place.
drm/i915/psr: Check for power state control capability.
drm/i915/psr: Update PSR2 resolution check for Cannonlake

Imre Deak (1):
drm/i915/gen9, gen10: Disable FBC on planes with a misaligned Y-offset

Jani Nikula (1):
drm/i915/dp: move link rate arrays where they're used

Johnson Lin (1):
drm/i915: Fix Limited Range Color Handling

Joonas Lahtinen (5):
Merge drm-next into drm-intel-next-queued
Merge drm-next into drm-intel-next-queued (this time for real)
drm/i915: Update DRIVER_DATE to 20180305
Merge tag 'gvt-next-2018-03-08' of https://github.com/intel/gvt-linux into drm-intel-next-queued
drm/i915: Update DRIVER_DATE to 20180308

Lionel Landwerlin (8):
drm/i915/hsw: add missing disabled EUs registers reads
drm/i915/perf: fix perf stream opening lock
drm/i915: store all subslice masks
drm/i915/debugfs: reuse max slice/subslices already stored in sseu
drm/i915/debugfs: add rcs topology entry
drm/i915: add rcs topology to error state
drm/i915: add query uAPI
drm/i915: expose rcs topology through query uAPI

Maarten Lankhorst (2):
drm/i915: Check for I915_MODE_FLAG_INHERITED before drm_atomic_helper_check_modeset
drm/i915: Handle changing enable_fbc parameter at runtime better.

Mahesh Kumar (1):
drm/i915/icl: remove port A/E lane sharing limitation.

Manasi Navare (2):
drm/i915/dp: Fix the order of platforms for setting DP source rates
drm/i915/dp: Add HBR3 rate (8.1 Gbps) to dp_rates array

Michal Wajdeczko (2):
drm/i915/uc: Introduce intel_uc_suspend|resume
drm/i915/huc: Mark firmware as failed on auth failure

Michał Winiarski (1):
drm/i915/guc: Fill preempt context once at init time

Michel Thierry (2):
drm/i915: Update missing parts after the rename to i915_request
drm/i915/icl: Add Indirect Context Offset for Gen11

Mika Kuoppala (1):
drm/i915/icl: Interrupt handling

Mustamin B Mustaffa (1):
drm/i915: Enable VBT based BL control for DP

Oscar Mateo (1):
drm/i915/icl: Correctly initialize the Gen11 engines

Paulo Zanoni (1):
drm/i915/icl: Add the ICL PCI IDs

Rodrigo Vivi (6):
drm/i915/psr2: Fix max resolution supported.
drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met.
drm/i915/cnl: Add WaRsDisableCoarsePowerGating
drm/i915/cnl: document WaVFUnitClockGatingDisable
drm/i915/cnp: Document WaSouthDisplayDisablePWMCGEGating
drm/i915/cnl: Add Wa_2201832410

Sagar Arun Kamble (1):
drm/i915/uc: Make GuC/HuC fw fetch and loading functions/file structure symmetric

Thomas Daniel (1):
drm/i915/icl: Enhanced execution list support

Tvrtko Ursulin (6):
drm/i915: Make global seqno known in i915_gem_request_execute tracepoint
drm/i915/icl: Show interrupt registers in debugfs
drm/i915: Move page sizes out of the 8-bit sandwich
drm/i915/icl: Prepare for more rings
drm/i915: Wedged engine mask makes more sense in hex
drm/i915/icl: Ringbuffer interrupt handling

Ville Syrjälä (22):
drm/i915: Fail if we can't get a fence for gen2/3 tiled scanout
drm/i915: Only pin the fence for primary planes (and gen2/3)
drm/i915: Clean up fbc vs. plane checks
drm/i915: Require fence only for FBC capable planes
drm/i915: Extract intel_plane_{pin,unpin}_fb()
drm/i915: Add a FIXME about FBC vs. fence. 90/270 degree rotation
drm/i915: Use the correct power domain for aux ch
drm/i915: Add enum aux_ch and clean up the aux init to use it
drm/i915: Nuke aux regs from intel_dp
drm/i915: Collect aux ch vfunc setup into intel_dp_aux_init()
drm/i915: Remove the pointless 1:1 matrix copy
drm/i915: Rename pipe CSC to use ilk_ prefix
drm/i915: Don't mangle the CTM on pre-HSW
drm/i915: Consult aux_ch instead of port in ->get_aux_clock_divider()
drm/i915: s/intel_dp_aux_ch/intel_dp_aux_xfer/
drm/i915: Keep the AKSV details in intel_dp_hdcp_write_an_aksv()
drm/i915: Deduplicate the code to fill the aux message header
drm/i915: Convert intel_hpd_irq_event() into an encoder hotplug hook
drm/i915: Reinitialize sink scrambling/TMDS clock ratio on HPD
drm/i915: Move SST DP link retraining into the ->post_hotplug() hook
drm/i915: Nuke intel_dp->channel_eq_status
drm/i915: Track whether the DP link is trained or not

Weinan Li (4):
drm/i915/gvt: add define GEN9_MOCS_SIZE
drm/i915/gvt: add interface to check if context is inhibit
drm/i915/gvt: init mmio by lri command in vgpu inhibit context
drm/i915: add schedule out notification of preempted but completed request

Xiong Zhang (2):
drm/i915/gvt: Release gvt->lock at the failure of finding page track
drm/i915/gvt: Return error at the failure of finding page_track

Zhenyu Wang (7):
drm/i915/gvt: Fix one gvt_vgpu_error() use in dmabuf.c
drm/i915/gvt: remove gvt max port definition
drm/i915/gvt: Fix vGPU sched timeslice calculation warning
drm/i915/gvt: Fix check error of vgpu create failure message
drm/i915/gvt: Fix check error on fence mmio handler
drm/i915/gvt: Fix one indent error
drm/i915/gvt: Fix check error on hws_pga_write() fail message

Documentation/gpu/todo.rst | 7 +
drivers/gpu/drm/drm_vblank.c | 22 +-
drivers/gpu/drm/i915/Makefile | 6 +-
drivers/gpu/drm/i915/gvt/Makefile | 2 +-
drivers/gpu/drm/i915/gvt/dmabuf.c | 2 +-
drivers/gpu/drm/i915/gvt/gtt.c | 1457 +++++++++-----------
drivers/gpu/drm/i915/gvt/gtt.h | 189 +--
drivers/gpu/drm/i915/gvt/gvt.c | 2 +-
drivers/gpu/drm/i915/gvt/gvt.h | 21 +-
drivers/gpu/drm/i915/gvt/handlers.c | 38 +-
drivers/gpu/drm/i915/gvt/hypercall.h | 9 +-
drivers/gpu/drm/i915/gvt/kvmgt.c | 313 +++--
drivers/gpu/drm/i915/gvt/mmio.c | 9 +-
drivers/gpu/drm/i915/gvt/mmio_context.c | 210 ++-
drivers/gpu/drm/i915/gvt/mmio_context.h | 5 +
drivers/gpu/drm/i915/gvt/mpt.h | 67 +-
drivers/gpu/drm/i915/gvt/page_track.c | 184 +++
drivers/gpu/drm/i915/gvt/page_track.h | 56 +
drivers/gpu/drm/i915/gvt/sched_policy.c | 5 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 60 +-
drivers/gpu/drm/i915/gvt/scheduler.h | 2 +-
drivers/gpu/drm/i915/gvt/trace.h | 10 +-
drivers/gpu/drm/i915/gvt/vgpu.c | 1 +
drivers/gpu/drm/i915/i915_debugfs.c | 214 ++-
drivers/gpu/drm/i915/i915_drv.c | 16 +-
drivers/gpu/drm/i915/i915_drv.h | 41 +-
drivers/gpu/drm/i915/i915_gem.c | 119 +-
drivers/gpu/drm/i915/i915_gem.h | 7 +-
drivers/gpu/drm/i915/i915_gem_batch_pool.c | 2 +-
drivers/gpu/drm/i915/i915_gem_context.c | 29 +-
drivers/gpu/drm/i915/i915_gem_context.h | 4 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 4 +-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 60 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 38 +-
drivers/gpu/drm/i915/i915_gem_gtt.h | 5 +-
drivers/gpu/drm/i915/i915_gem_object.h | 2 +-
drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +-
drivers/gpu/drm/i915/i915_gem_render_state.h | 4 +-
drivers/gpu/drm/i915/i915_gem_shrinker.c | 4 +-
drivers/gpu/drm/i915/i915_gem_timeline.h | 4 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 124 +-
drivers/gpu/drm/i915/i915_irq.c | 244 +++-
drivers/gpu/drm/i915/i915_pci.c | 4 +-
drivers/gpu/drm/i915/i915_perf.c | 68 +-
drivers/gpu/drm/i915/i915_query.c | 125 ++
drivers/gpu/drm/i915/i915_query.h | 15 +
drivers/gpu/drm/i915/i915_reg.h | 39 +-
.../i915/{i915_gem_request.c => i915_request.c} | 390 +++---
.../i915/{i915_gem_request.h => i915_request.h} | 222 +--
drivers/gpu/drm/i915/i915_trace.h | 128 +-
drivers/gpu/drm/i915/i915_vma.c | 3 +-
drivers/gpu/drm/i915/i915_vma.h | 2 +-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 292 ++--
drivers/gpu/drm/i915/intel_color.c | 97 +-
drivers/gpu/drm/i915/intel_crt.c | 4 +-
drivers/gpu/drm/i915/intel_ddi.c | 233 +++-
drivers/gpu/drm/i915/intel_device_info.c | 284 +++-
drivers/gpu/drm/i915/intel_device_info.h | 73 +-
drivers/gpu/drm/i915/intel_display.c | 189 ++-
drivers/gpu/drm/i915/intel_display.h | 12 +
drivers/gpu/drm/i915/intel_dp.c | 747 +++++-----
drivers/gpu/drm/i915/intel_dp_link_training.c | 8 +-
drivers/gpu/drm/i915/intel_drv.h | 22 +-
drivers/gpu/drm/i915/intel_engine_cs.c | 79 +-
drivers/gpu/drm/i915/intel_fbc.c | 105 +-
drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
drivers/gpu/drm/i915/intel_frontbuffer.c | 2 +
drivers/gpu/drm/i915/intel_guc.c | 44 +-
drivers/gpu/drm/i915/intel_guc.h | 4 +-
drivers/gpu/drm/i915/intel_guc_fw.c | 10 +-
drivers/gpu/drm/i915/intel_guc_log.c | 6 +-
drivers/gpu/drm/i915/intel_guc_submission.c | 140 +-
drivers/gpu/drm/i915/intel_hdmi.c | 1 +
drivers/gpu/drm/i915/intel_hotplug.c | 25 +-
drivers/gpu/drm/i915/intel_huc.c | 182 +--
drivers/gpu/drm/i915/intel_huc.h | 2 +-
drivers/gpu/drm/i915/intel_huc_fw.c | 166 +++
drivers/gpu/drm/i915/intel_huc_fw.h | 15 +
drivers/gpu/drm/i915/intel_lrc.c | 455 +++---
drivers/gpu/drm/i915/intel_lrc.h | 3 +
drivers/gpu/drm/i915/intel_lrc_reg.h | 1 +
drivers/gpu/drm/i915/intel_mocs.c | 28 +-
drivers/gpu/drm/i915/intel_mocs.h | 2 +-
drivers/gpu/drm/i915/intel_overlay.c | 82 +-
drivers/gpu/drm/i915/intel_pm.c | 21 +-
drivers/gpu/drm/i915/intel_psr.c | 181 ++-
drivers/gpu/drm/i915/intel_ringbuffer.c | 196 ++-
drivers/gpu/drm/i915/intel_ringbuffer.h | 114 +-
drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +
drivers/gpu/drm/i915/intel_sdvo.c | 12 +-
drivers/gpu/drm/i915/intel_uc.c | 47 +-
drivers/gpu/drm/i915/intel_uc.h | 2 +
drivers/gpu/drm/i915/intel_uncore.c | 157 ++-
drivers/gpu/drm/i915/intel_uncore.h | 23 +-
drivers/gpu/drm/i915/selftests/huge_pages.c | 6 +-
.../gpu/drm/i915/selftests/i915_gem_coherency.c | 8 +-
drivers/gpu/drm/i915/selftests/i915_gem_context.c | 8 +-
drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 6 +-
drivers/gpu/drm/i915/selftests/i915_gem_object.c | 6 +-
.../gpu/drm/i915/selftests/i915_live_selftests.h | 2 +-
.../gpu/drm/i915/selftests/i915_mock_selftests.h | 2 +-
.../{i915_gem_request.c => i915_request.c} | 125 +-
drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 119 +-
drivers/gpu/drm/i915/selftests/intel_uncore.c | 31 +-
drivers/gpu/drm/i915/selftests/mock_engine.c | 10 +-
drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +-
drivers/gpu/drm/i915/selftests/mock_request.c | 10 +-
drivers/gpu/drm/i915/selftests/mock_request.h | 8 +-
include/drm/i915_pciids.h | 12 +
include/uapi/drm/i915_drm.h | 108 +-
110 files changed, 5510 insertions(+), 3620 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gvt/page_track.c
create mode 100644 drivers/gpu/drm/i915/gvt/page_track.h
create mode 100644 drivers/gpu/drm/i915/i915_query.c
create mode 100644 drivers/gpu/drm/i915/i915_query.h
rename drivers/gpu/drm/i915/{i915_gem_request.c => i915_request.c} (78%)
rename drivers/gpu/drm/i915/{i915_gem_request.h => i915_request.h} (79%)
create mode 100644 drivers/gpu/drm/i915/intel_huc_fw.c
create mode 100644 drivers/gpu/drm/i915/intel_huc_fw.h
rename drivers/gpu/drm/i915/selftests/{i915_gem_request.c => i915_request.c} (87%)
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org