From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753303AbcGSQbP (ORCPT ); Tue, 19 Jul 2016 12:31:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45351 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752916AbcGSQbN (ORCPT ); Tue, 19 Jul 2016 12:31:13 -0400 From: Lyude To: intel-gfx@lists.freedesktop.org Cc: Lyude , stable@vger.kernel.org, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Daniel Vetter , Radhakrishna Sripada , Matt Roper , Jani Nikula , David Airlie , dri-devel@lists.freedesktop.org (open list:INTEL DRM DRIVERS (excluding Poulsbo, Moorestow...), linux-kernel@vger.kernel.org (open list)) Subject: [PATCH 0/2] drm/i915/skl: Fix (most) pipe underruns, properly this time Date: Tue, 19 Jul 2016 12:30:54 -0400 Message-Id: <1468945856-23126-1-git-send-email-cpaul@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 19 Jul 2016 16:31:11 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Unfortunately as a few of you are aware, Skylake is still very prone to pipe underruns. Most of this comes from not doing things atomically enough (e.g. needing to ensure that we update watermarks with other plane attributes, not forcefully flushing pipes until we need to, etc.). Now that I've finally got a grasp on how double buffered registers, arming registers, etc. works on skl, I've written up patches that fix most of the pipe underruns on Skylake. When I say "most", I'm referring to the fact that I still seem to be able to reproduce pipe underruns, but this seems to be strictly exclusive to when pipes are being disabled. This means things *still* need to be made more atomic (sigh), but at least this is a start. Testing this series with a chamelium[1], mainly so I could heavily stress test the hotplugging of displays, I'm no longer able to reproduce pipe underruns when enabling another pipe. I've also tried reproducing underruns using xdotool to move the cursor in X from one monitor to another as quickly as possible (e.g. > 60 fps), and am no longer able to reproduce underruns there either with this patch series. Signed-off-by: Lyude Paul Cc: stable@vger.kernel.org Cc: Ville Syrjälä Cc: Daniel Vetter Cc: Radhakrishna Sripada Cc: Hans de Goede Cc: Matt Roper [1]: https://www.chromium.org/chromium-os/testing/chamelium Lyude (2): drm/i915/skl: Update plane watermarks atomically during plane updates drm/i915/skl: Don't mark pipes as dirty unless we've added/removed pipes drivers/gpu/drm/i915/intel_display.c | 47 ++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/i915/intel_pm.c | 31 +++++++++--------------- 2 files changed, 59 insertions(+), 19 deletions(-) -- 2.7.4