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

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Mon Mar 12 15:06:04 UTC 2018


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%)


More information about the Intel-gfx mailing list