From patchwork Tue Nov 26 17:08:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= X-Patchwork-Id: 11262871 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 001E814ED for ; Tue, 26 Nov 2019 17:09:18 +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 D3BE52080F for ; Tue, 26 Nov 2019 17:09:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D3BE52080F 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=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B5E66E43C; Tue, 26 Nov 2019 17:09:18 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 538BD6E43C for ; Tue, 26 Nov 2019 17:09:16 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Nov 2019 09:09:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,246,1571727600"; d="scan'208";a="202781445" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga008.jf.intel.com with SMTP; 26 Nov 2019 09:09:12 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 26 Nov 2019 19:09:11 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 26 Nov 2019 19:08:58 +0200 Message-Id: <20191126170911.23253-1-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 00/13] drm/i915/fbc: Fix FBC for glk+ X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jian-Hong Pan , Paulo Zanoni , Daniel Drake Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" From: Ville Syrjälä Implement the missing w/a for back to back FBC disable + plane update on glk+. The scariest part of this is that we now start to use flip nuke so that we can avoid the w/a (as it would cost us one extra frame for every plane update). Hopefully my "can we flip nuke safely?" check is good enough. There's a bit of cleanup mixed in since there was all kinds of crap in my way. The state of the code is still not pretty but seemed to work well enough in my limited testing. Entire series availalbe here: git://github.com/vsyrjala/linux.git glk_fbc_wa Cc: Daniel Drake , Cc: Paulo Zanoni , Cc: Jian-Hong Pan , Cc: Maarten Lankhorst Ville Syrjälä (13): drm/i915/fbc: Disable fbc by default on all glk+ drm/i915/fbc: Nuke bogus single pipe fbc1 restriction drm/i915: Relocate intel_crtc_active() drm/i915/fbc: Remove the FBC_RT_BASE setup for ILK/SNB drm/i915/fbc: Precompute gen9 cfb stride w/a drm/i915/fbc: Track plane visibility drm/i915/fbc: Store fence_id direction in fbc cache/params drm/i915/fbc: Make fence_id optional for i965gm drm/i915/fbc: s/gen9 && !glk/gen9_bc || bxt/ drm/i915/fbc: Nuke fbc.enabled drm/i915/fbc: Start using flip nuke drm/i915/fbc: Wait for vblank after FBC disable on glk+ drm/i915/fbc: Enable fbc by default on glk+ once again drivers/gpu/drm/i915/display/intel_display.c | 25 +- drivers/gpu/drm/i915/display/intel_display.h | 1 - drivers/gpu/drm/i915/display/intel_fbc.c | 249 +++++++++---------- drivers/gpu/drm/i915/display/intel_fbc.h | 3 +- drivers/gpu/drm/i915/i915_drv.h | 14 +- drivers/gpu/drm/i915/intel_pm.c | 19 ++ 6 files changed, 150 insertions(+), 161 deletions(-)