From patchwork Sun May 5 17:37:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 10930641 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 86A0215A6 for ; Mon, 6 May 2019 07:28:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7018827E01 for ; Mon, 6 May 2019 07:28:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 646AF28632; Mon, 6 May 2019 07:28:38 +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=-5.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED 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 16CB727E01 for ; Mon, 6 May 2019 07:28:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A61B589362; Mon, 6 May 2019 07:28:05 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B6A2892CB for ; Sun, 5 May 2019 17:39:50 +0000 (UTC) Received: by mail-lj1-x242.google.com with SMTP id y10so2644141lji.9 for ; Sun, 05 May 2019 10:39:50 -0700 (PDT) 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=d3SE5g/jmgV5mNASQhzXKhHYJPe76OILIthVB+qsohQ=; b=ifB0ubvu/S7k4nnSQULJfqsE38TUejxR3zXN669CscgwKDXkZcyFeth8YwpXaTgq+E QS2lDT5YZiUponqlemzvzkDg3JHVmfIOaZbhh8EMEAUKtja4wLvElQUamn+PfJemOSo4 JHUVDiaw5f0O+/NaIz+Ka0n94U3STVFtED99T2fnRJRiwyNWwuI+yz4UVTs4BZ8s+Yq5 gDJI7iuyhleFGbO0vanPrnHK0F0GBK/VFGD6wSCSskrR07emW2XFOl38Rgpg39tBq3+i 9+nRk1fat4Ce6Y+ODUx4Ag6obL/9n9PcgTSCGeZnilfytMncxie6dn68rOhAU7zulfil SIjA== X-Gm-Message-State: APjAAAW0jyaLY0mu4hbddaAjMrgQK0SfQ2DDrNrmQxy67ecEwD+DmI3o kef5CbW3NmRVR6wpVlkcW1A= X-Google-Smtp-Source: APXvYqwhSikFAq0dClUlxDG5krmxsB5eIzTUe9DMnqQJTN/73P5v5zF61OIjS8NyBZbhVlbGpRSHhw== X-Received: by 2002:a2e:1508:: with SMTP id s8mr10931682ljd.87.1557077989134; Sun, 05 May 2019 10:39:49 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id z17sm1626938lja.26.2019.05.05.10.39.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 May 2019 10:39:48 -0700 (PDT) From: Dmitry Osipenko To: Thierry Reding Subject: [PATCH v1 2/3] drm/tegra: dc: Extend debug stats with total number of events Date: Sun, 5 May 2019 20:37:06 +0300 Message-Id: <20190505173707.29282-3-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190505173707.29282-1-digetx@gmail.com> References: <20190505173707.29282-1-digetx@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 06 May 2019 07:27:59 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=d3SE5g/jmgV5mNASQhzXKhHYJPe76OILIthVB+qsohQ=; b=i48kTU5OFPZStOA2TWKl13rQC4YdClnfX7TBrdw23LNxhtlh5lQ4RbXm9d4MiWQeXb /utUJpAGFUvzbNDne6BaaGxk49WL1TfDmKvruhQeoJ7EMLOK1kdH2MNTTJ7dBdT5Jec7 UWe4jyCZLUkPYXochN2wFbsoVnUItB+0l/DrqMUg2xdjRT1rpko3lzGY5NeGVnXGNyU+ yfXOa8uI2drOPSgaLNDh2T1W+jRWsVUFtbkxvfuIXpDs3GVOF7vJyTLlItrr0izM81V1 xoXlpj25GwOXqSe9arRSGtzLQg3GkZyA2rFfZ+CO+B4zBbvFhm/iwf8Yh5GT7dWU2MMA YGlg== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP I found useful to know the total number of underflow events while was working on adding support for memory bandwidth management. Currently the debug stats are getting reset after disabling CRTC, let's account the overall number of events that doesn't get reset. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/dc.c | 10 ++++++++++ drivers/gpu/drm/tegra/dc.h | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index cf622a07e9b6..41cb67db6dbc 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -1482,6 +1482,11 @@ static int tegra_dc_show_stats(struct seq_file *s, void *data) seq_printf(s, "underflow: %lu\n", dc->stats.underflow); seq_printf(s, "overflow: %lu\n", dc->stats.overflow); + seq_printf(s, "frames total: %lu\n", dc->stats.frames_total); + seq_printf(s, "vblank total: %lu\n", dc->stats.vblank_total); + seq_printf(s, "underflow total: %lu\n", dc->stats.underflow_total); + seq_printf(s, "overflow total: %lu\n", dc->stats.overflow_total); + return 0; } @@ -1945,6 +1950,7 @@ static irqreturn_t tegra_dc_irq(int irq, void *data) /* dev_dbg(dc->dev, "%s(): frame end\n", __func__); */ + dc->stats.frames_total++; dc->stats.frames++; } @@ -1953,6 +1959,7 @@ static irqreturn_t tegra_dc_irq(int irq, void *data) dev_dbg(dc->dev, "%s(): vertical blank\n", __func__); */ drm_crtc_handle_vblank(&dc->base); + dc->stats.vblank_total++; dc->stats.vblank++; } @@ -1960,6 +1967,7 @@ static irqreturn_t tegra_dc_irq(int irq, void *data) /* dev_dbg(dc->dev, "%s(): underflow\n", __func__); */ + dc->stats.underflow_total++; dc->stats.underflow++; } @@ -1967,11 +1975,13 @@ static irqreturn_t tegra_dc_irq(int irq, void *data) /* dev_dbg(dc->dev, "%s(): overflow\n", __func__); */ + dc->stats.overflow_total++; dc->stats.overflow++; } if (status & HEAD_UF_INT) { dev_dbg_ratelimited(dc->dev, "%s(): head underflow\n", __func__); + dc->stats.underflow_total++; dc->stats.underflow++; } diff --git a/drivers/gpu/drm/tegra/dc.h b/drivers/gpu/drm/tegra/dc.h index 1256dfb6b2f5..ab25157c948e 100644 --- a/drivers/gpu/drm/tegra/dc.h +++ b/drivers/gpu/drm/tegra/dc.h @@ -41,6 +41,11 @@ struct tegra_dc_stats { unsigned long vblank; unsigned long underflow; unsigned long overflow; + + unsigned long frames_total; + unsigned long vblank_total; + unsigned long underflow_total; + unsigned long overflow_total; }; struct tegra_windowgroup_soc {