Hi Dave, Between this one and the drm-misc one I sent out already we have 550+ patches already queued right after -rc1. We're not doing it all wrong :-) drm-intel-next-2017-03-06: 4 weeks worth of stuff since I was traveling&lazy: - lspcon improvements (Imre) - proper atomic state for cdclk handling (Ville) - gpu reset improvements (Chris) - lots and lots of polish around fences, requests, waiting and everything related all over (both gem and modeset code), from Chris - atomic by default on gen5+ minus byt/bsw (Maarten did the patch to flip the default, really this is a massive joint team effort) - moar power domains, now 64bit (Ander) - big pile of in-kernel unit tests for various gem subsystems (Chris), including simple mock objects for i915 device and and the ggtt manager. - i915_gpu_info in debugfs, for taking a snapshot of the current gpu state. Same thing as i915_error_state, but useful if the kernel didn't notice something is stick. From Chris. - bxt dsi fixes (Umar Shankar) - bxt w/a updates (Jani) - no more struct_mutex for gem object unreference (Chris) - some execlist refactoring (Tvrtko) - color manager support for glk (Ander) - improve the power-well sync code to better take over from the firmware (Imre) - gem tracepoint polish (Tvrtko) - lots of glk fixes all around (Ander) - ctx switch improvements (Chris) - glk dsi support&fixes (Deepak M) - dsi fixes for vlv and clanups, lots of them (Hans de Goede) - switch to i915.ko types in lots of our internal modeset code (Ander) - byt/bsw atomic wm update code, yay (Ville) drm-intel-next-2017-02-06: First feature pile for 4.12: - use atomic_commit for legay page flips, once more! (from Maarten) - piles and piles of fixes and patches to make corner-cases more robust in atomic code, execlist, gem, from lots of different folks - remove pre-production w/a for bxt (Chris) - taint the kernel on pre-production hw that's no longer supported (Chris) - consistently treat stolen as dma_addr_t (Chris) - vgpu forcewake cleanup (Weinan Li) - glk color manager support (Ander) - explicit fencing support in execbuf, for Android! (Chris) - ... plus the remaining prep-work for the same (also Chris) - dp compliance prep (Manasi and Jani) - cleanup skl/kbl code under IS_GEN9_BC (for "big core"), from Rodrigo Note that there's a conflict between this and drm-misc-next in i915_debugfs.c, but it's just entire functions added/removed in the same place. Also would be great if you don't delay opening drm-next, I want to backmerge the entire thing into i915 because we need that there. Cheers, Daniel The following changes since commit 64a577196d66b44e37384bc5c4d78c61f59d5b2a: lib/Kconfig: make PRIME_NUMBERS not user selectable. (2017-02-24 12:11:21 +1000) are available in the git repository at: git://anongit.freedesktop.org/git/drm-intel tags/drm-intel-next-2017-03-06 for you to fetch changes up to 505b681539a7e14aeb866515d3ef1a67375839bc: drm/i915: Update DRIVER_DATE to 20170306 (2017-03-06 08:34:44 +0100) ---------------------------------------------------------------- 4 weeks worth of stuff since I was traveling&lazy: - lspcon improvements (Imre) - proper atomic state for cdclk handling (Ville) - gpu reset improvements (Chris) - lots and lots of polish around fences, requests, waiting and everything related all over (both gem and modeset code), from Chris - atomic by default on gen5+ minus byt/bsw (Maarten did the patch to flip the default, really this is a massive joint team effort) - moar power domains, now 64bit (Ander) - big pile of in-kernel unit tests for various gem subsystems (Chris), including simple mock objects for i915 device and and the ggtt manager. - i915_gpu_info in debugfs, for taking a snapshot of the current gpu state. Same thing as i915_error_state, but useful if the kernel didn't notice something is stick. From Chris. - bxt dsi fixes (Umar Shankar) - bxt w/a updates (Jani) - no more struct_mutex for gem object unreference (Chris) - some execlist refactoring (Tvrtko) - color manager support for glk (Ander) - improve the power-well sync code to better take over from the firmware (Imre) - gem tracepoint polish (Tvrtko) - lots of glk fixes all around (Ander) - ctx switch improvements (Chris) - glk dsi support&fixes (Deepak M) - dsi fixes for vlv and clanups, lots of them (Hans de Goede) - switch to i915.ko types in lots of our internal modeset code (Ander) - byt/bsw atomic wm update code, yay (Ville) ---------------------------------------------------------------- Ander Conselvan de Oliveira (34): drm/i915: Don't leak edid in intel_crt_detect_ddc() drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend() drm/i915: Fix calculation of rotated x and y offsets for planar formats drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic() drm/i915/glk: Turn on workarounds that apply to Geminilake too drm/i915: Disable plane gamma in SKL+ sprite planes drm/i915/glk: Plane color correction register changes drm/i915: Split broadwell_load_luts() into smaller functions drm/i915/glk: Program pipe gamma and degamma tables drm/i915: Remove WA for swapped HPD pins in broxton A stepping drm/i915/dp: Move initialization of hpd_pin to a new function drm/i915: Make power domain masks 64 bit long drm/i915: Remove unused function intel_ddi_get_link_dpll() drm/i915: Convert remaining users of 32bit power domain masks drm/i915/glk: Load the degamma LUT even in legacy gamma mode drm/i915/glk: Enable pipe CSC drm/i915/glk: Fix watermark computations for third sprite plane drm/i915/glk: Fix maximum scaling factor for Geminilake scalers drm/i915/glk: Pass dev_priv to intel_atomic_setup_scalers() drm/i915/glk: Fix Geminilake scalers mode programming drm/i915: Store aux power domain in intel_dp drm/i915: Store encoder power domain in struct intel_encoder drm/i915: Check encoder type in enc_to_dig_port() drm/i915/glk: Implement WaDDIIOTimeout drm/i915/glk: Don't enable DDI IO power domains during init drm/i915: Only enable DDI IO power domains after enabling DPLL drm/i915: Enable DDI IO power domains in the DP MST path drm/i915: Pass intel_crtc to fdi_link_train() hooks drm/i915: Pass intel_crtc to intel_lpt_pch_enable() drm/i915: Pass pipe_config to pch_enable() functions drm/i915: Pass pipe_config to fdi_link_train() functions drm/i915: Pass intel_crtc to DDI functions called from crtc en/disable drm/i915: Remove direct usages of intel_crtc->config from DDI code drm/i915: Remove duplicate DDI enabling logic from MST path Andrey Ryabinin (1): drm/i915: fix use-after-free in page_flip_completed() Anusha Srivatsa (1): i915/HuC: Add an extra check for platforms that do not have HUC Arthur Heymans (1): drm/i915: Get correct display clock on 945gm Chris Wilson (238): agp/intel: Move intel_fake_agp_sizes into #ifdef block drm/i915: Fix W=1 warning for csr_load_work_fn() drm/i915: Queue hangcheck when irqs are disabled drm/i915: Assert that the kernel_context is hw-id 0 drm/i915: Assert that the context-switch completion matches our context drm/i915: Pevent copying uninitialised garbage into vma->ggtt_view drm/i915: Remove disable_lite_restore_wa drm/i915: Remove BXT incoherent seqno write workaround drm/i915: Remove BXT restore arbitration around ctx switch drm/i915: Remove BXT disable pixel mask clamping w/a drm/i915: Remove BXT TDL state w/a drm/i915: Split intel_engine allocation and initialisation drm/i915: Reset the gpu on takeover drm/i915: Assert that we don't submit to execlists whilst a preempt is pending drm/i915: Only disable execlist preemption for the duration of the request drm/i915: Move breadcrumbs irq_posted up a level to engine drm/i915: Only run execlist context-switch handler after an interrupt drm/i915: Skip the execlists CSB scan and rewrite if the ring is untouched drm/i915: Only attempt to pass the first request to execlists drm/i915: Dequeue execlists on a new request if any port is available drm/i915: Emit dma-fence (and execlists submit) first from signaler drm/i915: Move atomic state free from out of fence release drm/i915: Remove early pre-production RPS workarounds for BXT drm/i915: Report the failure to write to the punit drm/i915: Also clear the punit's PDATA sideband register drm/i915: Enable userspace to opt-out of implicit fencing drm/i915: Support explicit fencing for execbuf drm/i915: Make intel_detect_preproduction_hw easier to extend drm/i915: Mark the kernel as tainted if we fail the preproduction check drm/i915: Add early BXT sdv to the list of preproduction machines drm/i915: Record more information about the hanging contexts drm/i915: Be defensive when cleaning up i915_gem_internal pages drm/i915: Treat stolen memory as DMA addresses drm/i915: Sanity check the computed size and base of stolen memory drm/i915: Flush untouched framebuffers before display on !llc drm/i915/execlists: Skip resetting RING_CONTEXT_STATUS_PTR drm/i915/execlists: Add interrupt-pending check to intel_execlists_idle() drm/i915: Build DRM range manager selftests for CI drm/i915: Recreate internal objects with single page segments if dmar fails drm/i915: Reject set-tiling-ioctl with stride==0 and a tiling mode drm/i915: Tidy the tail of i915_tiling_ok() drm/i915: Allow large objects to be tiled on gen2/3 drm/i915: Drain the freed state from the tail of the next commit drm/i915: Print execlists restart after reset drm/i915: Manipulate the Global GTT size using I915_GTT_PAGE_SIZE drm/i915: Assign I915_COLOR_UNEVICTABLE to the address space head_node drm/i915: Use page coloring to provide the guard page at the end of the GTT drm/i915: Mark the end of intel_ring_begin() and check in intel_ring_advance() drm/i915: Avoid unguarded reads from the request pointer drm/i915: Generate i915_params {} using a macro drm/i915: Use bool i915_param.alpha_support drm/i915: Capture module parameters for the GPU error state drm/i915: Show the current i915_params in debugfs/i915_capabilites drm/i915: Remove overzealous fence warn on runtime suspend drm/i915: Restore context and pd for ringbuffer submission after reset drm/i915: i915_gem_shrink_all() needs an awake device drm/i915: Move calling engine->init_hw() to its own function drm/i915: Split GEM resetting into 3 phases drm/i915: Disable engine->irq_tasklet around resets drm/i915: Check for timeout completion when waiting for the rq to submitted drm/i915: Assert that we never create a vma for the aliasing_ppgtt drm/i915: Use the size/type of address space to make decisions drm/i915: Always pin contexts into the high GGTT drm/i915/byt: Take powerwell for reading PIPESTAT in debugfs drm/i915: Split device release from unload drm/i915: Unbind any residual objects/vma from the Global GTT on shutdown drm/i915: Flush the freed object queue on device release drm/i915: Move the irq_barrier for reset earlier into reset_prepare drm/i915: Rename conditional GEM execution macros drm/i915: Assert that the active request hasn't been signaled drm/i915: Always call i915_gem_reset_finish() following i915_gem_reset_prepare() drm/i915: Kill the tasklet then disable drm/i915: Park the breadcrumbs signaler across a GPU reset drm/i915: Clear the last_retired_context following a hang/reset drm/i915: Provide a hook for selftests drm/i915: Add some selftests for sg_table manipulation drm/i915: Add unit tests for the breadcrumb rbtree, insert/remove drm/i915: Add unit tests for the breadcrumb rbtree, completion drm/i915: Add unit tests for the breadcrumb rbtree, wakeups drm/i915: Mock the GEM device for self-testing drm/i915: Mock a GGTT for self-testing drm/i915: Mock infrastructure for request emission drm/i915: Create a fake object for testing huge allocations drm/i915: Add selftests for i915_gem_request drm/i915: Add a simple request selftest for waiting drm/i915: Add a simple fence selftest to i915_gem_request drm/i915: Simple selftest to exercise live requests drm/i915: Test simultaneously submitting requests to all engines drm/i915: Test request ordering between engines drm/i915: Live testing of empty requests drm/i915: Add selftests for object allocation, phys drm/i915: Add a live seftest for GEM objects drm/i915: Test partial mappings drm/i915: Test exhaustion of the mmap space drm/i915: Test coherency of and barriers between cache domains drm/i915: Move uncore selfchecks to live selftest infrastructure drm/i915: Test all fw tables during mock selftests drm/i915: Sanity check all registers for matching fw domains drm/i915: Add some mock tests for dmabuf interop drm/i915: Add a live dmabuf selftest drm/i915: Add initial selftests for i915_gem_gtt drm/i915: Exercise filling the top/bottom portions of the ppgtt drm/i915: Exercise filling the top/bottom portions of the global GTT drm/i915: Fill different pages of the GTT drm/i915: Exercise filling and removing random ranges from the live GTT drm/i915: Live testing of lowlevel GTT operations drm/i915: Use fault-injection to force the shrinker to run in live GTT tests drm/i915: Test creation of VMA drm/i915: Exercise i915_vma_pin/i915_vma_insert drm/i915: Verify page layout for rotated VMA drm/i915: Test creation of partial VMA drm/i915: Live testing for context execution drm/i915: Extract aliasing ppgtt setup drm/i915: Force an aliasing_ppgtt test for context execution drm/i915: Initial selftests for exercising eviction drm/i915: Add mock exercise for i915_gem_gtt_reserve drm/i915: Add mock exercise for i915_gem_gtt_insert drm/i915: Add mock tests for GTT/VMA handling drm/i915: Exercise manipulate of single pages in the GGTT drm/i915: Exercise crossing pot boundaries in the GTT drm/i915: Add initial selftests for hang detection and resets drm/i915/gvt: Disable access to stolen memory as a guest drm/i915: Pass timeout==0 on to i915_gem_object_wait_fence() drm/i915: Avoid overflow in computing pot_hole loop termination drm/i915: Silence compiler for GTT selftests drm/i915: Silence compiler warning for seltests/i915_gem_coherency drm/i915/guc: Don't take struct_mutex for object unreference drm/i915: The return of i915_gpu_info to debugfs drm/i915: Enable fine-tuned RPS for cherryview drm/i915: Don't accidentally increase the frequency in handling DOWN rps drm/i915: Only apply the jump to the "efficient RPS" frequency on startup drm/i915: Micro-optimise i915_get_ggtt_vma_pages() drm/i915: Micro-optimise gen6_ppgtt_insert_entries() drm/i915: Micro-optimise gen8_ppgtt_insert_entries() drm/i915: Don't special case teardown of aliasing_ppgtt drm/i915: Split ggtt/alasing_gtt unbind_vma drm/i915: Convert clflushed pagetables over to WC maps drm/i915: Remove kmap/kunmap wrappers drm/i915: Move allocate_va_range to GTT drm/i915: Always preallocate gen6/7 ppgtt drm/i915: Remove redundant clear of appgtt drm/i915: Tidy gen6_write_pde() drm/i915: Remove bitmap tracking for used-ptes drm/i915: Remove bitmap tracking for used-pdes drm/i915: Remove bitmap tracking for used-pdpes drm/i915: Remove bitmap tracking for used-pml4 drm/i915: Remove superfluous posting reads after clear GGTT drm/i915: Always mark the PDP as dirty when altered drm/i915: Remove defunct GTT tracepoints drm/i915: Remove unused ppgtt->enable() drm/i915: Remove i915_address_space.start drm/i915: Only preallocate the aliasing GTT to the extents of the global GTT drm/i915: Differentiate the aliasing_ppgtt with an invalid filp drm/i915: Use preferred kernel types in i915_gem_gtt.c drm/i915: Only enable hotplug interrupts if the display interrupts are enabled drm/i915: Squelch any ktime/jiffie rounding errors for wait-ioctl drm/i915: Unwind conversion to i915_gem_phys_ops on failure drm/i915: Remove struct_mutex for destroying framebuffers drm/i915: struct_mutex is not required for allocating the framebuffer drm/i915: Drop struct_mutex around frontbuffer flushes drm/i915: Postpone fake breadcrumb interrupt until real interrupts cease drm/i915: Break i915_spin_request() if we see an interrupt drm/i915: Defer declaration of missed-interrupt until the waiter is asleep drm/i915: Only start with the fake-irq timer if interrupts are dead drm/i915: Remove completed fences after a wait drm/i915: Only apply legacy PDE overflow detection to 3lvl machines drm/i915: Remove unneeded struct_mutex around rpm drm/i915: Prevent divide-by-zero in debugfs/i915_rps_boost_info drm/i915: Move the common RPS warnings to intel_set_rps() drm/i915: Store the requested frequency whilst RPS is disabled drm/i915: Remove unrequired POSTING_READ from gen6_set_rps() drm/i915: Assert that the request->tail is always qword aligned drm/i915: Use reservation_object_lock() drm/i915: Add i915_param charp macro magic drm/i915: Remove change_domain tracepoint drm/i915: Move cpu_cache_is_coherent() to header drm/i915: Amalgamate flushing of display objects drm/i915: Skip clflushes for all non-page backed objects drm/i915: Perform object clflushing asynchronously drm/i915: Remove 'retire' parameter from intel_fb_obj_flush drm/i915: Remove Braswell GGTT update w/a Revert "drm/i915/dp: Ratelimit DP aux timeout messages" drm/i915: Check against the signaled bit for fences/requests drm/i915: Keep a global seqno per-engine drm/i915: Move reserve_seqno() next to unreserve_seqno() drm/i915: Use a local to shorten req->i915->gpu_error.wait_queue drm/i915: Add ourselves to the gpu error waitqueue for the entire wait drm/i915: Inline __i915_gem_request_wait_for_execute() drm/i915: Deconstruct execute fence drm/i915: Protect the request->global_seqno with the engine->timeline lock drm/i915: Take a reference whilst processing the signaler request drm/i915: Allow a request to be cancelled drm/i915: Remove the preempted request from the execution queue drm/i915: Exercise request cancellation using a mock selftest drm/i915: Replace reset_wait_queue with default_wake_function drm/i915: Refactor direct GPU reset from request waiters drm/i915: Immediately process a reset before starting waiting drm/i915: Remove one level of indention from wait-for-execute drm/i915: Suppress fbc suggestion to increase stolen if disabled drm/i915/fbdev: Stop repeating tile configuration on stagnation drm/i915/execlists: Detect an out-of-order context switch drm/i915: Timeout lowlevel_hole GTT selftest early drm/i915: Assert all sg are initialised in fake_dma_object for selftests drm/i915: Assert we do not overflow 4lvl page directories drm/i915: Sanity check the vma->node prior to binding into the GTT drm/i915: Advance start address on crossing PML (48b ppgtt) boundary drm/i915: Only unwind the local pgtable layer if empty drm/i915: Unwind vma->pages allocation upon failure drm/i915: Remove the vma from the drm_mm if binding fails drm/i915: Remove redundant TLB invalidate on switching contexts drm/i915: Remove redundant TLB invalidate on switching ppgtt drm/i915: Reduce context alignment drm/i915: Distinguish between timeout and error in sideband transactions drm/i915: Report both waiters and success from intel_engine_wakeup() drm/i915: Signal first fence from irq handler if complete drm/i915: Defer enabling hangcheck to the first fake breadcrumb interrupt drm/i915: Delay disabling the user interrupt for breadcrumbs drm/i915: Consolidate reporting of "missed breadcrumbs" drm/i915/guc: Make wq_lock irq-safe drm/i915/guc: Reorder __i915_guc_submit to reduce spinlock holdtime drm/i915: Tighten mmio arrays for MIPI_PORT drm/i915: Fix all intel_framebuffer_init failures to take the error path drm/i915: Prevent concurrent tiling/framebuffer modifications drm/i915: Move w/a LRI debug message from context-init to driver load drm/i915: Hold rpm during GEM suspend in driver unload/suspend drm/i915: Restore the invalid access without RPM warning drm/i915: Assert that fence->lock is held in an irq-safe manner drm/i915: s/assert_spin_locked/lockdep_assert_held/ drm/i915/guc: Disable irq for __i915_guc_submit wq_lock drm/i915: Include GT/seqno activity in engine/hangcheck debugfs drm/i915: Include power-management state in gpu error dump drm/i915: Drop spinlocks around adding to the client request list drm/i915: Differentiate between hangcheck waiting for timer or scheduler drm/i915: Ensure the engine is idle before manually changing HWS drm/i915: Generalise wait for execlists to be idle drm/i915: Take reference for signaling the request from hardirq drm/i915: Refactor wakeup of the next breadcrumb waiter drm/i915: Split breadcrumbs spinlock into two Chuanxiao Dong (1): drm/i915/gvt: set ring buffer size to default for guc submission Daniel Vetter (5): Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20170206 Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queued Merge airlied/drm-next into drm-misc-next drm/i915: Update DRIVER_DATE to 20170306 Daniele Ceraolo Spurio (2): drm/i915: fix pm refcounting on fence error in execbuf drm/i915: refactor register fw read/write macros for recent GENs Deepak M (7): drm/i915: Set the Z inversion overlap field drm/i915/glk: Program dphy param reg for GLK drm/i915/glk: Program new MIPI DSI PHY registers for GLK drm/i915/glk: Add DSI PLL divider range for glk drm/i915i/glk: Program MIPI_CLOCK_CTRL only for BXT drm/i915/glk: Program txesc clock divider for GLK drm/i915/glk: Add MIPIIO Enable/disable sequence Deepak S (1): drm/i915/chv: Set min freq to RPn on CHV. Geliang Tang (1): drm/i915/error: use rb_entry() Hans de Goede (17): drm/i915: Fix not finding the VBT when it overlaps with OPREGION_ASLE_EXT drm/i915/dsi: Move calling of wait_for_dsi_fifo_empty to mipi_exec_send_packet drm/i915/dsi: Merge intel_dsi_disable/enable into their respective callers drm/i915/dsi: Add intel_dsi_unprepare() helper drm/i915/dsi: Move intel_dsi_clear_device_ready() drm/i915/dsi: Make intel_dsi_enable/disable directly exec VBT sequences drm/i915/dsi: VLV/CHT Only wait for LP00 on MIPI PORT A drm/i915/dsi: Document the panel enable / disable sequences from the spec drm/i915/dsi: Drop bogus MIPI_SEQ_ASSERT_RESET before POWER_ON drm/i915/dsi: Move MIPI_SEQ_POWER_ON/OFF calls together with pmic gpio calls drm/i915/dsi: Group DPOunit clock gate workaround with PLL enable drm/i915/dsi: Execute MIPI_SEQ_DEASSERT_RESET before calling device_ready() drm/i915/dsi: Group MIPI_SEQ_BACKLIGHT_ON/OFF with panel_[en|dis]able_backlight drm/i915/dsi: Document always using v3 SHUTDOWN / MIPI_SEQ_DISPLAY_OFF order drm/i915/dsi: Execute MIPI_SEQ_TEAR_OFF from intel_dsi_post_disable drm/i915/dsi: Call MIPI_SEQ_TEAR_ON and DISPLAY_ON for cmd-mode (untested) drm/i915/dsi: Skip delays for v3 VBTs in vid-mode Imre Deak (11): drm/i915/gen9+: Enable hotplug detection early drm/i915/lspcon: Fix resume time initialization due to unasserted HPD drm/i915/lspcon: Remove DPCD compare based resume time workaround drm/i915/gen5+, pch: Enable hotplug detection early drm/i915: Remove redundant toggling from the power well sync_hw hooks drm/i915: Call the sync_hw hook for power wells without a domain drm/i915/gen9: Fix clearing of the BIOS power well request register drm/i915: Preserve the state of power wells not explicitly enabled drm/i915: Add power well SW/HW state verification drm/i915/lspcon: Switch back to PCON mode after output replug drm/i915/gen9: Increase PCODE request timeout to 50ms Jani Nikula (9): drm/i915/dp: do not proceed with autotests if we don't ACK them drm/color: un-inline drm_color_lut_extract() Revert "drm/color: un-inline drm_color_lut_extract()" drm/i915: use variadic macros and arrays to choose port/pipe based registers drm/i915: don't warn about Skylake CPU - KabyPoint PCH combo drm/i915/bxt: apply clock gating workaround to all revisions drm/i915/bxt: remove snooping workaround on old A revisions drm/i915/bxt: remove WaRsDisableCoarsePowerGating for early BXT drm/i915: use BUILD_BUG_ON to ensure platform name has been set up Joonas Lahtinen (3): drm/i915: Avoid BIT(max) - 1 and use GENMASK(max - 1, 0) drm/i915: Use for_each_power_domain() in i915_power_domain_info() drm/i915: Add __destroy_hw_context Juergen Gross (1): drm/i915: fix i915 running as dom0 under Xen Kelvin Gardiner (1): drm/i915/bdw: Do not write the replay bit of the ring mode register Kenneth Graunke (1): drm/i915: Drop support for I915_EXEC_CONSTANTS_* execbuf parameters. Lee, Shawn C (1): drm/i915/bxt: Add MST support when do DPLL calculation Lyude (2): drm/i915/debugfs: Add i915_hpd_storm_ctl drm/i915/dp: Ratelimit DP aux timeout messages Maarten Lankhorst (4): drm/i915: Use atomic page flip for intel again. drm/i915: Disable all crtcs during driver unload, v2. drm/i915: Fix POWER_DOMAIN_AUDIO refcounting. drm/i915: Enable atomic support by default on supported platforms. Madhav Chauhan (2): drm/i915/glk: Validate only DSI PORT A PLL divider drm/i915/glk: Fix DSI enable I/O sequence Manasi Navare (5): drm/i915: Add support for DP link training compliance drm/i915: Fixes to support DP Compliance EDID tests drm: Add definitions for DP compliance Video pattern tests drm/i915: Add support for DP Video pattern compliance tests drm/i915/dp: Reset the link params on HPD/connected boot/resume Matthew Auld (1): drm/i915: remove 512GB allocation warning Michal Wajdeczko (1): drm/i915: Don't use enums for hardware engine id Michał Winiarski (2): drm/i915: Always convert incoming exec offsets to non-canonical drm/i915/skl: Add missing SKL ID Mika Kuoppala (7): drm/i915: Create context desc template when context is created drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3 drm/i915/gtt: Make I915_PDPES_PER_PDP inline function drm/i915: Don't mark pdps clear if pdps are not submitted drm/i915/gtt: Prefer i915_vm_is_48bit() over macro drm/i915: Avoid using word legacy with ppgtt drm/i915/gtt: Setup vm callbacks late Paulo Zanoni (2): x86/gpu: GLK uses the same GMS values as SKL drm/i915: make i915_stolen_to_physical() return phys_addr_t Robert Bragg (1): drm/i915: fix for WaDisableDopClockGating:bdw Rodrigo Vivi (3): drm/i915/kbl: Apply WaIncreaseDefaultTLBEntries on KBL. drm/i915: Introduce IS_GEN9_BC for Skylake and Kabylake. drm/i915: DMC 1.03 for Geminilake Tvrtko Ursulin (19): drm/i915/guc: Log significant events at the info level drm/i915: Emit to ringbuffer directly drm/i915: Fix uninitialized return from mi_set_context drm/i915: Remove duplicate intel_logical_ring_workarounds_emit drm/i915: Make int __intel_ring_space static drm/i915: Simplify cleanup path in intel_engines_init drm/i915: Move common workaround code to intel_engine_cs drm/i915: Tidy workaround batch buffer emission drm/i915: Consolidate gen8_emit_pipe_control drm/i915: Fix typo in semaphore debug message drm/i915: Tidy execlists_init_reg_state drm/i915/tracepoints: Tidy request event class drm/i915/tracepoints: Adjust i915_gem_ring_dispatch drm/i915/tracepoints: Tidy i915_gem_request_wait_begin drm/i915/tracepoints: Remove unused i915_gem_request_complete drm/i915/tracepoints: Add request submit and execute tracepoints drm/i915/tracepoints: Rename i915_gem_request_notify drm/i915/tracepoints: Add backend level request in and out tracepoints drm/i915/tracepoints: Add hw_id to context tracepoints Uma Shankar (5): drm/i915: Add MIPI_IO WA and program DSI regulators drm/i915: Check for platform specific GPIO config drm/i915: Fix PLL 8x/3 divider for MIPI video mode drm/i915/bxt: Fix BXT DSI ULPS sequence drm/i915/bxt: Disable device ready before shutdown command Ville Syrjälä (40): drm/i915: Store the pipe pixel rate in the crtc state drm/i915: Nuke intel_mode_max_pixclk() drm/i915: s/get_display_clock_speed/get_cdclk/ drm/i915: Clean up the .get_cdclk() assignment if ladder drm/i915: Move most cdclk/rawclk related code to intel_cdclk.c drm/i915: Pass computed vco to bxt_set_cdclk() drm/i915: Start moving the cdclk stuff into a distinct state structure drm/i915: Track full cdclk state for the logical and actual cdclk frequencies drm/i915: Pass dev_priv to remainder of the cdclk functions drm/i915: Pass the cdclk state to the set_cdclk() functions drm/i915: Move PFI credit reprogramming into vlv/chv_set_cdclk() drm/i915: Nuke the VLV/CHV PFI programming power domain workaround drm/i915: Replace the .modeset_commit_cdclk() hook with a more direct .set_cdclk() hook drm/i915: Move ilk_pipe_pixel_rate() to intel_display.c drm/i915: Avoid spurious WARNs about the wrong pipe in the PPS code drm/i915: Simplify platform checks in intel_fb_pitch_limit() drm/i915: Dump more configuration information for DSI drm/i915: Refactor code to select the DDI buf translation table drm/i915: Refactor translate_signal_level() drm/i915: Introduce intel_ddi_dp_voltage_max() drm/i915: Fix legacy cursor vs. watermarks for ILK-BDW drm/i915: Do .init_clock_gating() earlier to avoid it clobbering watermarks drm/i915: Track visible planes in a bitmask drm/i915: Track plane fifo sizes under intel_crtc drm/i915: Move vlv wms from crtc->wm_state to crtc->wm.active.vlv drm/i915: Plop vlv wm state into crtc_state drm/i915: Plop vlv/chv fifo sizes into crtc state drm/i915: Compute VLV/CHV FIFO sizes based on the PM2 watermarks drm/i915: Compute vlv/chv wms the atomic way drm/i915: Skip useless watermark/FIFO related work on VLV/CHV when not needed drm/i915: Compute proper intermediate wms for vlv/cvh drm/i915: Nuke crtc->wm.cxsr_allowed drm/i915: Only use update_wm_{pre,post} for pre-ilk platforms drm/i915: Sanitize VLV/CHV watermarks properly drm/i915: Workaround VLV/CHV sprite1->sprite0 enable underrun drm/i915: Kill level 0 wm hack for VLV/CHV drm/i915: Add plane update/disable tracepoints drm/i915: Add VLV/CHV watermark/FIFO programming tracepoints drm/i915: Add cxsr toggle tracepoint drm/i915: Add FIFO underrun tracepoints Weinan Li (2): drm/i915: noop forcewake get/put when vgpu activated drm/i915: clean up unused vgpu_read/write Zhi Wang (2): drm/i915: Let execlist_update_context() cover !FULL_PPGTT mode. drm/i915: A hotfix for making aliasing PPGTT work for GVT-g sagar.a.kamble@xxxxxxxxx (1): drm/i915: Do RPM Wake during GuC/HuC status read Documentation/gpu/i915.rst | 9 + arch/x86/kernel/early-quirks.c | 1 + drivers/char/agp/intel-gtt.c | 16 +- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915/Kconfig.debug | 29 + drivers/gpu/drm/i915/Makefile | 5 + drivers/gpu/drm/i915/gvt/cmd_parser.c | 36 +- drivers/gpu/drm/i915/i915_debugfs.c | 364 ++- drivers/gpu/drm/i915/i915_drv.c | 109 +- drivers/gpu/drm/i915/i915_drv.h | 231 +- drivers/gpu/drm/i915/i915_gem.c | 359 ++- drivers/gpu/drm/i915/i915_gem.h | 9 + drivers/gpu/drm/i915/i915_gem_batch_pool.c | 4 +- drivers/gpu/drm/i915/i915_gem_clflush.c | 189 ++ drivers/gpu/drm/i915/i915_gem_clflush.h | 37 + drivers/gpu/drm/i915/i915_gem_context.c | 163 +- drivers/gpu/drm/i915/i915_gem_context.h | 2 - drivers/gpu/drm/i915/i915_gem_dmabuf.c | 5 + drivers/gpu/drm/i915/i915_gem_evict.c | 16 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 159 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 2086 ++++++-------- drivers/gpu/drm/i915/i915_gem_gtt.h | 124 +- drivers/gpu/drm/i915/i915_gem_internal.c | 7 +- drivers/gpu/drm/i915/i915_gem_object.h | 41 +- drivers/gpu/drm/i915/i915_gem_request.c | 499 ++-- drivers/gpu/drm/i915/i915_gem_request.h | 91 +- drivers/gpu/drm/i915/i915_gem_shrinker.c | 7 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 42 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 25 +- drivers/gpu/drm/i915/i915_gem_timeline.h | 9 +- drivers/gpu/drm/i915/i915_gpu_error.c | 321 ++- drivers/gpu/drm/i915/i915_guc_submission.c | 37 +- drivers/gpu/drm/i915/i915_irq.c | 179 +- drivers/gpu/drm/i915/i915_params.c | 6 +- drivers/gpu/drm/i915/i915_params.h | 81 +- drivers/gpu/drm/i915/i915_pci.c | 32 +- drivers/gpu/drm/i915/i915_perf.c | 2 +- drivers/gpu/drm/i915/i915_reg.h | 102 +- drivers/gpu/drm/i915/i915_selftest.h | 106 + drivers/gpu/drm/i915/i915_sysfs.c | 35 +- drivers/gpu/drm/i915/i915_trace.h | 472 ++- drivers/gpu/drm/i915/i915_utils.h | 11 + drivers/gpu/drm/i915/i915_vgpu.c | 9 +- drivers/gpu/drm/i915/i915_vma.c | 91 +- drivers/gpu/drm/i915/i915_vma.h | 4 +- drivers/gpu/drm/i915/intel_atomic.c | 15 +- drivers/gpu/drm/i915/intel_atomic_plane.c | 17 +- drivers/gpu/drm/i915/intel_audio.c | 4 +- drivers/gpu/drm/i915/intel_breadcrumbs.c | 528 ++-- drivers/gpu/drm/i915/intel_cdclk.c | 1891 ++++++++++++ drivers/gpu/drm/i915/intel_color.c | 104 +- drivers/gpu/drm/i915/intel_crt.c | 21 +- drivers/gpu/drm/i915/intel_csr.c | 8 +- drivers/gpu/drm/i915/intel_ddi.c | 449 +-- drivers/gpu/drm/i915/intel_device_info.c | 8 +- drivers/gpu/drm/i915/intel_display.c | 3029 +++++--------------- drivers/gpu/drm/i915/intel_dp.c | 307 +- drivers/gpu/drm/i915/intel_dp_mst.c | 37 +- drivers/gpu/drm/i915/intel_dpll_mgr.c | 54 +- drivers/gpu/drm/i915/intel_dpll_mgr.h | 16 - drivers/gpu/drm/i915/intel_drv.h | 198 +- drivers/gpu/drm/i915/intel_dsi.c | 562 +++- drivers/gpu/drm/i915/intel_dsi.h | 5 + drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 89 +- drivers/gpu/drm/i915/intel_dsi_pll.c | 135 +- drivers/gpu/drm/i915/intel_dvo.c | 1 + drivers/gpu/drm/i915/intel_engine_cs.c | 686 ++++- drivers/gpu/drm/i915/intel_fbc.c | 11 +- drivers/gpu/drm/i915/intel_fbdev.c | 76 +- drivers/gpu/drm/i915/intel_fifo_underrun.c | 25 +- drivers/gpu/drm/i915/intel_frontbuffer.c | 3 +- drivers/gpu/drm/i915/intel_frontbuffer.h | 8 +- drivers/gpu/drm/i915/intel_guc_loader.c | 23 +- drivers/gpu/drm/i915/intel_hangcheck.c | 4 + drivers/gpu/drm/i915/intel_hdmi.c | 17 +- drivers/gpu/drm/i915/intel_hotplug.c | 31 +- drivers/gpu/drm/i915/intel_huc.c | 15 +- drivers/gpu/drm/i915/intel_i2c.c | 4 +- drivers/gpu/drm/i915/intel_lrc.c | 880 ++---- drivers/gpu/drm/i915/intel_lrc.h | 3 - drivers/gpu/drm/i915/intel_lspcon.c | 17 +- drivers/gpu/drm/i915/intel_lvds.c | 8 +- drivers/gpu/drm/i915/intel_mocs.c | 55 +- drivers/gpu/drm/i915/intel_overlay.c | 79 +- drivers/gpu/drm/i915/intel_panel.c | 4 +- drivers/gpu/drm/i915/intel_pipe_crc.c | 2 +- drivers/gpu/drm/i915/intel_pm.c | 919 +++--- drivers/gpu/drm/i915/intel_ringbuffer.c | 1147 ++------ drivers/gpu/drm/i915/intel_ringbuffer.h | 174 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 625 ++-- drivers/gpu/drm/i915/intel_sdvo.c | 1 + drivers/gpu/drm/i915/intel_sideband.c | 34 +- drivers/gpu/drm/i915/intel_sprite.c | 17 +- drivers/gpu/drm/i915/intel_tv.c | 1 + drivers/gpu/drm/i915/intel_uncore.c | 166 +- drivers/gpu/drm/i915/selftests/huge_gem_object.c | 135 + drivers/gpu/drm/i915/selftests/huge_gem_object.h | 45 + .../gpu/drm/i915/selftests/i915_gem_coherency.c | 385 +++ drivers/gpu/drm/i915/selftests/i915_gem_context.c | 459 +++ drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c | 303 ++ drivers/gpu/drm/i915/selftests/i915_gem_evict.c | 260 ++ drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 1556 ++++++++++ drivers/gpu/drm/i915/selftests/i915_gem_object.c | 600 ++++ drivers/gpu/drm/i915/selftests/i915_gem_request.c | 882 ++++++ .../gpu/drm/i915/selftests/i915_live_selftests.h | 19 + .../gpu/drm/i915/selftests/i915_mock_selftests.h | 20 + drivers/gpu/drm/i915/selftests/i915_random.c | 63 + drivers/gpu/drm/i915/selftests/i915_random.h | 50 + drivers/gpu/drm/i915/selftests/i915_selftest.c | 250 ++ drivers/gpu/drm/i915/selftests/i915_vma.c | 746 +++++ drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c | 481 ++++ drivers/gpu/drm/i915/selftests/intel_hangcheck.c | 537 ++++ drivers/gpu/drm/i915/selftests/intel_uncore.c | 182 ++ drivers/gpu/drm/i915/selftests/mock_context.c | 78 + drivers/gpu/drm/i915/selftests/mock_context.h | 34 + drivers/gpu/drm/i915/selftests/mock_dmabuf.c | 176 ++ drivers/gpu/drm/i915/selftests/mock_dmabuf.h | 41 + drivers/gpu/drm/i915/selftests/mock_drm.c | 54 + drivers/gpu/drm/i915/selftests/mock_drm.h | 31 + drivers/gpu/drm/i915/selftests/mock_engine.c | 207 ++ drivers/gpu/drm/i915/selftests/mock_engine.h | 54 + drivers/gpu/drm/i915/selftests/mock_gem_device.c | 226 ++ drivers/gpu/drm/i915/selftests/mock_gem_device.h | 9 + drivers/gpu/drm/i915/selftests/mock_gem_object.h | 8 + drivers/gpu/drm/i915/selftests/mock_gtt.c | 138 + drivers/gpu/drm/i915/selftests/mock_gtt.h | 35 + drivers/gpu/drm/i915/selftests/mock_request.c | 63 + drivers/gpu/drm/i915/selftests/mock_request.h | 46 + drivers/gpu/drm/i915/selftests/scatterlist.c | 355 +++ include/drm/drm_dp_helper.h | 57 + include/drm/i915_pciids.h | 3 +- include/uapi/drm/i915_drm.h | 65 +- tools/testing/selftests/drivers/gpu/i915.sh | 1 + 133 files changed, 18969 insertions(+), 8361 deletions(-) create mode 100644 drivers/gpu/drm/i915/i915_gem_clflush.c create mode 100644 drivers/gpu/drm/i915/i915_gem_clflush.h create mode 100644 drivers/gpu/drm/i915/i915_selftest.h create mode 100644 drivers/gpu/drm/i915/intel_cdclk.c create mode 100644 drivers/gpu/drm/i915/selftests/huge_gem_object.c create mode 100644 drivers/gpu/drm/i915/selftests/huge_gem_object.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_coherency.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_context.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_dmabuf.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_evict.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_gtt.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_object.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_gem_request.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_live_selftests.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_mock_selftests.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_random.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_random.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_selftest.c create mode 100644 drivers/gpu/drm/i915/selftests/i915_vma.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_hangcheck.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_uncore.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_context.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_context.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_dmabuf.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_dmabuf.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_drm.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_drm.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_engine.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_engine.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_device.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_device.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gem_object.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_gtt.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_gtt.h create mode 100644 drivers/gpu/drm/i915/selftests/mock_request.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_request.h create mode 100644 drivers/gpu/drm/i915/selftests/scatterlist.c -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx