[PULL] drm-intel-next

Daniel Vetter
2017-05-16T09:05:32Z

Hi Dave,

Three tags in total. I also just realized that in the last one I've
forgotten to mention the LPE audio fixes from Ville, which also touch
sound/. Those patches are all reviewed by Takashi.

drm-intel-next-2017-05-15:
Another pile of stuff for 4.12:

- OA improvements and fixes from Robert Bragg
- fixes for the dp aux backlight driver (Puthikorn Voravootivat)
- no RCU during shrinking (unfortunately), from Joonas
- small atomic leftovers (better unpin, statified hw verifier), from
Maarten
- g4x wm fixes (Ville)
- piles of cursor fixes/improvements (Ville)
- g4x overlay plane support (Ville)
- prep for new guc logging/notification (Michal Wajdeczko)
- pile of static checker appeasement from Imre
- implement dma_buf->kmap, good for testing (Chris)
- fine-tune ring handling (Chris)
drm-intel-next-2017-05-02:
Somehow not much these 2 weeks ...

- (hopefully) stability fixes for byt/bsw gt wake (Chris)
- tighten up requests (especially restarts) checks and debug tracking
(Chris)
- unify context handling more for gen5+ (Chris+Joonas)
- oddball bugfixes as usual
drm-intel-next-2017-04-18:
First slice of 4.13 features:

new uabi:
- extend error state dumping to include non-batch buffers requested by
userspace (Chris), so that mesa gets more useful error state dumps
- reapply the link status patch, for handlig dp link failures
(Manasi). This needs updated -modesetting to work correctly.
- Add new _WC cache domain, our assumption that wc can be subsumed by
the existing cache domains didn't pan out (Chris)

feature work:
- first pile of conversion to atomic properties for connectors
(Maarten)
- refactor dp link rate handling code and related areas (Jani)
- split engine info into class and runtime stuff (Oscar Mateo)
- more robust wait_for_register code (Chris, Michal Wajdeczko)
- fix rcu issues in the shrinker and simplify locking (Joonas)
- guc/huc for glk (Anusha)
- enable atomic modesetting for vlv/chv (Ville), plus final fixes for
that

I chatted with Sean, and the plan is that he'll send you the drm-misc-next
pull for opening 4.13 drm-next later today. We need to backmerge the
entire thing into drm-intel afterwards, Maarten needs the connector state
hooks for landing the remaining connector atomicification patches for
i915.

Cheers, Daniel

The following changes since commit 8b03d1ed2c43a2ba5ef3381322ee4515b97381bf:

Merge branch 'linux-4.12' of git://github.com/skeggsb/linux into drm-next (2017-05-02 04:46:01 +1000)

are available in the git repository at:

git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2017-05-15

for you to fetch changes up to 2388cd9c5056b10c8e461ca2ab075f49d6f1b25d:

drm/i915: Update DRIVER_DATE to 20170515 (2017-05-15 09:11:48 +0200)

----------------------------------------------------------------
Another pile of stuff for 4.12:

- OA improvements and fixes from Robert Bragg
- fixes for the dp aux backlight driver (Puthikorn Voravootivat)
- no RCU during shrinking (unfortunately), from Joonas
- small atomic leftovers (better unpin, statified hw verifier), from
Maarten
- g4x wm fixes (Ville)
- piles of cursor fixes/improvements (Ville)
- g4x overlay plane support (Ville)
- prep for new guc logging/notification (Michal Wajdeczko)
- pile of static checker appeasement from Imre
- implement dma_buf->kmap, good for testing (Chris)
- fine-tune ring handling (Chris)

----------------------------------------------------------------
Ander Conselvan de Oliveira (2):
drm/i915/glk: Don't allow 12 bpc when htotal is too big
drm/i915/glk: Fix DSI "*ERROR* ULPS is still active" messages

Andrea Arcangeli (1):
i915: initialize the free_list of the fencing atomic_helper

