From patchwork Thu Jul 2 18:29:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jani Nikula X-Patchwork-Id: 11640199 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 4138314B7 for ; Thu, 2 Jul 2020 18:29:43 +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 26A5C217A0 for ; Thu, 2 Jul 2020 18:29:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 26A5C217A0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8A8786E39C; Thu, 2 Jul 2020 18:29:42 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1E3C06E39C; Thu, 2 Jul 2020 18:29:42 +0000 (UTC) IronPort-SDR: qNqIQWHNENp40cRMNcBy92r6M5iJyjxsSBwaweHvrohtZRokb8PYfpBWjk9GHLdp2pN1vVLkAu Z6TcZSlGEZ7w== X-IronPort-AV: E=McAfee;i="6000,8403,9670"; a="144506585" X-IronPort-AV: E=Sophos;i="5.75,305,1589266800"; d="scan'208";a="144506585" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 11:29:41 -0700 IronPort-SDR: nkcpV6ETtWJaBoazF5XEmp7fGvvDHCUGc1iRy9KdFrROjFMHFZ37SfZYfyxe5aQ+T+TuLyUKtn nnAGAtOaj0Jg== X-IronPort-AV: E=Sophos;i="5.75,305,1589266800"; d="scan'208";a="455616898" Received: from ineznano-mobl.ccr.corp.intel.com (HELO localhost) ([10.249.41.113]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 11:29:37 -0700 From: Jani Nikula To: Dave Airlie , Daniel Vetter , Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo Date: Thu, 02 Jul 2020 21:29:34 +0300 Message-ID: <87wo3lkbxt.fsf@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PULL] drm-intel-next X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: , dim-tools@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Maxime Ripard , intel-gfx@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Hi Dave & Daniel - Here's the first batch of i915 features for v5.9. BR, Jani. drm-intel-next-2020-07-02: drm/i915 features for v5.9 Highlights: - Rocket Lake (RKL) platform enabling (Matt Roper, Lucas, José, Aditya) Gem/GT: - Numerous selftest fixes and improvements (Chris) - TGL, RKL, EHL workaround updates (Matts Atwood and Roper, Clint, Swathi Dhanavanthri, Chris) - Retry faulthandlers on ENOSPC to avoid oomkiller (Chris) - Numerous refactorings and cleanups (Chris) - Several GT fixes around init/suspend/resume/shutdown (Chris) - Whitelist CTX_TIMESTAMP register on non-RCS (Chris) - Track if an engine requires forcewake w/a (Chris) - Locking improvements (Chris) - Timeslicing improvements (Chris) - Add a safety submission flush in the heartbeat (Chris) - Flush gen3 relocs harder (Chris) - Discard a misplaced GGTT vma (Chris) - Reduce relocation paths to async GPU relocations only (Chris) - It's all build up with no pay off (Chris' own words...) Display: - A plethora of DP MST fixes (Imre) - Implement proper dbuf global state (Ville) - Consider dbuf bandwidth when calculating CDCLK (Stan) - FBC fixes and refactoring (Ville) - PSR fixes and improvements (José, Gwan-gyeong) - Cursor size fixes (Ville) - Overlay color and gamma fixes (Ville) - Fix and improve FSB and HRAWCLK read out (Ville) - Pre allocate and late cleanup of DSB cmd buffer (Animesh) - Stop using mode->private_flags (Ville) - Add plane color encoding support for YCBCR_BT2020 (Kishore Kadiyala) - Update TGL Type-C DP and DKL HBR and HBR+ vswing tables (José) - Fix DSI connector init error path (Vivek) - A plethora of DP vswing/preemph fixes and refactoring (Ville) - Fix TGL DKL vswing sequence selection (Vandita) - Fix ICL hotplug interrupt disabling after storm detection (Imre) - Retry HDCP link integrity check on failure (Oliver Barta) - Fix TBT DPLL fractional divider (Imre) - Fix ICL+ HBR3 source rate (Matt Atwood) - Fix gen2 spurious underruns (Ville) - Fix potential NULL dereference, some spelling fixes (Colin Ian King) - Fix NULL dereference on encoder state probe (Chris) Other: - Backmerge to get mmap locking API (Jani) - Distinguish Comet Lake from Coffee Lake (Chris) - Various compiler warning fixes (Arnd Bergmann, Nathan Chancellor) - WARN* conversions to drm_WARN* (Pankaj) - Switch to device specific parameters with debugfs access (Jani) - Fix agp/intel error path leak (Qiushi Wu) - Forcewake power optimization (Chris) - Irq handler optimization (Chris) BR, Jani. The following changes since commit 0a19b068acc47d05212f03e494381926dc0381e2: Merge tag 'drm-misc-next-2020-06-19' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2020-06-24 15:45:51 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2020-07-02 for you to fetch changes up to d524b87f77364db096855d7eb714ffacec974ddf: drm/i915: Update DRIVER_DATE to 20200702 (2020-07-02 21:25:28 +0300) ---------------------------------------------------------------- drm/i915 features for v5.9 Highlights: - Rocket Lake (RKL) platform enabling (Matt Roper, Lucas, José, Aditya) Gem/GT: - Numerous selftest fixes and improvements (Chris) - TGL, RKL, EHL workaround updates (Matts Atwood and Roper, Clint, Swathi Dhanavanthri, Chris) - Retry faulthandlers on ENOSPC to avoid oomkiller (Chris) - Numerous refactorings and cleanups (Chris) - Several GT fixes around init/suspend/resume/shutdown (Chris) - Whitelist CTX_TIMESTAMP register on non-RCS (Chris) - Track if an engine requires forcewake w/a (Chris) - Locking improvements (Chris) - Timeslicing improvements (Chris) - Add a safety submission flush in the heartbeat (Chris) - Flush gen3 relocs harder (Chris) - Discard a misplaced GGTT vma (Chris) - Reduce relocation paths to async GPU relocations only (Chris) - It's all build up with no pay off (Chris' own words...) Display: - A plethora of DP MST fixes (Imre) - Implement proper dbuf global state (Ville) - Consider dbuf bandwidth when calculating CDCLK (Stan) - FBC fixes and refactoring (Ville) - PSR fixes and improvements (José, Gwan-gyeong) - Cursor size fixes (Ville) - Overlay color and gamma fixes (Ville) - Fix and improve FSB and HRAWCLK read out (Ville) - Pre allocate and late cleanup of DSB cmd buffer (Animesh) - Stop using mode->private_flags (Ville) - Add plane color encoding support for YCBCR_BT2020 (Kishore Kadiyala) - Update TGL Type-C DP and DKL HBR and HBR+ vswing tables (José) - Fix DSI connector init error path (Vivek) - A plethora of DP vswing/preemph fixes and refactoring (Ville) - Fix TGL DKL vswing sequence selection (Vandita) - Fix ICL hotplug interrupt disabling after storm detection (Imre) - Retry HDCP link integrity check on failure (Oliver Barta) - Fix TBT DPLL fractional divider (Imre) - Fix ICL+ HBR3 source rate (Matt Atwood) - Fix gen2 spurious underruns (Ville) - Fix potential NULL dereference, some spelling fixes (Colin Ian King) - Fix NULL dereference on encoder state probe (Chris) Other: - Backmerge to get mmap locking API (Jani) - Distinguish Comet Lake from Coffee Lake (Chris) - Various compiler warning fixes (Arnd Bergmann, Nathan Chancellor) - WARN* conversions to drm_WARN* (Pankaj) - Switch to device specific parameters with debugfs access (Jani) - Fix agp/intel error path leak (Qiushi Wu) - Forcewake power optimization (Chris) - Irq handler optimization (Chris) ---------------------------------------------------------------- Aditya Swarup (1): drm/i915/rkl: Don't try to read out DSI transcoders Animesh Manna (1): drm/i915/dsb: Pre allocate and late cleanup of cmd buffer Arnd Bergmann (3): drm/i915: avoid unused scale_user_to_hw() warning drm/i915/pmu: avoid an maybe-uninitialized warning drm/i915: work around false-positive maybe-uninitialized warning Chris Wilson (96): drm/i915/gem: Retry faulthandlers on ENOSPC drm/i915/selftests: Refactor sibling selection drm/i915/gt: Reuse the tasklet priority for virtual as their siblings drm/i915/display: Return error from dbuf allocation failure drm/i915/selftests: Measure dispatch latency drm/i915: Don't set queue-priority hint when supressing the reschedule drm/i915/selftests: Change priority overflow detection drm/i915/selftests: Restore to default heartbeat drm/i915/selftests: Check for an initial-breadcrumb in wait_for_submit() drm/i915/selftests: Add tests for timeslicing virtual engines drm/i915/gt: Kick virtual siblings on timeslice out drm/i915/gt: Incorporate the virtual engine into timeslicing drm/i915/gt: Remove errant assertion in __intel_context_do_pin drm/i915/selftests: Measure CS_TIMESTAMP drm/i915/selftests: Flush the submission, not cancel it! drm/i915: Disable semaphore inter-engine sync without timeslicing drm/i915: Avoid using rq->engine after free during i915_fence_release drm/i915: Remove PIN_UPDATE for i915_vma_pin drm/i915/gem: Avoid iterating an empty list drm/i915/gt: Cancel the flush worker more thoroughly drm/i915/gem: Suppress some random warnings drm/i915/gt: Stop cross-polluting PIN_GLOBAL with PIN_USER with no-ppgtt drm/i915/display: Fix early deref of 'dsb' drm/i915/gt: Force the GT reset on shutdown drm/i915/execlists: Shortcircuit queue_prio() for no internal levels drm/i915: Improve execute_cb struct packing drm/i915/display: Only query DP state of a DDI encoder drm/i915: Reorder await_execution before await_request drm/i915/gt: Do not schedule normal requests immediately along virtual drm/i915/gt: Clear LOCAL_BIND from shared GGTT on resume drm/i915/gt: Prevent timeslicing into unpreemptable requests drm/i915/gt: Restore both GGTT bindings on resume drm/i915/gt: Remove local entries from GGTT on suspend drm/i915/gt: Don't declare hangs if engine is stalled drm/i915/gt: Start timeslice on partial submission drm/i915: Add a few asserts around handling of i915_request_is_active() drm/i915: Check for awaits on still currently executing requests drm/i915/gem: Taint all shrinkable object locks drm/i915/gem: Give each object class a friendly name drm/i915: Handle very early engine initialisation failure drm/i915: Relinquish forcewake immediately after manual grouping drm/i915: Trim the ironlake+ irq handler drm/i915: Whitelist context-local timestamp in the gen9 cmdparser drm/i915/gt: Split low level gen2-7 CS emitters drm/i915/gt: Move legacy context wa to intel_workarounds drm/i915/selftests: Ignore autoincrementing timestamp on verfifying whitelists drm/i915: Identify Cometlake platform drm/i915/gt: Make the CTX_TIMESTAMP readable on !rcs drm/i915/gt: Suppress the error message for GT init failure on error injection drm/i915: Drop i915_request.i915 backpointer drm/i915/selftests: Exercise all copy engines with the blt routines drm/i915/gem: Mark the buffer pool as active for the cmdparser drm/i915: Trim set_timer_ms() intervals drm/i915/gt: Track if an engine requires forcewake w/a drm/i915/gem: Async GPU relocations only drm/i915/gt: Include the engine's fw-domains in the debug info drm/i915/gt: Set timeslicing priority from queue drm/i915/gt: Always check to enable timeslicing if not submitting drm/i915: Discard a misplaced GGTT vma drm/i915: Correct discard i915_vma_compare assertion drm/i915/gem: Delete unused code drm/i915/selftests: Make the hanging request non-preemptible drm/i915/gt: Incrementally check for rewinding drm/i915/selftests: Teach hang-self to target only itself drm/i915/gt: Include context status in debug dumps drm/i915/selftests: Remove live_suppress_wait_preempt drm/i915/gt: Move hsw GT workarounds from init_clock_gating to workarounds drm/i915/gt: Move ivb GT workarounds from init_clock_gating to workarounds drm/i915/gt: Move vlv GT workarounds from init_clock_gating to workarounds drm/i915/gt: Move snb GT workarounds from init_clock_gating to workarounds drm/i915/gt: Move ilk GT workarounds from init_clock_gating to workarounds drm/i915/gt: Move gen4 GT workarounds from init_clock_gating to workarounds drm/i915: Leave vma intact as they are discarded drm/i915/execlists: Lift opportunistic process_csb to before engine lock drm/i915/selftests: Trim execlists runtime drm/i915/gt: Flush gen3 relocs harder, again drm/i915/selftests: Disable preemptive heartbeats over preemption tests drm/i915/selftests: Dump engine state and trace upon hanging after reset drm/i915/gt: Add a safety submission flush in the heartbeat drm/i915/gt: Don't flush the tasklet if not setup drm/i915: Mark up inline getters as taking a const i915_request drm/i915/selftests: Exercise far preemption rollbacks drm/i915/selftests: Use friendly request names for live_timeslice_rewind drm/i915/selftests: Check preemption rollback of different ring queue depths drm/i915/selftests: Enable selftesting of busy-stats drm/i915/gt: Always report the sample time for busy-stats drm/i915/gt: Initialise rps timestamp drm/i915/gt: Show the culmative runtime as part of the engine info drm/i915/gvt: Drop redundant prepare_write/pin_pages drm/i915/gt: Replace manual kmap_atomic() with pin_map for renderstate drm/i915: Skip stale object handle for debugfs per-file-stats drm/i915/gem: Avoid kmalloc under i915->mm_lock drm/i915/gem: Move obj->lut_list under its own lock drm/i915/gt: Harden the heartbeat against a stuck driver drm/i915/gt: Move the heartbeat into the high priority system wq drm/i915: Drop vm.ref for duplicate vma on construction Clint Taylor (1): drm/i915/tgl: Implement WA_16011163337 Colin Ian King (3): drm/i915/selftests: fix spelling mistake "submited" -> "submitted" drm/i915: fix a couple of spelling mistakes in kernel parameter help text drm/i915/display: fix missing null check on allocated dsb object Gustavo A. R. Silva (2): drm/i915/selftests: Fix inconsistent IS_ERR and PTR_ERR drm/i915/query: Use struct_size() helper Gwan-gyeong Mun (1): drm/i915/psr: Program default IO buffer Wake and Fast Wake Imre Deak (13): drm/i915: Fix AUX power domain toggling across TypeC mode resets drm/i915/icl: Disable DIP on MST ports with the transcoder clock still on drm/i915: Fix the i915_dsc_fec_support debugfs file for DP MST connectors drm/i915/dp_mst: Fix disabling MST on a port drm/i915/icl+: Fix hotplug interrupt disabling after storm detection drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders drm/i915/dp_mst: Disable link training fallback on MST links drm/i915/dp_mst: Move clearing the ACT sent flag closer to its polling drm/i915/dp_mst: Clear only the ACT sent flag from DP_TP_STATUS drm/i915/dp_mst: Clear the ACT sent flag during encoder disabling too drm/i915/dp_mst: Enable VC payload allocation after transcoder is enabled drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock drm/i915/icl+: Simplify combo/TBT PLL calculation call-chain Jani Nikula (7): drm/i915/params: don't expose inject_probe_failure in debugfs drm/i915/params: fix i915.fake_lmem_start module param sysfs permissions drm/i915/params: prevent changing module params runtime drm/i915/params: fix i915.reset module param type drm/i915/params: switch to device specific parameters Merge drm/drm-next into drm-intel-next-queued drm/i915: Update DRIVER_DATE to 20200702 José Roberto de Souza (7): drm/i915/tgl: Update TC DP vswing table drm/i915/tgl: Add HBR and HBR2+ voltage swing table drm/i915/rkl: Disable PSR2 drm/i915: Add psr_safest_params drm/i915: Add plane damage clips property drm/i915: Reorder intel_psr2_config_valid() drm/i915: Add PSR2 selective fetch registers Kees Cook (1): drm/i915: Fix comments mentioning typo in IS_ENABLED() Khaled Almahallawy (1): drm/i915/tc: fix the reset of ln0 Kishore Kadiyala (1): drm/i915: Add Plane color encoding support for YCBCR_BT2020 Lucas De Marchi (2): drm/i915/rkl: provide port/phy mapping for vbt drm/i915/display: remove alias to dig_port Matt Atwood (3): drm/i915/ehl: Wa_22010271021 drm/i915/gen12: implement Wa_14011508470 drm/i915/dp: Correctly advertise HBR3 for GEN11+ Matt Roper (18): drm/i915/rkl: Add RKL platform info and PCI ids drm/i915/rkl: Re-use TGL GuC/HuC firmware drm/i915/rkl: Load DMC firmware for Rocket Lake drm/i915/rkl: Add PCH support x86/gpu: add RKL stolen memory support drm/i915/rkl: Update memory bandwidth parameters drm/i915/rkl: Limit number of universal planes to 5 drm/i915/rkl: Add power well support drm/i915/rkl: RKL only uses PHY_MISC for PHY's A and B drm/i915/rkl: Set transcoder mask properly drm/i915/rkl: Add DDC pin mapping drm/i915/rkl: Handle comp master/slave relationships for PHYs drm/i915/rkl: Setup ports/phys drm/i915/rkl: Don't try to access transcoder D drm/i915: Restore DP-E to VBT mapping table drm/i915/rkl: RKL uses ABOX0 for pixel transfers drm/i915/rkl: Update TGP's pin mapping when paired with RKL drm/i915: Extend Wa_14010685332 to all ICP+ PCH's Nathan Chancellor (1): drm/i915: Mark check_shadow_context_ppgtt as maybe unused Oliver Barta (1): drm/i915: HDCP: retry link integrity check on failure Pankaj Bharadiya (9): drm/i915/display/display_power: Prefer drm_WARN_ON over WARN_ON drm/i915/display/dp: Prefer drm_WARN* over WARN* drm/i915/display/sdvo: Prefer drm_WARN* over WARN* drm/i915/display/tc: Prefer drm_WARN_ON over WARN_ON drm/i915/gem: Prefer drm_WARN* over WARN* drm/i915/i915_drv: Prefer drm_WARN_ON over WARN_ON drm/i915/pmu: Prefer drm_WARN_ON over WARN_ON drm/i915/pm: Prefer drm_WARN_ON over WARN_ON drm/i915/runtime_pm: Prefer drm_WARN* over WARN* Qiushi Wu (1): agp/intel: Fix a memory leak on module initialisation failure Rodrigo Vivi (1): drm/i915: Include asm sources for {ivb, hsw}_clear_kernel.c Stanislav Lisovskiy (10): drm/i915: Decouple cdclk calculation from modeset checks drm/i915: Extract cdclk requirements checking to separate function drm/i915: Check plane configuration properly drm/i915: Plane configuration affects CDCLK in Gen11+ drm/i915: Introduce for_each_dbuf_slice_in_mask macro drm/i915: Adjust CDCLK accordingly to our DBuf bw needs drm/i915: Remove unneeded hack now for CDCLK drm/i915: Fix includes and local vars order drm/i915: Fix wrong CDCLK adjustment changes Revert "drm/i915: Remove unneeded hack now for CDCLK" Swathi Dhanavanthri (1): drm/i915/ehl: Extend w/a 14010685332 to JSP/MCC Tvrtko Ursulin (2): drm/i915: Adjust the sentinel assert to match implementation drm/i915: Remove redundant i915_request_await_object in blit clears Vandita Kulkarni (1): drm/i915/display: Fix the encoder type check Ville Syrjälä (34): drm/i915: Fix max cursor size for i915g/gm drm/i915: Fix overlay colorkey for 30bpp and 8bpp drm/i915: Configure overlay cc_out precision based on crtc gamma config drm/i915: Enable pipe gamma for the overlay drm/i915: Protect overlay colorkey macro arguments drm/i915: Make skl_compute_dbuf_slices() behave consistently for all platforms drm/i915: Polish some dbuf debugs drm/i915: Unify the low level dbuf code drm/i915: Introduce proper dbuf state drm/i915: Nuke skl_ddb_get_hw_state() drm/i915: Move the dbuf pre/post plane update drm/i915: Clean up dbuf debugs during .atomic_check() drm/i915: Fix dbuf slice mask when turning off all the pipes drm/i915: Fix 400 MHz FSB readout on elk drm/i915: Document our lackluster FSB frequency readout drm/i915: Read out hrawclk on all gen3+ platforms drm/i915: Stop using mode->private_flags drm/i915: Replace I915_MODE_FLAG_INHERITED with a boolean drm/i915: Fix global state use-after-frees with a refcount drm/i915: Fix cpt/ppt max pre-emphasis drm/i915: Fix ibx max vswing/preemph drm/i915: Fix ivb cpu edp vswing drm/i915: Add {preemph,voltage}_max() vfuncs drm/i915: Reverse preemph vs. voltage swing preference drm/i915: Replace some hand rolled max()s drm/i915: Fix DP_TRAIN_MAX_{PRE_EMPHASIS,SWING}_REACHED handling drm/i915: Clamp linetime wm to <64usec drm/i915/fbc: Fix fence_y_offset handling drm/i915/fbc: Don't clear busy_bits for origin==GTT drm/i915/fbc: Parametrize FBC_CONTROL drm/i915/fbc: Store the fbc1 compression interval in the params drm/i915/fbc: Reduce fbc1 compression interval to 1 second drm/i915: Suppress spurious underruns on gen2 drm/i915: Fix g4x fbc watermark enable Vivek Kasireddy (1): drm/i915/dsi: Dont forget to clean up the connector on error (v2) arch/x86/kernel/early-quirks.c | 1 + drivers/char/agp/intel-gtt.c | 4 +- drivers/dma-buf/selftests.h | 2 +- drivers/gpu/drm/i915/Makefile | 2 + drivers/gpu/drm/i915/display/icl_dsi.c | 14 +- drivers/gpu/drm/i915/display/intel_atomic.c | 4 + drivers/gpu/drm/i915/display/intel_bios.c | 78 +- drivers/gpu/drm/i915/display/intel_bw.c | 151 +++- drivers/gpu/drm/i915/display/intel_bw.h | 10 + drivers/gpu/drm/i915/display/intel_cdclk.c | 100 ++- drivers/gpu/drm/i915/display/intel_color.c | 66 +- drivers/gpu/drm/i915/display/intel_combo_phy.c | 55 +- drivers/gpu/drm/i915/display/intel_crt.c | 4 +- drivers/gpu/drm/i915/display/intel_csr.c | 20 +- drivers/gpu/drm/i915/display/intel_ddi.c | 143 ++-- drivers/gpu/drm/i915/display/intel_ddi.h | 3 - drivers/gpu/drm/i915/display/intel_display.c | 357 +++++--- drivers/gpu/drm/i915/display/intel_display.h | 8 + .../gpu/drm/i915/display/intel_display_debugfs.c | 5 +- drivers/gpu/drm/i915/display/intel_display_power.c | 373 +++++++-- drivers/gpu/drm/i915/display/intel_display_power.h | 7 +- drivers/gpu/drm/i915/display/intel_display_types.h | 33 +- drivers/gpu/drm/i915/display/intel_dp.c | 233 +++--- drivers/gpu/drm/i915/display/intel_dp.h | 4 - .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 4 +- .../gpu/drm/i915/display/intel_dp_link_training.c | 36 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 46 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 77 +- drivers/gpu/drm/i915/display/intel_dsb.c | 256 +++--- drivers/gpu/drm/i915/display/intel_dsb.h | 17 +- drivers/gpu/drm/i915/display/intel_fbc.c | 71 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 7 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 41 +- drivers/gpu/drm/i915/display/intel_hotplug.c | 9 + drivers/gpu/drm/i915/display/intel_lvds.c | 4 +- drivers/gpu/drm/i915/display/intel_opregion.c | 2 +- drivers/gpu/drm/i915/display/intel_overlay.c | 30 +- drivers/gpu/drm/i915/display/intel_panel.c | 4 +- drivers/gpu/drm/i915/display/intel_psr.c | 94 ++- drivers/gpu/drm/i915/display/intel_sdvo.c | 21 +- drivers/gpu/drm/i915/display/intel_sprite.c | 30 +- drivers/gpu/drm/i915/display/intel_sprite.h | 11 +- drivers/gpu/drm/i915/display/intel_tc.c | 14 +- drivers/gpu/drm/i915/display/intel_tv.c | 4 +- drivers/gpu/drm/i915/display/intel_vdsc.c | 4 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 6 +- drivers/gpu/drm/i915/gem/i915_gem_context.c | 10 +- drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 325 +------ drivers/gpu/drm/i915/gem/i915_gem_internal.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_lmem.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 27 +- drivers/gpu/drm/i915/gem/i915_gem_object_blt.c | 52 +- drivers/gpu/drm/i915/gem/i915_gem_object_types.h | 3 + drivers/gpu/drm/i915/gem/i915_gem_phys.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 134 ++- .../gpu/drm/i915/gem/selftests/huge_gem_object.c | 1 + drivers/gpu/drm/i915/gem/selftests/huge_pages.c | 145 +--- .../drm/i915/gem/selftests/i915_gem_client_blt.c | 3 - .../drm/i915/gem/selftests/i915_gem_execbuffer.c | 21 +- .../drm/i915/gem/selftests/i915_gem_object_blt.c | 55 +- drivers/gpu/drm/i915/gem/selftests/mock_context.c | 37 + drivers/gpu/drm/i915/gem/selftests/mock_context.h | 4 + drivers/gpu/drm/i915/gt/gen2_engine_cs.c | 329 ++++++++ drivers/gpu/drm/i915/gt/gen2_engine_cs.h | 38 + drivers/gpu/drm/i915/gt/gen6_engine_cs.c | 455 ++++++++++ drivers/gpu/drm/i915/gt/gen6_engine_cs.h | 39 + drivers/gpu/drm/i915/gt/intel_context_sseu.c | 2 +- drivers/gpu/drm/i915/gt/intel_engine.h | 4 +- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 69 +- drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 41 +- drivers/gpu/drm/i915/gt/intel_engine_types.h | 12 + drivers/gpu/drm/i915/gt/intel_ggtt.c | 46 +- drivers/gpu/drm/i915/gt/intel_gt.c | 5 + drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.c | 3 +- drivers/gpu/drm/i915/gt/intel_gt_pm.c | 4 +- drivers/gpu/drm/i915/gt/intel_lrc.c | 57 +- drivers/gpu/drm/i915/gt/intel_renderstate.c | 29 +- drivers/gpu/drm/i915/gt/intel_reset.c | 6 +- drivers/gpu/drm/i915/gt/intel_ring_submission.c | 866 +------------------ drivers/gpu/drm/i915/gt/intel_rps.c | 11 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 91 +- drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 2 +- .../gpu/drm/i915/gt/selftest_engine_heartbeat.c | 53 +- .../gpu/drm/i915/gt/selftest_engine_heartbeat.h | 14 + drivers/gpu/drm/i915/gt/selftest_engine_pm.c | 101 +++ drivers/gpu/drm/i915/gt/selftest_gt_pm.c | 132 +++ drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 85 +- drivers/gpu/drm/i915/gt/selftest_lrc.c | 931 +++++++++++++-------- drivers/gpu/drm/i915/gt/selftest_mocs.c | 2 +- drivers/gpu/drm/i915/gt/selftest_rc6.c | 9 +- drivers/gpu/drm/i915/gt/selftest_rps.c | 68 +- drivers/gpu/drm/i915/gt/selftest_timeline.c | 25 +- drivers/gpu/drm/i915/gt/selftest_workarounds.c | 17 + drivers/gpu/drm/i915/gt/shaders/README | 46 + .../gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm | 119 +++ .../gpu/drm/i915/gt/shaders/clear_kernel/ivb.asm | 117 +++ drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 15 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 4 +- drivers/gpu/drm/i915/gt/uc/intel_uc.c | 20 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 37 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 14 +- drivers/gpu/drm/i915/gvt/display.c | 30 +- drivers/gpu/drm/i915/gvt/dmabuf.c | 1 + drivers/gpu/drm/i915/gvt/edid.c | 2 +- drivers/gpu/drm/i915/gvt/handlers.c | 17 +- drivers/gpu/drm/i915/gvt/scheduler.c | 55 +- drivers/gpu/drm/i915/gvt/scheduler.h | 2 - drivers/gpu/drm/i915/i915_debugfs.c | 4 +- drivers/gpu/drm/i915/i915_debugfs_params.c | 7 +- drivers/gpu/drm/i915/i915_drv.c | 9 +- drivers/gpu/drm/i915/i915_drv.h | 56 +- drivers/gpu/drm/i915/i915_gem.c | 18 + drivers/gpu/drm/i915/i915_gem_gtt.h | 1 - drivers/gpu/drm/i915/i915_getparam.c | 2 +- drivers/gpu/drm/i915/i915_gpu_error.c | 4 +- drivers/gpu/drm/i915/i915_irq.c | 77 +- drivers/gpu/drm/i915/i915_params.c | 43 +- drivers/gpu/drm/i915/i915_params.h | 1 + drivers/gpu/drm/i915/i915_pci.c | 40 +- drivers/gpu/drm/i915/i915_pmu.c | 17 +- drivers/gpu/drm/i915/i915_query.c | 3 +- drivers/gpu/drm/i915/i915_reg.h | 190 ++++- drivers/gpu/drm/i915/i915_request.c | 40 +- drivers/gpu/drm/i915/i915_request.h | 11 +- drivers/gpu/drm/i915/i915_trace.h | 10 +- drivers/gpu/drm/i915/i915_utils.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 72 +- drivers/gpu/drm/i915/i915_vma.h | 1 + drivers/gpu/drm/i915/intel_device_info.c | 7 +- drivers/gpu/drm/i915/intel_device_info.h | 5 + drivers/gpu/drm/i915/intel_gvt.c | 10 +- drivers/gpu/drm/i915/intel_pch.c | 42 +- drivers/gpu/drm/i915/intel_pm.c | 414 ++++++--- drivers/gpu/drm/i915/intel_pm.h | 29 +- drivers/gpu/drm/i915/intel_region_lmem.c | 6 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 39 +- drivers/gpu/drm/i915/intel_uncore.c | 10 +- drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 1 + .../gpu/drm/i915/selftests/i915_live_selftests.h | 4 +- .../gpu/drm/i915/selftests/i915_mock_selftests.h | 4 +- drivers/gpu/drm/i915/selftests/i915_perf.c | 2 +- .../gpu/drm/i915/selftests/i915_perf_selftests.h | 2 +- drivers/gpu/drm/i915/selftests/i915_request.c | 871 ++++++++++++++++++- drivers/gpu/drm/i915/selftests/igt_spinner.c | 18 +- drivers/gpu/drm/i915/selftests/mock_region.c | 1 + include/drm/i915_pciids.h | 9 + 150 files changed, 6046 insertions(+), 3356 deletions(-) create mode 100644 drivers/gpu/drm/i915/gt/gen2_engine_cs.c create mode 100644 drivers/gpu/drm/i915/gt/gen2_engine_cs.h create mode 100644 drivers/gpu/drm/i915/gt/gen6_engine_cs.c create mode 100644 drivers/gpu/drm/i915/gt/gen6_engine_cs.h create mode 100644 drivers/gpu/drm/i915/gt/selftest_engine_heartbeat.h create mode 100644 drivers/gpu/drm/i915/gt/shaders/README create mode 100644 drivers/gpu/drm/i915/gt/shaders/clear_kernel/hsw.asm create mode 100644 drivers/gpu/drm/i915/gt/shaders/clear_kernel/ivb.asm