From patchwork Thu Sep 27 09:59:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Joonas Lahtinen X-Patchwork-Id: 10617765 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 698E715A6 for ; Thu, 27 Sep 2018 09:59:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 570D429FAD for ; Thu, 27 Sep 2018 09:59:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 488BA2A061; Thu, 27 Sep 2018 09:59:51 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A158D29FAD for ; Thu, 27 Sep 2018 09:59:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7A6506E52C; Thu, 27 Sep 2018 09:59:47 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id BEDE66E08E; Thu, 27 Sep 2018 09:59:45 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Sep 2018 02:59:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,310,1534834800"; d="scan'208";a="77728948" Received: from jlahtine-desk.ger.corp.intel.com (HELO localhost) ([10.252.24.232]) by orsmga006.jf.intel.com with ESMTP; 27 Sep 2018 02:59:40 -0700 Date: Thu, 27 Sep 2018 12:59:33 +0300 From: Joonas Lahtinen To: Dave Airlie Subject: [PULL] drm-intel-next Message-ID: <20180927095933.GA11458@jlahtine-desk.ger.corp.intel.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) 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, intel-gfx@lists.freedesktop.org, Rodrigo Vivi , Sean Paul , dri-devel@lists.freedesktop.org, Daniel Vetter Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi Dave, Here's the second and final set of changes for v4.20, tagged last Friday before -rc5. We run it through the testing with the CI farm machines and found no regressions. Most user noticeable things are MythTV video stuttering regression fix for older hardware, black screen fix on resume when using color space corrections (CSC) and W/A for 16 GB DIMM modules on Skylake and newer systems. There are some further Icelake enabling patches and addition of the DMC firmware which is required for power management, but all still behind i915.alpha_support=1 flag. Jani will be taking care of v4.21 as I proceed to provide fixes for v4.20. Regards, Joonas PS. CI folks asked to remind you that by pushing to 'for-intel-ci' branch in your tree, you can trigger CI runs yourself. drm-intel-next-2018-09-21: Driver Changes: - Bugzilla 107600: Fix stuttering video playback on MythTV on old hardware (Chris) - Avoid black screen when using CSC coefficient matrix (Raviraj) - Hammer PDs on Baytrail to make sure they reload (Chris) - Capture some objects if unable to capture all, on error (Chris) - Add W/A for 16 GB DIMMs on SKL+ (Mahesh) - Only enable IPC for symmetric memory configurations on KBL+ (Mahesh) - Assume pipe A to have maximum stride limits (Ville) - Always update update OA contexts via context image (Tvrtko) - Icelake enabling patches (Madhav, Dhinakaran) - Add Icelake DMC firmware (Anusha) - Fixes for CI found corner cases (Chris) - Limit the backpressure for request allocation (Chris) - Park GPU on module load so usage starts from known state (Chris) - Flush tasklet when checking for idle (Chris) - Use coherent write into the context image on BSW+ (Chris) - Fix possible integer overflow for framebuffers that get aligned past 4GiB (Ville) - Downgrade fence timeout from warn to notice and add debug hint (Chris) - Fixes to multi function encoder code (Ville) - Fix sprite plane check logic (Dan, Ville) - PAGE_SIZE vs. I915_GTT_PAGE_SIZE fixes (Ville) - Decode memory bandwidth and parameters for BXT and SKL+ (Mahesh) - Overwrite BIOS set IPC value from KMS (Mahesh) - Multiple pipe handling code cleanups/restructurings/optimizations (Ville) - Spare low 4G address for non-48bit objects (Chris) - Free context_setparam of struct_mutex (Chris) - Delay updating ring register state on resume (Chris) - Avoid unnecessarily copying overlay IOCTL parameters (Chris) - Update GuC power domain states even without submission (Michal) - Restore GuC preempt-context across S3/S4 (Chris) - Add kernel selftest for rapid context switching (Chris) - Keep runtime power management ref for live selftests (Chris) - GEM code cleanups (Matt) The following changes since commit a28957b8f10be714f076fb3981a3b1a0318c48c2: drm/i915: Update DRIVER_DATE to 20180906 (2018-09-06 16:54:43 +0300) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2018-09-21 for you to fetch changes up to 448626103dad54ec5d06722e955586b5d557625d: drm/i915: Update DRIVER_DATE to 20180921 (2018-09-21 12:26:37 +0300) ---------------------------------------------------------------- Driver Changes: - Bugzilla 107600: Fix stuttering video playback on MythTV on old hardware (Chris) - Avoid black screen when using CSC coefficient matrix (Raviraj) - Hammer PDs on Baytrail to make sure they reload (Chris) - Capture some objects if unable to capture all, on error (Chris) - Add W/A for 16 GB DIMMs on SKL+ (Mahesh) - Only enable IPC for symmetric memory configurations on KBL+ (Mahesh) - Assume pipe A to have maximum stride limits (Ville) - Always update update OA contexts via context image (Tvrtko) - Icelake enabling patches (Madhav, Dhinakaran) - Add Icelake DMC firmware (Anusha) - Fixes for CI found corner cases (Chris) - Limit the backpressure for request allocation (Chris) - Park GPU on module load so usage starts from known state (Chris) - Flush tasklet when checking for idle (Chris) - Use coherent write into the context image on BSW+ (Chris) - Fix possible integer overflow for framebuffers that get aligned past 4GiB (Ville) - Downgrade fence timeout from warn to notice and add debug hint (Chris) - Fixes to multi function encoder code (Ville) - Fix sprite plane check logic (Dan, Ville) - PAGE_SIZE vs. I915_GTT_PAGE_SIZE fixes (Ville) - Decode memory bandwidth and parameters for BXT and SKL+ (Mahesh) - Overwrite BIOS set IPC value from KMS (Mahesh) - Multiple pipe handling code cleanups/restructurings/optimizations (Ville) - Spare low 4G address for non-48bit objects (Chris) - Free context_setparam of struct_mutex (Chris) - Delay updating ring register state on resume (Chris) - Avoid unnecessarily copying overlay IOCTL parameters (Chris) - Update GuC power domain states even without submission (Michal) - Restore GuC preempt-context across S3/S4 (Chris) - Add kernel selftest for rapid context switching (Chris) - Keep runtime power management ref for live selftests (Chris) - GEM code cleanups (Matt) ---------------------------------------------------------------- Anusha Srivatsa (1): firmware/dmc/icl: load v1.07 on icelake. Chris Wilson (21): drm/i915: Missed interrupt simulation is no more, tell the world drm/i915/overlay: Allocate physical registers from stolen drm/i915/overlay: Use the ioctl parameters directly drm/i915: Nuke struct_mutex from context_setparam drm/i915/ringbuffer: Reload PDs harder on byt/bcs drm/i915: Reorder execobject[] to insert non-48b objects into the low 4G drm/i915: Mark up a couple of KMS debug messages as such drm/i915: Limit the backpressure for i915_request allocation drm/i915: Flush the tasklet when checking for idle drm/i915/execlists: Delay updating ring register state after resume drm/i915: Check engine->default_state mapping on module load drm/i915/execlists: Use coherent writes into the context image drm/i915: Include fence-hint for timeout warning drm/i915/execlists: Reset CSB pointers on canceling requests (wedging) drm/i915: Limit number of capture objects drm/i915/selftests: Free the batch along the contexts error path drm/i915/selftests: Basic stress test for rapid context switching drm/i915/guc: Restore preempt-context across S3/S4 drm/i915/selftests: Live tests emit requests and so require rpm drm/i915: Park the GPU on module load drm/i915/execlists: Onion unwind for logical_ring_init() failure Dhinakaran Pandiyan (1): drm/i915/psr: Enable AUX-A IO power well on ICL for PSR Joonas Lahtinen (2): drm/i915: Update DRIVER_DATE to 20180921 drm/i915: Update DRIVER_DATE to 20180921 Madhav Chauhan (1): drm/i915/icl: Define T_INIT_MASTER registers Mahesh Kumar (5): drm/i915/bxt: Decode memory bandwidth and parameters drm/i915/skl+: Decode memory bandwidth and parameters drm/i915: Implement 16GB dimm wa for latency level-0 drm/i915/skl+: don't trust IPC value set by BIOS drm/i915/kbl+: Enable IPC only for symmetric memory configurations Matthew Auld (2): drm/i915: don't assume struct page in i915_sg_trim drm/i915: pass dev_priv to i915_gem_cleanup_stolen Michal Wajdeczko (1): drm/i915/guc: Update GuC power domain states P Raviraj Sitaram (1): drm/i915/chv: Update csc coefficient matrix during modeset Tvrtko Ursulin (1): i915/oa: Simplify updating contexts Ville Syrjälä (18): drm/i915: s/tile_offset/aligned_offset/ etc. drm/i915: Add .max_stride() plane hook drm/i915: Use pipe A primary plane .max_stride() as the global stride limit drm/i915: Rename the plane_state->main/aux to plane_state->color_plane[] drm/i915: Store the final plane stride in plane_state drm/i915: Store ggtt_view in plane_state drm/i915: s/int plane/int color_plane/ drm/i915: Nuke plane->can_scale/min_downscale drm/i915: Extract per-platform plane->check() functions drm/i915: Move skl plane fb related checks into a better place drm/i915: Move display w/a #1175 drm/i915: Move chv rotation checks to plane->check() drm/i915: Extract intel_cursor_check_surface() drm/i915: Replace some PAGE_SIZE with I915_GTT_PAGE_SIZE drm/i915: Fix a potential integer overflow with framebuffers extending past 4 GiB drm/i915: Replace some PAGE_SHIFTs with I915_GTT_PAGE_SIZE drm/i915: Fix logic fumble in rotation vs. ccs check drm/i915/sdvo: Fix multi function encoder stuff drivers/gpu/drm/i915/i915_debugfs.c | 11 + drivers/gpu/drm/i915/i915_drv.c | 300 ++++++++++ drivers/gpu/drm/i915/i915_drv.h | 37 +- drivers/gpu/drm/i915/i915_gem.c | 28 +- drivers/gpu/drm/i915/i915_gem_context.c | 20 +- drivers/gpu/drm/i915/i915_gem_context.h | 33 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 7 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 50 +- drivers/gpu/drm/i915/i915_gem_stolen.c | 4 +- drivers/gpu/drm/i915/i915_gpu_error.c | 20 +- drivers/gpu/drm/i915/i915_perf.c | 125 +--- drivers/gpu/drm/i915/i915_reg.h | 54 ++ drivers/gpu/drm/i915/i915_request.c | 14 +- drivers/gpu/drm/i915/i915_request.h | 8 + drivers/gpu/drm/i915/i915_sw_fence.c | 13 +- drivers/gpu/drm/i915/intel_atomic_plane.c | 53 -- drivers/gpu/drm/i915/intel_csr.c | 7 + drivers/gpu/drm/i915/intel_ddi.c | 2 +- drivers/gpu/drm/i915/intel_display.c | 632 +++++++++++---------- drivers/gpu/drm/i915/intel_drv.h | 45 +- drivers/gpu/drm/i915/intel_engine_cs.c | 3 + drivers/gpu/drm/i915/intel_fbc.c | 4 +- drivers/gpu/drm/i915/intel_fbdev.c | 6 +- drivers/gpu/drm/i915/intel_guc_submission.c | 80 +-- drivers/gpu/drm/i915/intel_lrc.c | 57 +- drivers/gpu/drm/i915/intel_overlay.c | 375 +++++------- drivers/gpu/drm/i915/intel_pm.c | 19 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 23 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 4 + drivers/gpu/drm/i915/intel_sdvo.c | 101 ++-- drivers/gpu/drm/i915/intel_sprite.c | 494 +++++++++++----- drivers/gpu/drm/i915/intel_uc.c | 4 + drivers/gpu/drm/i915/selftests/huge_pages.c | 2 + .../gpu/drm/i915/selftests/i915_gem_coherency.c | 2 + drivers/gpu/drm/i915/selftests/i915_gem_context.c | 202 +++++++ drivers/gpu/drm/i915/selftests/i915_request.c | 8 + drivers/gpu/drm/i915/selftests/intel_guc.c | 4 + drivers/gpu/drm/i915/selftests/intel_lrc.c | 8 + drivers/gpu/drm/i915/selftests/intel_workarounds.c | 5 + 39 files changed, 1761 insertions(+), 1103 deletions(-)