Anusha Srivatsa (2):
drm/i915/GuC/GLK: Load GuC on GLK
drm/i915/GLK/HuC: Load HuC on GLK

Chris Wilson (51):
drm/i915: intel_ring.engine is unused
drm/i915: Onion unwind for intel_init_ring_common()
drm/i915: Park the signaler before sleeping
drm/i915: Apply a cond_resched() to the saturated signaler
drm/i915: Use the right mapping_gfp_mask for final shmem allocation
drm/i915: Assert the engine is idle before overwiting the HWS
drm/i915: Advance ring->head fully when idle
drm/i915: The shrinker already acquires struct_mutex, so call it unlocked
drm/i915: Drain any freed objects prior to hibernation
drm/i915: Break up long runs of freeing objects
drm/i915: Insert cond_resched() into i915_gem_free_objects
drm/i915: Use drm_i915_private directly from debugfs
drm/i915: Stop second guessing the caller for intel_uncore_wait_for_register()
drm/i915: Stop sleeping from inside gen6_bsd_submit_request()
drm/i915: Acquire uncore.lock over intel_uncore_wait_for_register()
drm/i915: Use __intel_uncore_wait_for_register_fw for sandybride_pcode_read
drm/i915: Use safer intel_uncore_wait_for_register in ring-init
drm/i915: Rename intel_engine_cs.exec_id to uabi_id
drm/i915: Bail if we do not setup the RCS engine
drm/i915: Lie and treat all engines as idle if wedged
drm/i915/execlists: Document runtime pm for intel_lrc_irq_handler()
drm/i915: Combine write_domain flushes to a single function
drm/i915: Treat WC a separate cache domain
drm/i915: Add stub mmio read/write routines to mock device
drm/i915: Pretend the engine is always idle when mocking
drm/i915: Wake device for emitting request during selftest
drm/i915: Fix use after free in lpe_audio_platdev_destroy()
drm/i915: Copy user requested buffers into the error state
drm/i915/selftests: Allocate inode/file dynamically
drm/i915: Use discardable buffers for rings
drm/i915: Stop touching hangcheck.seqno from intel_engine_init_global_seqno()
drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio
drm/i915: Confirm the request is still active before adding it to the await
drm/i915: Include interesting seqno in the missed breadcrumb debug
drm/i915: Report request restarts for both execlists/guc
drm/i915: Differentiate between sw write location into ring and last hw read
drm/i915: Poison the request before emitting commands
drm/i915: Skip waking the signaler when enabling before request submission
drm/i915: Defer context state allocation for legacy ring submission
drm/i915: Mark up clflushes as belonging to an unordered timeline
drm/i915: Unwrap top level fence-array
drm/i915: Lift timeline ordering to await_dma_fence
drm/i915: Squash repeated awaits on the same fence
drm/i915: Rename intel_timeline.sync_seqno[] to .global_sync[]
drm/i915: Do not record a successful syncpoint for a dma-await
drm/i915: Switch the global i915.semaphores check to a local predicate
drm/i915: Implement dma_buf_ops->kmap
drm/i915: Use engine->context_pin() to report the intel_ring
drm/i915: Avoid the branch in computing intel_ring_space()
drm/i915: Report the ring->space from intel_ring_update_space()
drm/i915: Micro-optimise hotpath through intel_ring_begin()

Chuanxiao Dong (1):
drm/i915: set initialised only when init_context callback is NULL

Dan Carpenter (2):
drm/i915: checking for NULL instead of IS_ERR() in mock selftests
drm/i915: set "ret" correctly on error paths

Daniel Vetter (6):
Merge airlied/drm-next into drm-intel-next-queued
drm/i915: Update DRIVER_DATE to 20170418
drm/i915: Update DRIVER_DATE to 20170502
Merge tag 'tags/drm-for-v4.12' into drm-intel-next-queued
drm/i915: Fix __intel_wait_for_register_fw to not sleep in atomic
drm/i915: Update DRIVER_DATE to 20170515

