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

Daniel Vetter daniel.vetter at ffwll.ch
Fri Apr 7 16:58:44 UTC 2017

Hi Dave,

Last 4.12 feature pile:

GVT updates:
- Add mdev attribute group for per-vgpu info
- Time slice based vGPU scheduling QoS support (Gao Ping)
- Initial KBL support for E3 server (Han Xu)
- other misc.

- lots and lots of small fixes and improvements all over
- refactor fw_domain code (Chris Wilson)
- improve guc code (Oscar Mateo)
- refactor cursor/sprite code, precompute more for less overhead in
  the critical path (Ville)
- refactor guc/huc fw loading code a bit (Michal Wajdeczko)

Note: There's was a small mixup in the script, which is fixed again, but
caused some fun with the tagging of this one here. drm-tip says there's
some conflicts with -rc because git is confused, we should have resolved
them all already.

Cheers, Daniel

The following changes since commit 8bcad07a45637fb88e799466e4eee83859e8ffd3:

  drm/i915/gvt: fix error return check for copy_gma_to_hva() (2017-03-29 13:38:01 +1000)

are available in the git repository at:

  git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-testing-2017-04-03

for you to fetch changes up to ba515d3407dccfe3b4597f4afdaaf2ef1beb48e1:

  drm/i915: Update DRIVER_DATE to 20170403 (2017-04-03 07:52:18 +0200)

Last 4.12 feature pile:

GVT updates:
- Add mdev attribute group for per-vgpu info
- Time slice based vGPU scheduling QoS support (Gao Ping)
- Initial KBL support for E3 server (Han Xu)
- other misc.

- lots and lots of small fixes and improvements all over
- refactor fw_domain code (Chris Wilson)
- improve guc code (Oscar Mateo)
- refactor cursor/sprite code, precompute more for less overhead in
  the critical path (Ville)
- refactor guc/huc fw loading code a bit (Michal Wajdeczko)

Arnd Bergmann (1):
      drm/i915: split out check for noncontiguous pfn range

Ben Widawsky (1):
      drm/i915: Use LINEAR modifier instead of NONE

Chris Wilson (46):
      drm/i915: Reset tasklet back to execlists after disabling guc
      drm/i915: Skip force-wake for uncached mmio flush of GGTT writes
      drm/i915: Protect intel_engine_wakeup() for call from irq context
      drm/i915: intel_engine_init_global_seqno() requires atomic kmap
      drm/i915/execlists: Split the atomic test_and_clear_bit for irq handler
      drm/i915: Remove intel_ring.last_retired_head
      drm/i915: Prefer to report ENOMEM rather than incur the oom for gfx allocations
      drm/i915: Actually pass the reclaim gfp_t along to shmemfs!
      drm/i915: Remove superfluous hw_flags from mi_set_context()
      drm/i915: Restore marking context objects as dirty on pinning
      drm/i915: Eliminate per-fw_domain i915 backpointer
      drm/i915: Use correct fw_domains during initialisation
      drm/i915: Use correct fw_domains during reset
      drm/i915: Skip unused fw_domains
      drm/i915: Remove posting-read for forcewake put
      drm/i915: All fw_domains share the same set/clear/reset values
      drm/i915: Drop uncore spinlock for reading debugfs forcewake counters
      drm/i915: Wait for all fences before installing an exclusive clflush fence
      drm/i915/execlists: Relax the locked clear_bit(IRQ_EXECLIST)
      drm/i915/guc: Refactor the retrieval of guc_process_desc
      drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
      drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission
      drm/i915/execlists: Trim irq handler
      drm/i915: Check we have an wake device before flushing GTT writes
      drm/i915: Limit number of reads to stabilize rc6 counter reads
      drm/i915: Align "unfenced" tiled access on gen2, early gen3
      drm/i915: Fixup intel_write_status_page() for old CPUs without clflush
      drm/i915: Remove unused intel_flush_status_page()
      drm/i915: Use BIT() for computing the engine's flag
      drm/i915/execlists: Wrap tail pointer after reset tweaking
      drm/i915: Assert that the request->tail fits within the ring
      drm/i915: Refactor tests for validity of RING_TAIL
      drm/i915: Mark manually wedged engines as guilty
      drm/i915: Take rpm wakelock around debugfs/i915_gpu_info
      drm/i915: Avoid lock dropping between rescheduling
      Revert "drm/i915: Skip execlists_dequeue() early if the list is empty"
      drm/i915: Ironlake do_idle_maps w/a may be called w/o struct_mutex
      drm/i915: Use a dummy timeline name for a signaled fence
      drm/i915: Drop verbose and archaic "ring" from our internal engine names
      drm/i915: Do request retirement before marking engines as wedged
      drm/i915: Suppress busy status for engines if wedged
      drm/i915: Move retire-requests into i915_gem_wait_for_idle()
      drm/i915: Wait for all engines to be idle as part of i915_gem_wait_for_idle()
      drm/i915: Remove redudant wait for each engine to idle from seqno wrap
      drm/i915: Combine reset_all_global_seqno() loops into one
      drm/i915: Clear gt.active_requests before checking idle status

