From patchwork Mon Mar 16 13:46:34 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mika Kuoppala X-Patchwork-Id: 6018951 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id D83F09F2A9 for ; Mon, 16 Mar 2015 13:46:43 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8B562204D5 for ; Mon, 16 Mar 2015 13:46:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id AC6FA20498 for ; Mon, 16 Mar 2015 13:46:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C61906E3F2; Mon, 16 Mar 2015 06:46:39 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 477B06E3F2 for ; Mon, 16 Mar 2015 06:46:39 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP; 16 Mar 2015 06:46:39 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,409,1422950400"; d="scan'208";a="699343957" Received: from rosetta.fi.intel.com (HELO rosetta) ([10.237.72.58]) by orsmga002.jf.intel.com with ESMTP; 16 Mar 2015 06:46:38 -0700 Received: by rosetta (Postfix, from userid 1000) id 49CEA80056; Mon, 16 Mar 2015 15:46:37 +0200 (EET) From: Mika Kuoppala To: intel-gfx@lists.freedesktop.org Date: Mon, 16 Mar 2015 15:46:34 +0200 Message-Id: <1426513596-11338-2-git-send-email-mika.kuoppala@intel.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1426513596-11338-1-git-send-email-mika.kuoppala@intel.com> References: <1426513596-11338-1-git-send-email-mika.kuoppala@intel.com> Subject: [Intel-gfx] [PATCH 1/3] drm/i915: Wait for render state init 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-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We are freeing the batch that is just pushed to ring. Further, other ring inits should assume that the render context with the workarounds are pushed before their rings execute anything. This fixes (or papers over) a problem where with full ppgtt the blitter ring init sometimes fails, where the blt ring ACTHD runs wild through the address space until eventually hangcheck kills it. With dynamic page table series this problem became more easily reproduced by just normal boot failing to init blt ring, instead of torturing init with gem_reset_stats. Testcase: igt/gem_reset_stats --r ban-blt Signed-off-by: Mika Kuoppala --- drivers/gpu/drm/i915/i915_gem_render_state.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c index 521548a..9484c64 100644 --- a/drivers/gpu/drm/i915/i915_gem_render_state.c +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c @@ -175,6 +175,10 @@ int i915_gem_render_state_init(struct intel_engine_cs *ring) ret = __i915_add_request(ring, NULL, so.obj); /* __i915_add_request moves object to inactive if it fails */ + if (ret) + goto out; + + ret = intel_ring_idle(ring); out: i915_gem_render_state_fini(&so); return ret;