Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2545402pxj; Mon, 10 May 2021 05:37:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy80km9Jv1xNtDWayCnQBCv46T6fk/zLPmQtfh4G3t4pzvZ6zGuLo6CsB1ZD4sFyVobOWg4 X-Received: by 2002:a5e:d711:: with SMTP id v17mr9004858iom.65.1620650239511; Mon, 10 May 2021 05:37:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620650239; cv=none; d=google.com; s=arc-20160816; b=AAq1JPAS5eEee+WmUigPbig1IQ0hn8cX5YkbkVVyrCueNQx5SNp48kbLC0rvAYdDP7 pW82tO7ShMU1CCP2imKNulXsmGVuF/896utZq6k5SAlDiUzawkC0HNi0xnfEO05yo8iQ oPODHWjUkJz8eEM2tbqZKlYVAXi+L336n39TCjTPDGh29R1UU2VvHKGhWzDPVLzfyyf+ v+P9OUawGNLD0izchfOWMhw47IzkE5m0ZHYlcUwixyhe2TdWXZ3Okop4KWNI1DVk5Nqb TFdp4ctK6fbOkO41QJFi7Hgm1YsLR4+1flq+LejduI8BUm8m92zuogVQO3vbRHu+00Yd JeJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=xmjeidWjbUjwyo3JTE0zuDcJKjcaA4Iw4Ooj/NwcUW0=; b=gojuqAjWt+3LKZJ7T7sOvuxNxSw3E6rCR2Jf6ZMe/YQ7h9HLKg/MRcGT3MrhsnX5U5 RbVFK+IzE03+0Ep8LvxZm+acJKvnwyyy/Mb97N+xCWBjFcLr/enpOi9qoxAjGVWQazKC Lvh/DfvPE+lch9QywvR6dN/4tVRzXKkXDowrZjX7PHgCMw0XCrLKokRxWNlAsIAUnLnE 0pQycRHZDwfBz/CkizHCABdailhSKB2rceLWHhxSfDGlVYBY7saO8JxV69LwVmIULrtG XYq//BiVUBd1QrN0R8KV5Z/F3AY1oeiaLI7LDZa8Oofy2BShUDMn4dW5zMonT6FBtY6D LuoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=gqKT9R7V; 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=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n6si16638044jal.41.2021.05.10.05.37.07; Mon, 10 May 2021 05:37:19 -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=@linuxfoundation.org header.s=korg header.b=gqKT9R7V; 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=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345678AbhEJMZC (ORCPT + 99 others); Mon, 10 May 2021 08:25:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:49986 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237034AbhEJLLM (ORCPT ); Mon, 10 May 2021 07:11:12 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 65B7361581; Mon, 10 May 2021 11:06:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620644790; bh=x9QvwcMUriwz5L2DA6a+cYKWavVW1n8+/4S4UeHFsE0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gqKT9R7V9ZiJrfA3MUK0Y4qWqR8fE1Qmg+k4BsXHcTuxzt8k6uFE8o1B7BpsK0Ups Z2aKHCStRB3/LGxOh7K5ZWm8hslzDndoaBZFBCLROYr422ylDMiAoFZw89UgYQUl+S TSQ7WMiKva3X5EaTHxJJnJE5jO+5Ff9ZMdkO7yS4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Akhil P Oommen , Rob Clark , Sasha Levin Subject: [PATCH 5.12 224/384] drm/msm/a6xx: Fix perfcounter oob timeout Date: Mon, 10 May 2021 12:20:13 +0200 Message-Id: <20210510102022.286064522@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210510102014.849075526@linuxfoundation.org> References: <20210510102014.849075526@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Akhil P Oommen [ Upstream commit 2fc8a92e0a22c483e749232d4f13c77a92139aa7 ] We were not programing the correct bit while clearing the perfcounter oob. So, clear it correctly using the new 'clear' bit. This fixes the below error: [drm:a6xx_gmu_set_oob] *ERROR* Timeout waiting for GMU OOB set PERFCOUNTER: 0x80000000 Signed-off-by: Akhil P Oommen Link: https://lore.kernel.org/r/1617630433-36506-1-git-send-email-akhilpo@codeaurora.org Signed-off-by: Rob Clark Signed-off-by: Sasha Levin --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c index 91cf46f84025..3d55e153fa9c 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -246,7 +246,7 @@ static int a6xx_gmu_hfi_start(struct a6xx_gmu *gmu) } struct a6xx_gmu_oob_bits { - int set, ack, set_new, ack_new; + int set, ack, set_new, ack_new, clear, clear_new; const char *name; }; @@ -260,6 +260,8 @@ static const struct a6xx_gmu_oob_bits a6xx_gmu_oob_bits[] = { .ack = 24, .set_new = 30, .ack_new = 31, + .clear = 24, + .clear_new = 31, }, [GMU_OOB_PERFCOUNTER_SET] = { @@ -268,18 +270,22 @@ static const struct a6xx_gmu_oob_bits a6xx_gmu_oob_bits[] = { .ack = 25, .set_new = 28, .ack_new = 30, + .clear = 25, + .clear_new = 29, }, [GMU_OOB_BOOT_SLUMBER] = { .name = "BOOT_SLUMBER", .set = 22, .ack = 30, + .clear = 30, }, [GMU_OOB_DCVS_SET] = { .name = "GPU_DCVS", .set = 23, .ack = 31, + .clear = 31, }, }; @@ -335,9 +341,9 @@ void a6xx_gmu_clear_oob(struct a6xx_gmu *gmu, enum a6xx_gmu_oob_state state) return; if (gmu->legacy) - bit = a6xx_gmu_oob_bits[state].ack; + bit = a6xx_gmu_oob_bits[state].clear; else - bit = a6xx_gmu_oob_bits[state].ack_new; + bit = a6xx_gmu_oob_bits[state].clear_new; gmu_write(gmu, REG_A6XX_GMU_HOST2GMU_INTR_SET, 1 << bit); } -- 2.30.2