Daniele Ceraolo Spurio (2):
drm/i915: Classify the engines in class + instance
drm/i915: Use the engine class to get the context size

Dhinakaran Pandiyan (1):
drm/i915: Typo fix - 'pipe bpc' to 'pipe bpp'

Geliang Tang (1):
drm/i915: use memdup_user_nul

Imre Deak (7):
drm/i915/vlv: Fix port B PLL opamp initialization
drm/i915/dp: Check error return during DPCD capability queries
drm/i915/sdvo: Check error return from intel_sdvo_get_value()
drm/i915: Check error return when setting DMA mask
drm/i915: Check error return when converting pipe to connector
drm/i915: Sanitize stolen memory size calculation
drm/i915/lvds: Remove magic from PLL programming

Jani Nikula (14):
drm/i915/dp: use known correct array size in rate_to_index
drm/i915/dp: return errors from rate_to_index()
drm/i915/dp: rename rate_to_index() to intel_dp_rate_index() and reuse
drm/i915/dp: cache source rates at init
drm/i915/dp: generate and cache sink rate array for all DP, not just eDP 1.4
drm/i915/dp: use the sink rates array for max sink rates
drm/i915/dp: cache common rates with sink rates
drm/i915/dp: do not limit rate seek when not needed
drm/i915/dp: don't call the link parameters sink parameters
drm/i915/dp: add functions for max common link rate and lane count
drm/i915/mst: use max link not sink lane count
drm/i915/dp: localize link rate index variable more
drm/i915/dp: use readb and writeb calls for single byte DPCD access
drm/i915/dp: read sink count to a temporary variable first

Joonas Lahtinen (8):
drm/i915: Don't call synchronize_rcu_expedited under struct_mutex
drm/i915: Simplify shrinker locking
drm/i915: Sanitize engine context sizes
drm/i915: Eliminate HAS_HW_CONTEXTS
drm/i915: Reset ILK during GEM sanitization
drm/i915: Capture CCID on ILK
drm/i915: Do not leak dev_priv->l3_parity.remap_info[]
drm/i915: Do not sync RCU during shrinking

Kees Cook (1):
drm/i915: Avoid format string expansion from engine names

Maarten Lankhorst (10):
drm/i915: Remove unused members from intel_tv.c
drm/i915: Convert intel_tv connector properties to atomic, v5.
drm/i915: Remove unused dp properties for dp-mst.
drm/i915: Convert intel_dp_mst connector properties to atomic.
drm/i915: Convert intel_crt connector properties to atomic.
drm/i915: Convert intel DVO connector to atomic
Revert "drm/i915: Lock mode_config.mutex in intel_display_resume."
drm/i915: Do not use lock all in hsw_trans_edp_pipe_A_crc_wa
drm/i915: Fix hw state verifier access to crtc->state.
drm/i915: Remove vma unpin in intel_plane_destroy

Madhav Chauhan (1):
drm/i915/glk: limit pixel clock to 99% of cdclk workaround

Manasi Navare (2):
drm/i915/dp: Validate cached link rate and lane count before retraining
drm/i915: Implement Link Rate fallback on Link training failure

Matthew Auld (1):
drm/i915: don't do allocate_va_range again on PIN_UPDATE

Michal Wajdeczko (11):
drm/i915/huc: Simplify intel_huc_init_hw()
drm/i915/guc: Use GUC prefix for CORE_FAMILY definitions
drm/i915: Fix type of timeout_ms parameter in intel_wait_for_register_fw()
drm/i915: Extend intel_wait_for_register_fw() with fast timeout
drm/i915/guc: Use wait_for_register_fw() while waiting for MMIO response
drm/i915: Drop const qualifiers from params in wait_for_register()
drm/i915: Don't allow overuse of __intel_wait_for_register_fw()
drm/i915/guc: Enable send function only after successful init
drm/i915: Move uncore definitions into a separate header
drm/i915/guc: Move notification code into virtual function
drm/i915/guc: Make scratch register base and count flexible

