From patchwork Wed Feb 6 14:49:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Kocialkowski X-Patchwork-Id: 10799451 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 785FD17FB for ; Wed, 6 Feb 2019 14:50:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6716F2850F for ; Wed, 6 Feb 2019 14:50:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5AE822C559; Wed, 6 Feb 2019 14:50:33 +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,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 AE5622850F for ; Wed, 6 Feb 2019 14:50:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 52C356E286; Wed, 6 Feb 2019 14:50:31 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from relay11.mail.gandi.net (relay11.mail.gandi.net [217.70.178.231]) by gabe.freedesktop.org (Postfix) with ESMTPS id 07F0E6E286 for ; Wed, 6 Feb 2019 14:50:28 +0000 (UTC) Received: from localhost.localdomain (aaubervilliers-681-1-80-177.w90-88.abo.wanadoo.fr [90.88.22.177]) (Authenticated sender: paul.kocialkowski@bootlin.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 7EC66100005; Wed, 6 Feb 2019 14:50:24 +0000 (UTC) From: Paul Kocialkowski To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 0/4] drm/vc4: Add a load tracker Date: Wed, 6 Feb 2019 15:49:02 +0100 Message-Id: <20190206144906.24304-1-paul.kocialkowski@bootlin.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 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: Maxime Ripard , Eben Upton , David Airlie , Paul Kocialkowski , Thomas Petazzoni Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP Hi, Here is a fourth iteration of the VC4 load tracking series, which was initially developed by Boris Brezillon and that I have now taken over. This new iteration takes in account comments from v3 and comes with a new approach for avoiding underrun reports when reconfiguring the pipeline. It is now based on detection instead of delaying the underrun interrupt unmasking. It can be tested with a dedicated IGT GPU Tools series: VC4 load tracker testing Changes since v3: * Returned IRQ_NONE for short line interrupt to avoid storm; * Made register definitions with per-channel offsets more direct; * cleaned all IRQ fields instead of writing back the status bit as advised by docs; * Reworked first commit's message; * Removed in-commit changelogs with inconsistent revision numbers; * Removed explicit wait for sync before unmasking underrun interrupt; * Checked that the display lists are synced before reporting underrun; Cheers, Paul Boris Brezillon (2): drm/vc4: Report HVS underrun errors drm/vc4: Add a load tracker to prevent HVS underflow errors Paul Kocialkowski (2): drm/vc4: Detect and ignore underruns caused by out-of-sync dlists drm/vc4: Add a debugfs entry to disable/enable the load tracker drivers/gpu/drm/vc4/vc4_debugfs.c | 10 +++ drivers/gpu/drm/vc4/vc4_drv.c | 1 + drivers/gpu/drm/vc4/vc4_drv.h | 32 ++++++++ drivers/gpu/drm/vc4/vc4_hvs.c | 123 ++++++++++++++++++++++++++++++ drivers/gpu/drm/vc4/vc4_kms.c | 116 +++++++++++++++++++++++++++- drivers/gpu/drm/vc4/vc4_plane.c | 57 ++++++++++++++ drivers/gpu/drm/vc4/vc4_regs.h | 51 ++++--------- 7 files changed, 354 insertions(+), 36 deletions(-)