Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp913574pxa; Wed, 12 Aug 2020 17:03:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwKPKFczIc3vyYlRNE48/0Cp5Ei+dUGp02kIDuGAS9KqCyF3VPyP9ACx/O43ha7oxXXanzH X-Received: by 2002:a17:906:388b:: with SMTP id q11mr2464170ejd.100.1597277029337; Wed, 12 Aug 2020 17:03:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597277029; cv=none; d=google.com; s=arc-20160816; b=uDWU+qF4soYJHJ2oiWFZ7UkVq7JBsYXayUwoU8yU8h+/1g5vCpCtxVXK+m/wyyI/yJ afHXgRseT0JGyduuHdhCG2xKA9aGS6/fGVSbSqgGkCIDYpvWV978Wi26cfR5pBDV3DqF Wu2GBHTb7ZEWlX05jlg10o/mJTNAyF6II3MpnwP7DXMK6wDzyx1GfUfRjRFJmDKOEnih eiLwAPQotMlz7HQNb3T0IkunJ+Zp+ZH2Abh0ejQO5RBzSLw24yYkgEAbZlsBRARLzTr9 9hl7Q+ZtS+lQp3gu3+YrXxNyt83DtDWNhxrjdirIdFv1ngc6bn4OeZi5xBkYRc/yNPda j9Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=NL6rjLUzSXMKDMOOhTr8S6EoaPbeYW69JWbRVQ0AlOQ=; b=IP7ut2EKs8fVoLL0jRzgcoOhU+qyX4+2BDxggSeXmfrtv1nuG+ltRQPmZEEeuwKevg BbXJdOHxXwEyXBrS/1Qz39IKdUZ8/luaXa9T48r9q1kt7uhineqoT9RshMdfA6kyJN9/ tRqAXDB3tN6FfMSR8W9Na5qfWvj9a59GQZyKZRgVQuCkDhKFXDtHukx/lN+cSABsQbew 1NZ4V7NYf/twY1jIg577sriOrY0bgOX8P6YfCYLG5HltZ00clmRopxjQ7v8i20zIQJ6q R8jLZuGjP1fBg5tV6QQnZqVC3vIoBR3FN5bTueEeGQV1NiAE6vjVAZxDt3Rv70a/iZrF N8nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=U2gNhKgv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r3si2194504eja.548.2020.08.12.17.03.25; Wed, 12 Aug 2020 17:03:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=U2gNhKgv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726533AbgHMACU (ORCPT + 99 others); Wed, 12 Aug 2020 20:02:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726126AbgHMACU (ORCPT ); Wed, 12 Aug 2020 20:02:20 -0400 Received: from mail-pg1-x544.google.com (mail-pg1-x544.google.com [IPv6:2607:f8b0:4864:20::544]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 73F62C061383; Wed, 12 Aug 2020 17:02:20 -0700 (PDT) Received: by mail-pg1-x544.google.com with SMTP id x6so1876010pgx.12; Wed, 12 Aug 2020 17:02:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NL6rjLUzSXMKDMOOhTr8S6EoaPbeYW69JWbRVQ0AlOQ=; b=U2gNhKgvUtMwI0xzUVhx//Bq/+qwtjFeuaYS1iveIR3A4bsACyis1XddGwiY6dK2Sn 6jbT7RsiRVg4o5I9ePAPB9paTugf7W0AFcLzK5wXEbTZo+P35e/+ALwm2rCJrrKtDu3k QF8c2z47qQ9ToSjndnfod7w9oaqdqX0rpY9OcEHNQNshW0I1MNOYt8B2wVa6hUuRfxLP JX84Att2w1CT9xa5NObA6SMP5S2SXrU9yu9N1jAjKiD8MtKfyIvLn5dP8l7iZy+cIMPr eafUH6Ta2blVR9Y7ToWsVuBk8fVhSdKCO5nOlGZBcndN73qqU5NcvBYHd5k9LbAGOJ7U 1ZZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NL6rjLUzSXMKDMOOhTr8S6EoaPbeYW69JWbRVQ0AlOQ=; b=julcxlrFBIA58gh+dHoy4i5doghRosqY1UiB3S5eVZQXhWM2FUfHntEnmX5LnytCD4 IJAUfkMsQOj+Emap87btcFgXtCpByja0z1BB1KSPQBY7TLQR4irAjkWuCiOMcfqtL2u5 ctWPFH0Jrrtdb4UZzOevHjwxxhEmc0jaseWr8NjqXmpmVsPgYo0hdidDVxqSHmllBExE CbMb7eBLmOMorIE9xCH0rsfnUpfwTq07Y07yTjECcZEvk37Azvn2MDUSkg9Ehv4mICMZ OH291lX9v2l/+u7TNMTOj/yRO/WxfuDsqm0VyM6dNv8k/JqKfvZ3an06ffthnwLbYNTi BPLw== X-Gm-Message-State: AOAM532ZU1N1Ufqz/N2Zy/xWJNwV9khpODZ5bEW5KOwWqYjDpWTJUpSJ 2gGRIR/Dx8TGo7/qtrf117de8x7eB9E= X-Received: by 2002:a62:d149:: with SMTP id t9mr1853163pfl.59.1597276939794; Wed, 12 Aug 2020 17:02:19 -0700 (PDT) Received: from localhost (c-73-25-156-94.hsd1.or.comcast.net. [73.25.156.94]) by smtp.gmail.com with ESMTPSA id y20sm3563448pfn.183.2020.08.12.17.02.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2020 17:02:18 -0700 (PDT) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: Rob Clark , Rob Clark , Sean Paul , David Airlie , Daniel Vetter , Jordan Crouse , Bjorn Andersson , Jonathan Marek , Brian Masney , Takashi Iwai , linux-arm-msm@vger.kernel.org (open list:DRM DRIVER FOR MSM ADRENO GPU), freedreno@lists.freedesktop.org (open list:DRM DRIVER FOR MSM ADRENO GPU), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] drm/msm/adreno: fix updating ring fence Date: Wed, 12 Aug 2020 17:03:09 -0700 Message-Id: <20200813000311.708728-1-robdclark@gmail.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Rob Clark We need to set it to the most recent completed fence, not the most recent submitted. Otherwise we have races where we think we can retire submits that the GPU is not finished with, if the GPU doesn't manage to overwrite the seqno before we look at it. This can show up with hang recovery if one of the submits after the crashing submit also hangs after it is replayed. Fixes: f97decac5f4c ("drm/msm: Support multiple ringbuffers") Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index f9e3badf2fca..34e6242c1767 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -405,7 +405,7 @@ int adreno_hw_init(struct msm_gpu *gpu) ring->next = ring->start; /* reset completed fence seqno: */ - ring->memptrs->fence = ring->seqno; + ring->memptrs->fence = ring->fctx->completed_fence; ring->memptrs->rptr = 0; } -- 2.26.2