Michel Thierry (2):
drm/i915: Fix stale comment about I915_RESET_IN_PROGRESS flag
drm/i915: Rename gen8_(un)request_engine_reset to gen8_reset_engine_start/cancel

Mika Kuoppala (4):
drm/i915: Fix system hang with EI UP masked on Haswell
drm/i915: Move the GTFIFODBG to the common mmio dbg framework
drm/i915: Use wait_for_atomic_us when waiting for gt fifo
drm/i915: Show dmc debug registers on Kabylake

Oscar Mateo (4):
drm/i915: Use the same vfunc for BSD2 ring init
drm/i915: Generate the engine name based on the instance number
drm/i915: Split the engine info table in two levels, using class + instance
drm/i915/guc: Dump the GuC stage descriptor pool in debugfs

Puthikorn Voravootivat (4):
drm/i915: Fix cap check for intel_dp_aux_backlight driver
drm/i915: Correctly enable backlight brightness adjustment via DPCD
drm/i915: Set backlight mode before enable backlight
drm/i915: Restore brightness level in aux backlight driver

Robert Bragg (8):
drm/i915/perf: fix gen7_append_oa_reports comment
drm/i915/perf: avoid poll, read, EAGAIN busy loops
drm/i915/perf: avoid read back of head register
drm/i915/perf: no head/tail ref in gen7_oa_read
drm/i915/perf: improve tail race workaround
drm/i915/perf: improve invalid OA format debug message
drm/i915/perf: better pipeline aged/aging tail updates
drm/i915/perf: rate limit spurious oa report notice

Sagar Arun Kamble (1):
drm/i915: Suspend GuC prior to GPU Reset during GEM suspend

Tvrtko Ursulin (3):
drm/i915: Remove user-triggerable WARN from i915_gem_object_create
drm/i915: Fix GCC 4.4 build issue with __intel_wait_for_register_fw
drm/i915/guc: Fix sleep under spinlock during reset

Ville Syrjälä (47):
drm/i915: Make legacy cursor updates more unsynced
drm/i915: Check for id==PLANE_CURSOR instead of type==DRM_PLANE_TYPE_CURSOR
drm/i915: Use intel_wm_plane_visible() on VLV/CHV as well
drm/i915: Enable atomic on VLV/CHV
drm/i915: Perform link quality check unconditionally during long pulse
drm/i915: Fix runtime PM for LPE audio
ALSA: x86: Clear the pdata.notify_lpe_audio pointer before teardown
drm/i915: Stop pretending to mask/unmask LPE audio interrupts
drm/i915: Remove the unused pending_notify from LPE platform data
drm/i915: Replace tmds_clock_speed and link_rate with just ls_clock
drm/i915: Remove hdmi_connected from LPE audio pdata
drm/i915: Reorganize intel_lpe_audio_notify() arguments
drm/i915: Clean up the LPE audio platform data
ALSA: x86: Prepare LPE audio ctls for multiple PCMs
ALSA: x86: Split snd_intelhad into card and PCM specific structures
ALSA: x86: Register multiple PCM devices for the LPE audio card
drm/i915: Fix rawclk readout for g4x
drm/i915: s/vlv_plane_wm_compute/vlv_raw_plane_wm_compute/ etc.
drm/i915: Drop the debug message from vlv_get_fifo_size()
drm/i915: s/vlv_num_wm_levels/intel_wm_num_levels/
drm/i915: Rename bunch of vlv_ watermark structures to g4x_
drm/i915: Make vlv/chv watermark debug print less cryptic
drm/i915: Document CxSR
drm/i915: Fix cursor 'cpp' in watermark calculatins for old platforms
drm/i915: Fix the g4x watermark TLB miss workaround
drm/i915: Refactor the g4x TLB miss w/a to a helper
drm/i915: Refactor wm calculations
drm/i915: Apply the g4x TLB miss w/a to SR watermarks as well
drm/i915: Two stage watermarks for g4x
drm/i915: Enable HPLL watermarks on g4x
drm/i915: Add g4x watermark tracepoint
drm/i915: Add support for sprites on g4x
drm/i915: Parametrize cursor/primary pipe select bits
drm/i915: Pass intel_plane and intel_crtc to plane hooks
drm/i915: Refactor CURBASE calculation
drm/i915: Clean up cursor junk from intel_crtc
drm/i915: Refactor CURPOS calculation
drm/i915: Move cursor position and base handling into the platform specific functions
drm/i915: Drop useless posting reads from cursor commit
drm/i915: Split cursor check_plane into i845 and i9xx variants
drm/i915: Generalize cursor size checks a bit
drm/i915: Use fb->pitches[0] in cursor code
drm/i915: Support variable cursor height on ivb+
drm/i915: Fix gen3 physical cursor alignment requirements
drm/i915: Handle fb offset and src coordinates for cursors
drm/i915: Relax 845/865 CURBASE alignemnt requirement to 32 bytes
drm/i915: Simplify cursor register write sequence

