Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3525598pxf; Mon, 5 Apr 2021 14:41:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzlE9iMExd9Pahgtiuqt299QM6I3ssITA23yei3b/X86m1crgex9sD9WO4RHsmU79dL5qiy X-Received: by 2002:a17:906:3385:: with SMTP id v5mr30623775eja.539.1617658904120; Mon, 05 Apr 2021 14:41:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617658904; cv=none; d=google.com; s=arc-20160816; b=bbatu0PcXTkgIFYzqFyk5z6t7SYGiP73wNTHl84BUhgEOwkpwioxFtoCBsG8SsqBwA qJhCeQYrbXI7ZFpF/pUZK9zYfef776eDGVwswT4LA1C6s35YGY38EyeLa6clD4Gnmdie pWmWHu6UCZcL/FS1DILY0dmklD5ai/v9CLw3Hihn+zQ2A1rdb/r5L+V6yQlLdECrd7I0 Wx0h+D5i20DRfz+XYHIKEgxbTGx76gi970QhqqKeQkeYYuhmWnpfWwwfXt6sFbFDVRLN Sni7J4XEEaFCYgTAAjQZvolnAgutmAYxu2O4Vqdpe39M/oE96AI3ZDdekmdZ4Is9VQnX 48uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from:dmarc-filter :sender:dkim-signature; bh=LkXe1ru5QkypL7XJEXPXj4uLzUbzidHGT/01ds7D8L0=; b=S1Z2XutSf/BcjN+f6nWwWpBgbkOcDE4LxP27kSuBbK51fEY3rs7XfqxT3O7s4nkfke jeA1n4MdJDKIjm6E9k8OkwabJ7SMzKpZusg6f/MHVt3Th93FmIyQ3zo0C7C+lHl9Ii27 KI5d7tXH3zr/GP0kincMK7yGODaDZx1DF321eqns6mJ8NEpBG2MvTdGjwbNapw3Ovatv yXH1NTUoB63C44nJ5bY3tf23yf6PuH2meyDhJR212v3foCL2e7VvlK4+b2F1o+AVmtKI vrVCiRYzgMvWiKiDdu1yHBgAwXFsCEoUBFnITNgWdQkaMR2abCiTu+vrSA1GeBJvTLfo 8wow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mg.codeaurora.org header.s=smtp header.b=vB2rm4HK; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z7si8330651eju.460.2021.04.05.14.41.20; Mon, 05 Apr 2021 14:41:44 -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=@mg.codeaurora.org header.s=smtp header.b=vB2rm4HK; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241247AbhDENrt (ORCPT + 99 others); Mon, 5 Apr 2021 09:47:49 -0400 Received: from so254-9.mailgun.net ([198.61.254.9]:31961 "EHLO so254-9.mailgun.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241242AbhDENrt (ORCPT ); Mon, 5 Apr 2021 09:47:49 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1617630463; h=Message-Id: Date: Subject: Cc: To: From: Sender; bh=LkXe1ru5QkypL7XJEXPXj4uLzUbzidHGT/01ds7D8L0=; b=vB2rm4HKpyVP3F7r/bQxQH1WtNZ/FtUFHTgaPVDeXQgvcpxLY0QthjOFuBvPSQIT+/bbSjGk 5oiS1/g/IxDOwoj/9rU+fqJtGrTolGHlKDQVqEmvekM+o0idSuJE+sVoj+eU5MBYi6KBJj+A yzoeH2MwiJ4NlUjNVxwSBxPfmAw= X-Mailgun-Sending-Ip: 198.61.254.9 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n04.prod.us-east-1.postgun.com with SMTP id 606b14ed8166b7eff7b1a7c4 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Mon, 05 Apr 2021 13:47:25 GMT Sender: akhilpo=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 5DB73C43463; Mon, 5 Apr 2021 13:47:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00,SPF_FAIL, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from hyd-lnxbld559.qualcomm.com (unknown [202.46.22.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: akhilpo) by smtp.codeaurora.org (Postfix) with ESMTPSA id E747AC433CA; Mon, 5 Apr 2021 13:47:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org E747AC433CA Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=fail smtp.mailfrom=akhilpo@codeaurora.org From: Akhil P Oommen To: freedreno@lists.freedesktop.org Cc: dri-devel@freedesktop.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, jordan@cosmicpenguin.net, eric@anholt.net, jonathan@marek.ca, robdclark@gmail.com, dianders@chromium.org Subject: [PATCH 1/2] drm/msm/a6xx: Fix perfcounter oob timeout Date: Mon, 5 Apr 2021 19:17:12 +0530 Message-Id: <1617630433-36506-1-git-send-email-akhilpo@codeaurora.org> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 863047b..6a86cd0 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.7.4