From patchwork Mon Oct 21 18:03:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Joonas Lahtinen X-Patchwork-Id: 11202791 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC3871920 for ; Mon, 21 Oct 2019 18:03:49 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 945A220B7C for ; Mon, 21 Oct 2019 18:03:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 945A220B7C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CFEAE89C07; Mon, 21 Oct 2019 18:03:46 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id AFC1E89C07; Mon, 21 Oct 2019 18:03:45 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Oct 2019 11:03:44 -0700 X-IronPort-AV: E=Sophos;i="5.67,324,1566889200"; d="scan'208";a="191188895" Received: from jlahtine-desk.ger.corp.intel.com (HELO localhost) ([10.252.29.55]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Oct 2019 11:03:40 -0700 Date: Mon, 21 Oct 2019 21:03:37 +0300 From: Joonas Lahtinen To: Dave Airlie , Daniel Vetter Subject: [PULL] drm-intel-next Message-ID: <20191021180337.GA24338@jlahtine-desk.ger.corp.intel.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.12.1 (2019-06-15) X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dim-tools@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Rodrigo Vivi , Sean Paul , intel-gfx@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi Dave & Daniel, Another feature pull, I'll send the final one next week. New uAPI for OA features to support VK_INTEL_performance_query, Mesa changes are at: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932 Fixes for black/blue screen issues, Tigerlake enabling, HDR for DP enabling (including drm-next backmerge). Transcoder Port Sync for Icelake tiled displays. This also has base intel_memory_region work that is prep for local memory. Regards, Joonas *** drm-intel-next-2019-10-21: UAPI Changes: - Introduce a versioning of the i915-perf uapi (Lionel) - Add support for perf configuration queries (Lionel) Allow listing perf configurations with IOCTL in addition to sysfs. This is useful in container usecases. - Allow dynamic reconfiguration of the OA stream (Chris) Allows the OA stream to be reconfigured between batch buffers, giving greater flexibility in sampling. - Allow holding preemption on filtered perf ctx Allow CAP_ADMIN to block pre-emption of a context to query performance counters without disturbances. Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932 Cross-subsystem Changes: - drm-next backmerge for HDR DP changes https://lists.freedesktop.org/archives/dri-devel/2019-September/236453.html Driver Changes: - Add DC3CO sleep state for Tigerlake (Anshuman) - Tigerlake BCS engine support engine relative MMIO (Daniele) - Simplify the Tigerlake LRC register list for !RCS (Daniele) - Read SAGV block time from PCODE on Tigerlake (James) - Add 12 missing Tigerlake workarounds (Mika) - Enable DDI/Port G for Tigerlake (Khaled) - Avoid hang in tsg,vfe units by keeping l3 clocks ICL+(Mika) - Fix Bugzilla #111966: Favor last VBT child device (Ville) - Fix blue/black screen on boot due to broken gamma (Swati) - Add support of BT.2020 Colorimetry to DP MSA (Gwan-gyeong) - Attach colorspace property to DP connector (Gwan-gyeong) - Attach HDR metadata property to DP connector (Gwan-gyeong) - Base intel_memory_region support prep for local memory (Matt A) - Introduce Jasper Lake PCH (Matt R) - Support multiple GPUs in PMU (Tvrtko) - Fix MST oops due to MSA changes (Ville) - Refuse modes with hdisplay==4096 on pre-HSW DP (Ville) - Correct the PCH type in irq postinstall for JSP (Vivek) - Save Master transcoder in slave's crtc_state for Transcoder Port Sync (Manasi) - Enable TRANSCODER PORT SYNC for tiled displays across separate ports (Manasi) - HW state readout for transcoder port sync config (Manasi) - Enable master-slaves in trans port sync (Manasi) - In port sync mode disable slaves first then master (Manasi) - Fix port checks for MST support on gen >= 11 (Lucas) - Flush submission tasklet before waiting/retiring (Chris) - Flush tasklet submission before sleeping on i915_request_wait (Chris) - Object pin reference counting fixes (Chris, Matt A) - Clear semaphore immediately upon ELSP promotion (Chris) - Child device size remains unchanged through VBT 229 (Matt R) - Restore dropped 'interruptible' flag on retiring requests (Chris) - Treat a busy timeline as 'active' while waiting (Chris) - Clean up struct_mutex from perf (Chris) - Update locking around execlists->active (Chris) - Mark up expected execlist state during reset (Chris) - Remove cursor use of properties for coordinates (Maarten) - Only mark incomplete requests as -EIO on cancelling (Chris) - Add an rcu_barrier option to i915_drop_caches (Chris) - Replace perf global wakeref tracking with engine-pm (Chris) - Prevent merging requests with conflicting flags (Chris) - Allow for CS OA configs to be created lazily (Lionel) - Implement active wait for noa configurations (Lionel) - Execute OA configuration from command stream (Lionel) - Prefer using the pinned_ctx for emitting delays on config (Chris) - Port C's hotplug interrupt is associated with TC1 bits (Vivek, Matt R) - Extend program of VSC Header and DB for Colorimetry Format (Gwan-gyeong) - Fine-tune timeslicing of contexts (Chris) - Do initial mocs configuration directly (Chris) - Fix uninitialized variable on PMU error path (Tvrtko) - Don't disable interrupts independently of the locking (Sebastian) - Eliminate struct_mutext from GVT (Chris) - Move perf types to their own header (Lionel) - Drop list of perf streams (always size 1) (Lionel) - Store the perf associated engine of a stream (Lionel) - Make array hw_engine_mask static (Colin) - Prefer shortest path to RPM/perf/GT instead of dev_priv (Chris, Tvrtko) - Virtual request submission fixes (Chris) - Selftest/CI improvements (Chris) - Fix Kconfig indentation (Krzysztof) - Give engine->kernel_context distinct timeline lock classes (Chris) - Fix null pointer deref on selftest error path (Colin) - Select DPLL's via mask (Matt R) - Introduce and use intel_atomic_crtc_state_for_each_plane_state (Maarten) - Use intel_plane_state in prepare and cleanup plane_fb (Maarten) - Remove begin/finish_crtc_commit (Maarten) - Move SAGV block time to dev_priv (James) - Avoid polluting the i915_oa_config with error pointers (Chris) - Squelch display kerneldoc warnings (Chris) - Assert tasklet is locked for process_csb() (Chris) - Switch to using DP_MSA_MISC_* defines (Ville) - Stop using drm_atomic_helper_check_planes() (Ville) - Make .modeset_calc_cdclk() mandatory (Ville) - Use drm_rect_translate_to()/drm_rect_init() (Ville) - Refactor timestamping constants update (Ville) - Switch intel_legacy_cursor_update() to intel_ types (Ville) - Prepare the connector/encoder mask readout for hw vs. uapi state split (Ville) - Prepare the mode readout for hw vs. uapi state split (Ville) - Move swizzle_bit under i915_ggtt (Chris) - Improve microcontrollers documentation (Daniele) - Move the cursor rotation handling into intel_cursor_check_surface() (Ville) - Cleanups to pipe code (Ville) - Shrink eDRAM ways/sets arrays for code size (Ville) - Cleanups to HDCP2 timeout code (Ville) - Restore full symmetry in i915_driver_modeset_probe/remove (Janusz) - Simplify setting of ddi_io_power_domain (Lucas) - Add pipe id/name to pipe mismatch logs (Lucas) - Prettify MST debug message (Lucas) - Extract GT ring management to separate files (Andi) The following changes since commit 7ed093602e0e1b60a0fc074a9692687e7d2b723d: Merge tag 'drm-misc-next-2019-10-09-2' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2019-10-11 09:30:53 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2019-10-21 for you to fetch changes up to ce53908bba6fa6e905d8fe81da4591d3e7a65878: drm/i915: Update DRIVER_DATE to 20191021 (2019-10-21 12:56:07 +0300) ---------------------------------------------------------------- UAPI Changes: - Introduce a versioning of the i915-perf uapi (Lionel) - Add support for perf configuration queries (Lionel) Allow listing perf configurations with IOCTL in addition to sysfs. This is useful in container usecases. - Allow dynamic reconfiguration of the OA stream (Chris) Allows the OA stream to be reconfigured between batch buffers, giving greater flexibility in sampling. - Allow holding preemption on filtered perf ctx Allow CAP_ADMIN to block pre-emption of a context to query performance counters without disturbances. Mesa changes: https://gitlab.freedesktop.org/mesa/mesa/merge_requests/932 Cross-subsystem Changes: - drm-next backmerge for HDR DP changes https://lists.freedesktop.org/archives/dri-devel/2019-September/236453.html Driver Changes: - Add DC3CO sleep state for Tigerlake (Anshuman) - Tigerlake BCS engine support engine relative MMIO (Daniele) - Simplify the Tigerlake LRC register list for !RCS (Daniele) - Read SAGV block time from PCODE on Tigerlake (James) - Add 12 missing Tigerlake workarounds (Mika) - Enable DDI/Port G for Tigerlake (Khaled) - Avoid hang in tsg,vfe units by keeping l3 clocks ICL+(Mika) - Fix Bugzilla #111966: Favor last VBT child device (Ville) - Fix blue/black screen on boot due to broken gamma (Swati) - Add support of BT.2020 Colorimetry to DP MSA (Gwan-gyeong) - Attach colorspace property to DP connector (Gwan-gyeong) - Attach HDR metadata property to DP connector (Gwan-gyeong) - Base intel_memory_region support prep for local memory (Matt A) - Introduce Jasper Lake PCH (Matt R) - Support multiple GPUs in PMU (Tvrtko) - Fix MST oops due to MSA changes (Ville) - Refuse modes with hdisplay==4096 on pre-HSW DP (Ville) - Correct the PCH type in irq postinstall for JSP (Vivek) - Save Master transcoder in slave's crtc_state for Transcoder Port Sync (Manasi) - Enable TRANSCODER PORT SYNC for tiled displays across separate ports (Manasi) - HW state readout for transcoder port sync config (Manasi) - Enable master-slaves in trans port sync (Manasi) - In port sync mode disable slaves first then master (Manasi) - Fix port checks for MST support on gen >= 11 (Lucas) - Flush submission tasklet before waiting/retiring (Chris) - Flush tasklet submission before sleeping on i915_request_wait (Chris) - Object pin reference counting fixes (Chris, Matt A) - Clear semaphore immediately upon ELSP promotion (Chris) - Child device size remains unchanged through VBT 229 (Matt R) - Restore dropped 'interruptible' flag on retiring requests (Chris) - Treat a busy timeline as 'active' while waiting (Chris) - Clean up struct_mutex from perf (Chris) - Update locking around execlists->active (Chris) - Mark up expected execlist state during reset (Chris) - Remove cursor use of properties for coordinates (Maarten) - Only mark incomplete requests as -EIO on cancelling (Chris) - Add an rcu_barrier option to i915_drop_caches (Chris) - Replace perf global wakeref tracking with engine-pm (Chris) - Prevent merging requests with conflicting flags (Chris) - Allow for CS OA configs to be created lazily (Lionel) - Implement active wait for noa configurations (Lionel) - Execute OA configuration from command stream (Lionel) - Prefer using the pinned_ctx for emitting delays on config (Chris) - Port C's hotplug interrupt is associated with TC1 bits (Vivek, Matt R) - Extend program of VSC Header and DB for Colorimetry Format (Gwan-gyeong) - Fine-tune timeslicing of contexts (Chris) - Do initial mocs configuration directly (Chris) - Fix uninitialized variable on PMU error path (Tvrtko) - Don't disable interrupts independently of the locking (Sebastian) - Eliminate struct_mutext from GVT (Chris) - Move perf types to their own header (Lionel) - Drop list of perf streams (always size 1) (Lionel) - Store the perf associated engine of a stream (Lionel) - Make array hw_engine_mask static (Colin) - Prefer shortest path to RPM/perf/GT instead of dev_priv (Chris, Tvrtko) - Virtual request submission fixes (Chris) - Selftest/CI improvements (Chris) - Fix Kconfig indentation (Krzysztof) - Give engine->kernel_context distinct timeline lock classes (Chris) - Fix null pointer deref on selftest error path (Colin) - Select DPLL's via mask (Matt R) - Introduce and use intel_atomic_crtc_state_for_each_plane_state (Maarten) - Use intel_plane_state in prepare and cleanup plane_fb (Maarten) - Remove begin/finish_crtc_commit (Maarten) - Move SAGV block time to dev_priv (James) - Avoid polluting the i915_oa_config with error pointers (Chris) - Squelch display kerneldoc warnings (Chris) - Assert tasklet is locked for process_csb() (Chris) - Switch to using DP_MSA_MISC_* defines (Ville) - Stop using drm_atomic_helper_check_planes() (Ville) - Make .modeset_calc_cdclk() mandatory (Ville) - Use drm_rect_translate_to()/drm_rect_init() (Ville) - Refactor timestamping constants update (Ville) - Switch intel_legacy_cursor_update() to intel_ types (Ville) - Prepare the connector/encoder mask readout for hw vs. uapi state split (Ville) - Prepare the mode readout for hw vs. uapi state split (Ville) - Move swizzle_bit under i915_ggtt (Chris) - Improve microcontrollers documentation (Daniele) - Move the cursor rotation handling into intel_cursor_check_surface() (Ville) - Cleanups to pipe code (Ville) - Shrink eDRAM ways/sets arrays for code size (Ville) - Cleanups to HDCP2 timeout code (Ville) - Restore full symmetry in i915_driver_modeset_probe/remove (Janusz) - Simplify setting of ddi_io_power_domain (Lucas) - Add pipe id/name to pipe mismatch logs (Lucas) - Prettify MST debug message (Lucas) - Extract GT ring management to separate files (Andi) ---------------------------------------------------------------- Abdiel Janulgue (1): drm/i915: enumerate and init each supported region Andi Shyti (1): drm/i915: Extract GT ring management Anshuman Gupta (6): drm/i915/tgl: Add DC3CO required register and bits drm/i915/tgl: Add DC3CO mask to allowed_dc_mask and gen9_dc_mask drm/i915/tgl: Enable DC3CO state in "DC Off" power well drm/i915/tgl: Do modeset to enable and configure DC3CO exitline drm/i915/tgl: Switch between dc3co and dc5 based on display idleness drm/i915/tgl: Add DC3CO counter in i915_dmc_info Chris Wilson (54): drm/i915/gt: Restore dropped 'interruptible' flag drm/i915/gt: Prefer local path to runtime powermanagement drm/i915/execlists: Fix annotation for decoupling virtual request drm/i915/selftests: Appease lockdep drm/i915/gt: Treat a busy timeline as 'active' while waiting drm/i915/perf: Wean ourselves off dev_priv drm/i915/perf: Set the exclusive stream under perf->lock drm/i915/execlists: Assign virtual_engine->uncore from first sibling drm/i915/selftests: Assign the mock_engine->uncore shortcut drm/i915/selftests: Assign the intel_runtime_pm pointer for mock_uncore drm/i915/gt: Flush submission tasklet before waiting/retiring drm/i915/gt: Give engine->kernel_context distinct timeline lock classes drm/i915/selftests: Hold request reference over waits drm/i915/execlists: Protect peeking at execlists->active drm/i915/gt: execlists->active is serialised by the tasklet drm/i915/gt: Warn CI about an unrecoverable wedge drm/i915/execlists: Mark up expected state during reset drm/i915/selftests: Check that registers are preserved between virtual engines drm/i915/perf: Store shortcut to intel_uncore drm/i915: Note the addition of timeslicing to the pretend scheduler drm/i915/execlists: Leave tell-tales as to why pending[] is bad drm/i915/execlists: Only mark incomplete requests as -EIO on cancelling drm/i915: Add an rcu_barrier option to i915_drop_caches drm/i915/selftests: Serialise write to scratch with its vma binding drm/i915/perf: Replace global wakeref tracking with engine-pm drm/i915/execlists: Prevent merging requests with conflicting flags drm/i915: Mark up "sentinel" requests drm/i915/perf: Prefer using the pinned_ctx for emitting delays on config drm/i915/perf: Avoid polluting the i915_oa_config with error pointers drm/i915/selftests: Fixup naked 64b divide drm/i915/display: Squelch kerneldoc warnings drm/i915/selftests: Check known register values within the context drm/i915/selftests: Check that GPR are cleared for new contexts drm/i915/execlists: Tweak virtual unsubmission drm/i915/execlists: Assert tasklet is locked for process_csb() drm/i915/perf: Allow dynamic reconfiguration of the OA stream drm/i915: Drop obj.page_pin_count after a failed vma->set_pages() drm/i915: Remove leftover vma->obj->pages_pin_count on insert/remove drm/i915/execlists: Clear semaphore immediately upon ELSP promotion drm/i915: Flush tasklet submission before sleeping on i915_request_wait drm/i915/selftests: Drop stale struct_mutex drm/i915/execlist: Trim immediate timeslice expiry drm/i915/selftests: Teach execlists to take intel_gt as its argument drm/i915/selftests: Teach guc to take intel_gt as its argument drm/i915/selftests: Teach workarounds to take intel_gt as its argument drm/i915/selftests: Teach timelines to take intel_gt as its argument drm/i915: Do initial mocs configuration directly drm/i915: Store i915_ggtt as the backpointer on fence registers drm/i915: Move swizzle_bit under i915_ggtt drm/i915/selftests: Teach requests to use all available engines drm/i915/execlists: Don't merely skip submission if maybe timeslicing drm/i915/selftests: Add the mock engine to the gt->engine[] drm/i915/gt: Convert the leftover for_each_engine(gt) drm/i915/gvt: Wean off struct_mutex Colin Ian King (2): drm/i915: make array hw_engine_mask static, makes object smaller drm/i915/selftests: fix null pointer dereference on pointer data Daniele Ceraolo Spurio (5): drm/i915/tgl: the BCS engine supports relative MMIO drm/i915/tgl: simplify the lrc register list for !RCS drm/i915: Add microcontrollers documentation section drm/i915/guc: improve documentation drm/i915/huc: improve documentation Gwan-gyeong Mun (6): drm/i915/dp: Extend program of VSC Header and DB for Colorimetry Format drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA drm/i915/dp: Attach colorspace property drm/i915: Add new GMP register size for GEN11 drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static Metadata drm/i915/dp: Attach HDR metadata property to DP connector James Ausmus (2): drm/i915: Move SAGV block time to dev_priv drm/i915/tgl: Read SAGV block time from PCODE Janusz Krzysztofik (1): drm/i915: Restore full symmetry in i915_driver_modeset_probe/remove Joonas Lahtinen (2): Merge drm/drm-next into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20191021 Khaled Almahallawy (1): drm/i915/tgl: Enable DDI/Port G Krzysztof Kozlowski (1): drm/i915: Fix Kconfig indentation Lionel Landwerlin (10): drm/i915/perf: move perf types to their own header drm/i915/perf: drop list of streams drm/i915/perf: store the associated engine of a stream drm/i915/perf: allow for CS OA configs to be created lazily drm/i915/perf: implement active wait for noa configurations drm/i915/perf: execute OA configuration from command stream drm/i915/perf: introduce a versioning of the i915-perf uapi drm/i915: add support for perf configuration queries drm/i915/perf: allow holding preemption on filtered ctx drm/i915/perf: fix oa config reconfiguration Lucas De Marchi (5): drm/i915: simplify setting of ddi_io_power_domain drm/i915: fix port checks for MST support on gen >= 11 drm/i915: remove extra new line on pipe_config mismatch drm/i915: add pipe id/name to pipe mismatch logs drm/i915: prettify MST debug message Maarten Lankhorst (5): drm/i915: Fix for_each_intel_plane_mask definition drm/i915: Introduce and use intel_atomic_crtc_state_for_each_plane_state. drm/i915: Use intel_plane_state in prepare and cleanup plane_fb drm/i915: Remove begin/finish_crtc_commit, v4. drm/i915: Remove cursor use of properties for coordinates Manasi Navare (6): drm/i915/display/icl: Save Master transcoder in slave's crtc_state for Transcoder Port Sync drm/i915/display/icl: Enable TRANSCODER PORT SYNC for tiled displays across separate ports drm/i915/display/icl: HW state readout for transcoder port sync config drm/i915/display/icl: Enable master-slaves in trans port sync drm/i915/display/icl: Disable transcoder port sync as part of crtc_disable() sequence drm/i915/display/icl: In port sync mode disable slaves first then master Matt Roper (4): drm/i915/vbt: Child device size remains unchanged through VBT 229 drm/i915: Select DPLL's via mask drm/i915/ehl: Don't forget to set TC long detect function drm/i915: Introduce Jasper Lake PCH Matthew Auld (5): drm/i915: introduce intel_memory_region drm/i915/region: support contiguous allocations drm/i915/region: support volatile objects drm/i915: treat shmem as a region drm/i915: treat stolen as a region Mika Kuoppala (12): drm/i915/icl: Wa_1607087056 drm/i915/tgl: Add IS_TGL_REVID drm/i915/tgl: Include ro parts of l3 to invalidate drm/i915/tgl: Add HDC Pipeline Flush drm/i915/tgl: Add extra hdc flush workaround drm/i915/tgl: Keep FF dop clock enabled for A0 drm/i915/tgl: Wa_1409420604 drm/i915/tgl: Wa_1409170338 drm/i915/tgl: Wa_1409600907 drm/i915/tgl: Wa_1607138336 drm/i915/tgl: Wa_1607030317, Wa_1607186500, Wa_1607297627 drm/i915/tgl: Wa_1607138340 Sebastian Andrzej Siewior (1): drm/i915: Don't disable interrupts independently of the lock Swati Sharma (2): drm/i915/color: fix broken gamma state-checker during boot drm/i915/color: move check of gamma_enable to specific func/platform Tvrtko Ursulin (4): drm/i915/pmu: Support multiple GPUs drm/i915: Make for_each_engine_masked work on intel_gt drm/i915: Pass in intel_gt at some for_each_engine sites drm/i915/pmu: Fix uninitialized variable on error path Ville Syrjälä (22): drm/i915: Favor last VBT child device with conflicting AUX ch/DDC pin drm/i915: Switch to using DP_MSA_MISC_* defines drm/i915: Stop using drm_atomic_helper_check_planes() drm/i915: Make .modeset_calc_cdclk() mandatory drm/i915: Use drm_rect_translate_to() drm/i915: Use drm_rect_init() drm/i915: Refactor timestamping constants update drm/i915: Switch intel_legacy_cursor_update() to intel_ types drm/i915: Prepare the connector/encoder mask readout for hw vs. uapi state split drm/i915: Prepare the mode readout for hw vs. uapi state split drm/i915: Fix MST oops due to MSA changes drm/i915: Move the cursor rotation handling into intel_cursor_check_surface() drm/i915: Polish possible_clones setup drm/i915: Refuse modes with hdisplay==4096 on pre-HSW DP drm/i915: Nuke the useless changed param from skl_ddb_add_affected_pipes() drm/i915: Nuke 'realloc_pipes' drm/i915: Make dirty_pipes refer to pipes drm/i915: Shrink eDRAM ways/sets arrays drm/i915: s/hdcp2_hdmi_msg_data/hdcp2_hdmi_msg_timeout/ drm/i915: Remove dead weight from hdcp2_msg_timeout[] drm/i915: Remove hdcp2_hdmi_msg_timeout.timeout2 drm/i915: Make hdcp2_msg_timeout.timeout u16 Vivek Kasireddy (2): drm/i915/ehl: Port C's hotplug interrupt is associated with TC1 bits drm/i915: Correct the PCH type in irq postinstall Documentation/gpu/i915.rst | 48 +- drivers/gpu/drm/i915/Kconfig | 12 +- drivers/gpu/drm/i915/Kconfig.debug | 144 +- drivers/gpu/drm/i915/Makefile | 3 + drivers/gpu/drm/i915/display/intel_atomic_plane.c | 10 +- drivers/gpu/drm/i915/display/intel_atomic_plane.h | 2 + drivers/gpu/drm/i915/display/intel_bios.c | 28 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 31 +- drivers/gpu/drm/i915/display/intel_color.c | 33 +- drivers/gpu/drm/i915/display/intel_connector.c | 21 +- drivers/gpu/drm/i915/display/intel_ddi.c | 178 ++- drivers/gpu/drm/i915/display/intel_ddi.h | 3 +- drivers/gpu/drm/i915/display/intel_display.c | 1023 +++++++++++---- drivers/gpu/drm/i915/display/intel_display.h | 17 +- drivers/gpu/drm/i915/display/intel_display_power.c | 154 ++- drivers/gpu/drm/i915/display/intel_display_power.h | 3 + drivers/gpu/drm/i915/display/intel_display_types.h | 7 + drivers/gpu/drm/i915/display/intel_dp.c | 235 +++- drivers/gpu/drm/i915/display/intel_dp.h | 8 + drivers/gpu/drm/i915/display/intel_dp_mst.c | 22 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 48 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 55 +- drivers/gpu/drm/i915/display/intel_psr.c | 114 +- drivers/gpu/drm/i915/display/intel_sprite.c | 6 +- drivers/gpu/drm/i915/display/intel_vbt_defs.h | 3 + drivers/gpu/drm/i915/gem/i915_gem_context.c | 13 +- drivers/gpu/drm/i915/gem/i915_gem_context.h | 18 + drivers/gpu/drm/i915/gem/i915_gem_context_types.h | 1 + drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 3 + drivers/gpu/drm/i915/gem/i915_gem_internal.c | 17 +- drivers/gpu/drm/i915/gem/i915_gem_object.h | 23 +- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 20 + drivers/gpu/drm/i915/gem/i915_gem_pages.c | 6 + drivers/gpu/drm/i915/gem/i915_gem_phys.c | 5 +- drivers/gpu/drm/i915/gem/i915_gem_region.c | 174 +++ drivers/gpu/drm/i915/gem/i915_gem_region.h | 29 + drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 79 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 65 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 3 +- drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 8 +- drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 97 +- .../gpu/drm/i915/gem/selftests/i915_gem_context.c | 2 +- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 8 +- drivers/gpu/drm/i915/gt/intel_context.c | 2 +- drivers/gpu/drm/i915/gt/intel_engine.h | 17 +- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 101 +- drivers/gpu/drm/i915/gt/intel_engine_pm.c | 2 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 1 + drivers/gpu/drm/i915/gt/intel_engine_user.c | 18 +- drivers/gpu/drm/i915/gt/intel_gpu_commands.h | 7 +- drivers/gpu/drm/i915/gt/intel_gt.c | 11 +- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 21 +- drivers/gpu/drm/i915/gt/intel_gt_requests.c | 18 +- drivers/gpu/drm/i915/gt/intel_gt_types.h | 7 + drivers/gpu/drm/i915/gt/intel_hangcheck.c | 10 +- drivers/gpu/drm/i915/gt/intel_llc.c | 161 +++ drivers/gpu/drm/i915/gt/intel_llc.h | 15 + drivers/gpu/drm/i915/gt/intel_llc_types.h | 13 + drivers/gpu/drm/i915/gt/intel_lrc.c | 212 +-- drivers/gpu/drm/i915/gt/intel_mocs.c | 274 +--- drivers/gpu/drm/i915/gt/intel_mocs.h | 3 - drivers/gpu/drm/i915/gt/intel_rc6.c | 12 +- drivers/gpu/drm/i915/gt/intel_reset.c | 52 +- drivers/gpu/drm/i915/gt/intel_ringbuffer.c | 6 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 38 +- drivers/gpu/drm/i915/gt/mock_engine.c | 6 + drivers/gpu/drm/i915/gt/selftest_context.c | 6 +- drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 2 +- drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 9 + drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 24 +- drivers/gpu/drm/i915/gt/selftest_llc.c | 77 ++ drivers/gpu/drm/i915/gt/selftest_llc.h | 14 + drivers/gpu/drm/i915/gt/selftest_lrc.c | 912 ++++++++++--- drivers/gpu/drm/i915/gt/selftest_reset.c | 10 +- drivers/gpu/drm/i915/gt/selftest_timeline.c | 50 +- drivers/gpu/drm/i915/gt/selftest_workarounds.c | 211 +-- drivers/gpu/drm/i915/gt/uc/intel_guc.c | 31 +- drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 3 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 12 +- drivers/gpu/drm/i915/gt/uc/intel_huc.c | 37 +- drivers/gpu/drm/i915/gt/uc/intel_huc_fw.c | 15 - drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw_abi.h | 3 - drivers/gpu/drm/i915/gt/uc/selftest_guc.c | 42 +- drivers/gpu/drm/i915/gvt/aperture_gm.c | 2 +- drivers/gpu/drm/i915/gvt/execlist.c | 4 +- drivers/gpu/drm/i915/gvt/scheduler.c | 18 +- drivers/gpu/drm/i915/i915_active.c | 4 +- drivers/gpu/drm/i915/i915_debugfs.c | 50 +- drivers/gpu/drm/i915/i915_drv.c | 12 +- drivers/gpu/drm/i915/i915_drv.h | 401 +----- drivers/gpu/drm/i915/i915_gem.c | 20 +- drivers/gpu/drm/i915/i915_gem.h | 36 +- drivers/gpu/drm/i915/i915_gem_fence_reg.c | 89 +- drivers/gpu/drm/i915/i915_gem_fence_reg.h | 7 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 65 +- drivers/gpu/drm/i915/i915_gem_gtt.h | 5 + drivers/gpu/drm/i915/i915_getparam.c | 4 + drivers/gpu/drm/i915/i915_irq.c | 48 +- drivers/gpu/drm/i915/i915_params.c | 3 +- drivers/gpu/drm/i915/i915_pci.c | 29 +- drivers/gpu/drm/i915/i915_perf.c | 1374 +++++++++++++------- drivers/gpu/drm/i915/i915_perf.h | 27 + drivers/gpu/drm/i915/i915_perf_types.h | 406 ++++++ drivers/gpu/drm/i915/i915_pmu.c | 37 +- drivers/gpu/drm/i915/i915_pmu.h | 4 + drivers/gpu/drm/i915/i915_query.c | 296 +++++ drivers/gpu/drm/i915/i915_reg.h | 38 +- drivers/gpu/drm/i915/i915_request.c | 15 +- drivers/gpu/drm/i915/i915_request.h | 10 +- drivers/gpu/drm/i915/i915_scheduler.c | 17 +- drivers/gpu/drm/i915/i915_scheduler.h | 18 - drivers/gpu/drm/i915/i915_scheduler_types.h | 9 + drivers/gpu/drm/i915/i915_vma.c | 10 +- drivers/gpu/drm/i915/intel_device_info.h | 2 + drivers/gpu/drm/i915/intel_memory_region.c | 213 +++ drivers/gpu/drm/i915/intel_memory_region.h | 120 ++ drivers/gpu/drm/i915/intel_pch.c | 6 +- drivers/gpu/drm/i915/intel_pch.h | 5 +- drivers/gpu/drm/i915/intel_pm.c | 371 ++---- drivers/gpu/drm/i915/selftests/i915_gem.c | 2 +- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 5 +- .../gpu/drm/i915/selftests/i915_live_selftests.h | 1 + .../gpu/drm/i915/selftests/i915_mock_selftests.h | 1 + drivers/gpu/drm/i915/selftests/i915_perf.c | 216 +++ drivers/gpu/drm/i915/selftests/i915_request.c | 287 ++-- drivers/gpu/drm/i915/selftests/igt_reset.c | 4 +- .../gpu/drm/i915/selftests/intel_memory_region.c | 282 ++++ drivers/gpu/drm/i915/selftests/mock_gem_device.c | 12 +- drivers/gpu/drm/i915/selftests/mock_region.c | 59 + drivers/gpu/drm/i915/selftests/mock_region.h | 16 + drivers/gpu/drm/i915/selftests/mock_uncore.c | 5 +- drivers/gpu/drm/i915/selftests/mock_uncore.h | 3 +- include/uapi/drm/i915_drm.h | 107 +- 134 files changed, 7242 insertions(+), 2779 deletions(-) create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.c create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_region.h create mode 100644 drivers/gpu/drm/i915/gt/intel_llc.c create mode 100644 drivers/gpu/drm/i915/gt/intel_llc.h create mode 100644 drivers/gpu/drm/i915/gt/intel_llc_types.h create mode 100644 drivers/gpu/drm/i915/gt/selftest_llc.c create mode 100644 drivers/gpu/drm/i915/gt/selftest_llc.h create mode 100644 drivers/gpu/drm/i915/i915_perf_types.h create mode 100644 drivers/gpu/drm/i915/intel_memory_region.c create mode 100644 drivers/gpu/drm/i915/intel_memory_region.h create mode 100644 drivers/gpu/drm/i915/selftests/i915_perf.c create mode 100644 drivers/gpu/drm/i915/selftests/intel_memory_region.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.c create mode 100644 drivers/gpu/drm/i915/selftests/mock_region.h