Daniel Vetter (5):
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued
      Merge tag 'gvt-next-2017-03-30' of https://github.com/01org/gvt-linux into drm-intel-next-queued
      drm/i915: Update DRIVER_DATE to 20170403

Daniele Ceraolo Spurio (1):
      drm/i915/guc: limit forcewake to blitter domain in guc_send

Imre Deak (1):
      drm/i915: WARN if the core runtime PM get helpers fail

Jani Nikula (5):
      drm/i915: update the firmware download URL
      drm/i915/dp: reduce link M/N parameters
      drm/i915/opregion: bail out early for systems with no opregion VBT
      drm/i915/opregion: try to validate RVDA VBT only if it's there
      drm/i915/opregion: debug log about invalid ACPI OpRegion VBT

Joonas Lahtinen (1):
      drm/i915/guc: Sanitize GuC client initialization

Matthew Auld (2):
      drm/i915/perf: destroy stream on sample_flags mismatch
      drm/i915/perf: remove user triggerable warn

Michal Wajdeczko (8):
      drm/i915/uc: Make intel_uc_prepare_fw() static
      drm/i915: Move WARN_ON/MISSING_CASE macros to i915_utils.h
      drm/i915/uc: Move intel_uc_fw_status_repr() to intel_uc.h
      drm/i915/uc: Add intel_uc_fw_type_repr()
      drm/i915/uc: Add intel_uc_fw_fini()
      drm/i915/huc: Remove unused intel_huc_fini()
      drm/i915/uc: Move fw path check to fetch_uc_fw()
      drm/i915/uc: Drop use of MISSING_CASE on trivial enums

Oscar Mateo (12):
      drm/i915/guc: Keep the ctx_pool_vaddr mapped, for easy access
      drm/i915/guc: Add onion teardown to the GuC setup
      drm/i915/guc: The Additional Data Struct (ADS) should get enabled together with GuC submission
      drm/i915/guc: Break out the GuC log extras into their own "runtime" struct
      drm/i915/guc: Make intel_guc_send a function pointer
      drm/i915/guc: Improve the GuC documentation & comments about proxy submissions
      drm/i915/guc: Wait for doorbell to be inactive before deallocating
      drm/i915/guc: A little bit more of doorbell sanitization
      drm/i915/guc: Refactor the concept "GuC context descriptor" into "GuC stage descriptor"
      drm/i915/guc: Split out the mmio_white_list struct
      drm/i915/guc: Move guc_interrupts_release next to guc_interrupts_capture
      drm/i915/guc: Take enable_guc_loading check out of GEM core code

Pandiyan, Dhinakaran (2):
      drm/i915/glk: Apply cdclk workaround for DP audio
      drm/i915: Implement cdclk restrictions based on Azalia BCLK

Paulo Zanoni (3):
      drm/i915: simplify intel_ddi_pll_select()
      drm/i915: kill intel_ddi_pll_select()
      drm/i915: make a few DDI functions static

Pei Zhang (1):
      drm/i915/gvt: make dpcd_fix_data supports DP1.2

Ping Gao (7):
      drm/i915/gvt: use hrtimer replace delayed_work in scheduler
      drm/i915/gvt: add some statistic routine for scheduler
      drm/i915/gvt: factor out the scheduler
      drm/i915/gvt: define weight according to vGPU type
      drm/i915/gvt: add basic function for weight control
      drm/i915/gvt: create an idle vGPU
      drm/i915/gvt: control the scheduler by timeslice usage

Shashank Sharma (2):
      drm/i915: enable scrambling
      drm/i915: allow HDMI 2.0 clock rates

Tamara Diaconita (1):
      drivers: gpu: drm: i915L intel_lpe_audio: Fix kerneldoc comments

Tina Zhang (2):
      drm/i915/gvt: remove workload from intel_shadow_wa_ctx structure
      drm/i915/gvt: remove the redundant info NULL check

Tvrtko Ursulin (2):
      drm/i915/guc: Correct the request_in tracepoint position
      drm/i915: Spinlocks in tasklets can use spin_(un)lock_irq

Ville Syrjälä (14):
      drm/i915: Extract intel_wm_plane_visible()
      drm/i915: Fix SKL cursor watermarks
      drm/i915: Extract skl_plane_ctl()
      drm/i915: Use skl_plane_ctl() for the SKL "sprite" planes
      drm/i915: Extract vlv_sprite_ctl()
      drm/i915: Extract ivb_sprite_ctl()
      drm/i915: Extract ilk_sprite_ctl()
      drm/i915: Extract i845_cursor_ctl() and i9xx_cursor_ctl()
      drm/i915: Extract i9xx_plane_ctl() and ironlake_plane_ctl()
      drm/i915: Nuke ironlake_plane_ctl()
      drm/i915: Pre-compute plane control register value
      drm/i915: Introduce i9xx_check_plane_surface()
      drm/i915: Eliminate ironlake_update_primary_plane()
      drm/i915: Use i9xx_check_plane_surface() for sprite planes as well

Weinan Li (1):
      drm/i915/gvt: emulate SKL_FUSE_STATUS and LCPLL_CTL for virtual monitor detection

Xu Han (5):
      drm/i915/gvt: Add KBL platform definition.
      drm/i915/gvt: Update MMIO handle policy to compatible KBL platform.
      drm/i915/gvt: Update save/restore list to compatible KBL platform.
      drm/i915/gvt: Add KBL dispatch logic in each function.
      drm/i915/gvt: Turn on KBL platform support.

