From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755120AbcHVLYZ (ORCPT ); Mon, 22 Aug 2016 07:24:25 -0400 Received: from mga01.intel.com ([192.55.52.88]:31969 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754641AbcHVLYV (ORCPT ); Mon, 22 Aug 2016 07:24:21 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,559,1464678000"; d="scan'208";a="1018437561" Subject: Re: [PATCH v12 4/7] drm/i915/skl: Update plane watermarks atomically during plane updates To: Lyude , intel-gfx@lists.freedesktop.org, =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= , Matt Roper References: <1471463761-26796-1-git-send-email-cpaul@redhat.com> <1471463761-26796-5-git-send-email-cpaul@redhat.com> Cc: stable@vger.kernel.org, Daniel Vetter , Radhakrishna Sripada , Hans de Goede , Jani Nikula , David Airlie , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org From: Maarten Lankhorst Message-ID: <6048370c-fd04-4a73-8e79-44a90c08b1e4@linux.intel.com> Date: Mon, 22 Aug 2016 13:24:11 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <1471463761-26796-5-git-send-email-cpaul@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Op 17-08-16 om 21:55 schreef Lyude: > Thanks to Ville for suggesting this as a potential solution to pipe > underruns on Skylake. > > On Skylake all of the registers for configuring planes, including the > registers for configuring their watermarks, are double buffered. New > values written to them won't take effect until said registers are > "armed", which is done by writing to the PLANE_SURF (or in the case of > cursor planes, the CURBASE register) register. > > With this in mind, up until now we've been updating watermarks on skl > like this: This patch breaks on plane disabling. I think that all the disable_plane hooks should zero all the watermark values. This might also make modeset more reliable It's shown in this testcase that I wrote to expose this issue: kms_atomic_transition.plane-all-modeset-transition I've applied patch 1, 2, 3 and 5 with some minor fixes.