daniele.ceraolospurio@intel.com (1):
drm/i915/guc: write wopcm related register once during uc init

drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/dvo_ch7017.c | 4 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 12 +-
drivers/gpu/drm/i915/i915_cmd_parser.c | 8 +-
drivers/gpu/drm/i915/i915_debugfs.c | 162 ++-
drivers/gpu/drm/i915/i915_drv.c | 27 +-
drivers/gpu/drm/i915/i915_drv.h | 273 ++--
drivers/gpu/drm/i915/i915_gem.c | 232 ++--
drivers/gpu/drm/i915/i915_gem.h | 2 +
drivers/gpu/drm/i915/i915_gem_clflush.c | 8 +-
drivers/gpu/drm/i915/i915_gem_clflush.h | 1 -
drivers/gpu/drm/i915/i915_gem_context.c | 115 +-
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 24 +
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 12 +
drivers/gpu/drm/i915/i915_gem_gtt.c | 42 +-
drivers/gpu/drm/i915/i915_gem_request.c | 178 ++-
drivers/gpu/drm/i915/i915_gem_request.h | 11 +
drivers/gpu/drm/i915/i915_gem_shrinker.c | 61 +-
drivers/gpu/drm/i915/i915_gem_timeline.c | 95 +-
drivers/gpu/drm/i915/i915_gem_timeline.h | 47 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 46 +-
drivers/gpu/drm/i915/i915_guc_submission.c | 9 +-
drivers/gpu/drm/i915/i915_irq.c | 35 +-
drivers/gpu/drm/i915/i915_pci.c | 5 -
drivers/gpu/drm/i915/i915_perf.c | 395 ++++--
drivers/gpu/drm/i915/i915_reg.h | 40 +-
drivers/gpu/drm/i915/i915_syncmap.c | 412 ++++++
drivers/gpu/drm/i915/i915_syncmap.h | 38 +
drivers/gpu/drm/i915/i915_sysfs.c | 26 +-
drivers/gpu/drm/i915/i915_trace.h | 49 +
drivers/gpu/drm/i915/i915_utils.h | 6 +
drivers/gpu/drm/i915/intel_atomic_plane.c | 24 +-
drivers/gpu/drm/i915/intel_audio.c | 19 +-
drivers/gpu/drm/i915/intel_breadcrumbs.c | 13 +-
drivers/gpu/drm/i915/intel_cdclk.c | 22 +-
drivers/gpu/drm/i915/intel_crt.c | 10 +-
drivers/gpu/drm/i915/intel_device_info.c | 2 +-
drivers/gpu/drm/i915/intel_display.c | 732 ++++++-----
drivers/gpu/drm/i915/intel_dp.c | 360 +++--
drivers/gpu/drm/i915/intel_dp_aux_backlight.c | 37 +-
drivers/gpu/drm/i915/intel_dp_link_training.c | 25 +-
drivers/gpu/drm/i915/intel_dp_mst.c | 16 +-
drivers/gpu/drm/i915/intel_drv.h | 86 +-
drivers/gpu/drm/i915/intel_dsi.c | 7 +-
drivers/gpu/drm/i915/intel_dvo.c | 2 +-
drivers/gpu/drm/i915/intel_engine_cs.c | 215 ++-
drivers/gpu/drm/i915/intel_guc_fwif.h | 4 +-
drivers/gpu/drm/i915/intel_guc_loader.c | 19 +-
drivers/gpu/drm/i915/intel_guc_log.c | 6 +-
drivers/gpu/drm/i915/intel_hangcheck.c | 2 +-
drivers/gpu/drm/i915/intel_hdmi.c | 7 +-
drivers/gpu/drm/i915/intel_huc.c | 64 +-
drivers/gpu/drm/i915/intel_lpe_audio.c | 99 +-
drivers/gpu/drm/i915/intel_lrc.c | 110 +-
drivers/gpu/drm/i915/intel_lrc.h | 2 -
drivers/gpu/drm/i915/intel_panel.c | 17 +-
drivers/gpu/drm/i915/intel_pipe_crc.c | 30 +-
drivers/gpu/drm/i915/intel_pm.c | 1390 ++++++++++++++------
drivers/gpu/drm/i915/intel_ringbuffer.c | 329 +++--
drivers/gpu/drm/i915/intel_ringbuffer.h | 85 +-
drivers/gpu/drm/i915/intel_sdvo.c | 9 +-
drivers/gpu/drm/i915/intel_sprite.c | 124 +-
drivers/gpu/drm/i915/intel_tv.c | 208 +--
drivers/gpu/drm/i915/intel_uc.c | 101 +-
drivers/gpu/drm/i915/intel_uc.h | 19 +-
drivers/gpu/drm/i915/intel_uncore.c | 247 ++--
drivers/gpu/drm/i915/intel_uncore.h | 169 +++
.../gpu/drm/i915/selftests/i915_gem_coherency.c | 10 +-
drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c | 100 ++
drivers/gpu/drm/i915/selftests/i915_gem_object.c | 4 +-
drivers/gpu/drm/i915/selftests/i915_gem_request.c | 2 +-
drivers/gpu/drm/i915/selftests/i915_gem_timeline.c | 301 +++++
.../gpu/drm/i915/selftests/i915_mock_selftests.h | 2 +
drivers/gpu/drm/i915/selftests/i915_random.c | 11 +
drivers/gpu/drm/i915/selftests/i915_random.h | 2 +
drivers/gpu/drm/i915/selftests/i915_syncmap.c | 616 +++++++++
drivers/gpu/drm/i915/selftests/mock_engine.c | 11 +-
drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +
drivers/gpu/drm/i915/selftests/mock_timeline.c | 45 +
drivers/gpu/drm/i915/selftests/mock_timeline.h | 33 +
drivers/gpu/drm/i915/selftests/mock_uncore.c | 46 +
drivers/gpu/drm/i915/selftests/mock_uncore.h | 30 +
include/drm/intel_lpe_audio.h | 22 +-
include/uapi/drm/i915_drm.h | 17 +-
sound/x86/intel_hdmi_audio.c | 328 +++--
sound/x86/intel_hdmi_audio.h | 20 +-
86 files changed, 5924 insertions(+), 2665 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_syncmap.c
create mode 100644 drivers/gpu/drm/i915/i915_syncmap.h
create mode 100644 drivers/gpu/drm/i915/intel_uncore.h
create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_timeline.c
create mode 100644 drivers/gpu/drm/i915/selftests/i915_syncmap.c
create mode 100644 drivers/gpu/drm/i915/selftests/mock_timeline.c
create mode 100644 drivers/gpu/drm/i915/selftests/mock_timeline.h
create mode 100644 drivers/gpu/drm/i915/selftests/mock_uncore.c
create mode 100644 drivers/gpu/drm/i915/selftests/mock_uncore.h

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org