Zhenyu Wang (2):
      drm/i915/gvt: Add mdev device attribute group
      drm/i915/gvt: adjust mem size for low resolution type

 drivers/gpu/drm/i915/gvt/cmd_parser.c             |  42 +-
 drivers/gpu/drm/i915/gvt/display.c                |  22 +-
 drivers/gpu/drm/i915/gvt/execlist.c               |   9 +-
 drivers/gpu/drm/i915/gvt/gtt.c                    |   3 +-
 drivers/gpu/drm/i915/gvt/gvt.c                    |  19 +-
 drivers/gpu/drm/i915/gvt/gvt.h                    |  13 +
 drivers/gpu/drm/i915/gvt/handlers.c               | 427 +++++------
 drivers/gpu/drm/i915/gvt/interrupt.c              |   5 +-
 drivers/gpu/drm/i915/gvt/kvmgt.c                  |  45 +-
 drivers/gpu/drm/i915/gvt/mmio.h                   |  19 +-
 drivers/gpu/drm/i915/gvt/render.c                 |  23 +-
 drivers/gpu/drm/i915/gvt/sched_policy.c           | 229 ++++--
 drivers/gpu/drm/i915/gvt/sched_policy.h           |   2 +
 drivers/gpu/drm/i915/gvt/scheduler.c              |   3 +-
 drivers/gpu/drm/i915/gvt/scheduler.h              |   1 -
 drivers/gpu/drm/i915/gvt/vgpu.c                   |  85 ++-
 drivers/gpu/drm/i915/i915_debugfs.c               |  50 +-
 drivers/gpu/drm/i915/i915_drv.c                   |  10 +-
 drivers/gpu/drm/i915/i915_drv.h                   |  98 ++-
 drivers/gpu/drm/i915/i915_gem.c                   |  71 +-
 drivers/gpu/drm/i915/i915_gem_clflush.c           |   2 +-
 drivers/gpu/drm/i915/i915_gem_context.c           |  18 +-
 drivers/gpu/drm/i915/i915_gem_evict.c             |   2 -
 drivers/gpu/drm/i915/i915_gem_execbuffer.c        |   4 +-
 drivers/gpu/drm/i915/i915_gem_gtt.c               |   2 +-
 drivers/gpu/drm/i915/i915_gem_request.c           |  33 +-
 drivers/gpu/drm/i915/i915_guc_submission.c        | 828 ++++++++++++----------
 drivers/gpu/drm/i915/i915_irq.c                   |   4 +-
 drivers/gpu/drm/i915/i915_pci.c                   |   5 +
 drivers/gpu/drm/i915/i915_perf.c                  |  11 +-
 drivers/gpu/drm/i915/i915_reg.h                   |   7 +
 drivers/gpu/drm/i915/i915_utils.h                 |  18 +
 drivers/gpu/drm/i915/intel_breadcrumbs.c          |   5 +-
 drivers/gpu/drm/i915/intel_cdclk.c                |  29 +-
 drivers/gpu/drm/i915/intel_csr.c                  |   2 +-
 drivers/gpu/drm/i915/intel_ddi.c                  | 100 +--
 drivers/gpu/drm/i915/intel_display.c              | 429 +++++------
 drivers/gpu/drm/i915/intel_drv.h                  |  27 +-
 drivers/gpu/drm/i915/intel_engine_cs.c            |  33 +-
 drivers/gpu/drm/i915/intel_guc_fwif.h             |  71 +-
 drivers/gpu/drm/i915/intel_guc_loader.c           |  49 +-
 drivers/gpu/drm/i915/intel_guc_log.c              | 386 +++++-----
 drivers/gpu/drm/i915/intel_gvt.c                  |   2 +
 drivers/gpu/drm/i915/intel_hdmi.c                 |  65 ++
 drivers/gpu/drm/i915/intel_huc.c                  |  18 -
 drivers/gpu/drm/i915/intel_lpe_audio.c            |   1 +
 drivers/gpu/drm/i915/intel_lrc.c                  | 131 ++--
 drivers/gpu/drm/i915/intel_opregion.c             |  63 +-
 drivers/gpu/drm/i915/intel_pm.c                   |  88 ++-
 drivers/gpu/drm/i915/intel_ringbuffer.c           |  31 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h           |  65 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c           |  12 +-
 drivers/gpu/drm/i915/intel_sprite.c               | 286 ++++----
 drivers/gpu/drm/i915/intel_uc.c                   | 342 +++++----
 drivers/gpu/drm/i915/intel_uc.h                   |  84 ++-
 drivers/gpu/drm/i915/intel_uncore.c               | 150 ++--
 drivers/gpu/drm/i915/selftests/i915_gem_request.c |   6 +-
 drivers/gpu/drm/i915/selftests/intel_hangcheck.c  |   1 -
 drivers/gpu/drm/i915/selftests/mock_engine.c      |   1 -
 drivers/gpu/drm/i915/selftests/scatterlist.c      |  11 +-
 60 files changed, 2601 insertions(+), 1997 deletions(-)

Daniel Vetter
Software Engineer, Intel Corporation

More information about the Intel-gfx mailing list