From patchwork Sat Mar 18 10:42:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 9632109 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id E2C016024A for ; Sat, 18 Mar 2017 10:43:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C4F762841F for ; Sat, 18 Mar 2017 10:43:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A70DF28437; Sat, 18 Mar 2017 10:43:03 +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=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham 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 4194D2841F for ; Sat, 18 Mar 2017 10:43:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5773A6E004; Sat, 18 Mar 2017 10:43:02 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id D44DB6E004 for ; Sat, 18 Mar 2017 10:43:00 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id n11so6839426wma.0 for ; Sat, 18 Mar 2017 03:43:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id; bh=Nl9Ft2qKWXm1X4gPVKoN1WrsgCSkqZdabOLxq1pNSXE=; b=j6lRg4nGQj/9Z0Pmyftr6na1AcCDgtRBOlwuDyAalgEfLyGoEYqxYaYhp59hIShl7/ vL+Hnb35NcKvwKLLWGn5H60CaHd+7fEJTOjwVsgYZLNiQphLR+0VI9FYDb/0txi16/B/ An5b4cJ8ZOhMSxeNVpzxkEliEUBTCVXm9z3jTV0yD7YUgPeo7CWKDFJDk8VnxgqcN+YS eN+gUhiriwhtqKHCRpp3rV2jNUqJCb6R+Mszt9dcUojBGD0R+N56rvznDP4sUR1ewvYx x9zApBUftd0tYL0j6bu7/KuoKd2IQSnTvYz7aPGZq5n5YA4rnjP8uw//BNcM6pxAr5k2 bHfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=Nl9Ft2qKWXm1X4gPVKoN1WrsgCSkqZdabOLxq1pNSXE=; b=EUEgjKPfAAtJIii6An/QVb4/BKMtqthoMHF2C3p04C1+BTlp5BVjj54U/bVfrpp6PX AHX6WPvV75+Y5Jx2KBI7GWqn+5ZA7BuEdhEZexJ0S2/1W7Os0Sus0HzM0WnVBep928RL s6gu7Y+AP4l5849Ee5Dnx5PltXjG8bY8kJrih/M1U+lorEDq4rvJil72ZE5+onFDZEoo x9xrE3pMi5UiTkrwxq6D26tFooj8V2vdHuVhKrR3T+j8cH+id/yUCFnY5EDsvAEABPeH F9mX9S/VQojyY29xUnVLaC68iOH72Ng5jMC45e1xFm4xqLVs+cGRW1IlBlAxPfgMth7T MpQg== X-Gm-Message-State: AFeK/H2gjiF7EoclX0o9F8vzMDUe2K2pdAlQ3lMwo1I84ZkuGEjPbhaRqpHR0ytrTV6wSQ== X-Received: by 10.28.146.207 with SMTP id u198mr2065914wmd.103.1489833779560; Sat, 18 Mar 2017 03:42:59 -0700 (PDT) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id m29sm13210556wrm.38.2017.03.18.03.42.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Mar 2017 03:42:59 -0700 (PDT) From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sat, 18 Mar 2017 10:42:57 +0000 Message-Id: <20170318104257.694-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.11.0 Subject: [Intel-gfx] [PATCH] drm/i915: Skip force-wake for uncached mmio flush of GGTT writes X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP The trick of using an uncached mmio read to ensure that the GGTT writes are flushed does not require us to do the forcewake dance, so avoid it in the hope of reducing the frequency that we do keep the device forced awake. Signed-off-by: Chris Wilson Reviewed-by: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gem.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 5e280e3bfd86..d468300e2f05 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -3094,8 +3094,11 @@ i915_gem_object_flush_gtt_write_domain(struct drm_i915_gem_object *obj) * system agents we cannot reproduce this behaviour). */ wmb(); - if (INTEL_GEN(dev_priv) >= 6 && !HAS_LLC(dev_priv)) - POSTING_READ(RING_ACTHD(dev_priv->engine[RCS]->mmio_base)); + if (INTEL_GEN(dev_priv) >= 6 && !HAS_LLC(dev_priv)) { + spin_lock_irq(&dev_priv->uncore.lock); + POSTING_READ_FW(RING_ACTHD(dev_priv->engine[RCS]->mmio_base)); + spin_unlock_irq(&dev_priv->uncore.lock); + } intel_fb_obj_flush(obj, write_origin(obj, I915_GEM_DOMAIN_GTT));