From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B41DFC43381 for ; Fri, 22 Mar 2019 10:43:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 76A0E2190A for ; Fri, 22 Mar 2019 10:43:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728037AbfCVKnd (ORCPT ); Fri, 22 Mar 2019 06:43:33 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:40255 "EHLO relay5-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727683AbfCVKnc (ORCPT ); Fri, 22 Mar 2019 06:43:32 -0400 X-Originating-IP: 90.88.33.153 Received: from aptenodytes (aaubervilliers-681-1-92-153.w90-88.abo.wanadoo.fr [90.88.33.153]) (Authenticated sender: paul.kocialkowski@bootlin.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 1CD3E1C001A; Fri, 22 Mar 2019 10:43:30 +0000 (UTC) Message-ID: Subject: Re: [PATCH 7/7] drm/vc4: Make sure that the v3d ident debugfs has vc4's power on. From: Paul Kocialkowski To: Eric Anholt , dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Maxime Ripard Date: Fri, 22 Mar 2019 11:43:30 +0100 In-Reply-To: <20190220210343.28157-7-eric@anholt.net> References: <20190220210343.28157-1-eric@anholt.net> <20190220210343.28157-7-eric@anholt.net> Organization: Bootlin Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.32.0 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 Hi, Le mercredi 20 février 2019 à 13:03 -0800, Eric Anholt a écrit : > Otherwise, you sometimes decode the ident fields based on 0xdeadbeef > register reads. Reviewed-by: Paul Kocialkowski Cheers, Paul > Signed-off-by: Eric Anholt > --- > drivers/gpu/drm/vc4/vc4_v3d.c | 29 +++++++++++++++++------------ > 1 file changed, 17 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c > index 7820b8eaaa98..36e6c7086ecf 100644 > --- a/drivers/gpu/drm/vc4/vc4_v3d.c > +++ b/drivers/gpu/drm/vc4/vc4_v3d.c > @@ -108,18 +108,23 @@ static int vc4_v3d_debugfs_ident(struct seq_file *m, void *unused) > struct drm_info_node *node = (struct drm_info_node *)m->private; > struct drm_device *dev = node->minor->dev; > struct vc4_dev *vc4 = to_vc4_dev(dev); > - uint32_t ident1 = V3D_READ(V3D_IDENT1); > - uint32_t nslc = VC4_GET_FIELD(ident1, V3D_IDENT1_NSLC); > - uint32_t tups = VC4_GET_FIELD(ident1, V3D_IDENT1_TUPS); > - uint32_t qups = VC4_GET_FIELD(ident1, V3D_IDENT1_QUPS); > - > - seq_printf(m, "Revision: %d\n", > - VC4_GET_FIELD(ident1, V3D_IDENT1_REV)); > - seq_printf(m, "Slices: %d\n", nslc); > - seq_printf(m, "TMUs: %d\n", nslc * tups); > - seq_printf(m, "QPUs: %d\n", nslc * qups); > - seq_printf(m, "Semaphores: %d\n", > - VC4_GET_FIELD(ident1, V3D_IDENT1_NSEM)); > + int ret = vc4_v3d_pm_get(vc4); > + > + if (ret == 0) { > + uint32_t ident1 = V3D_READ(V3D_IDENT1); > + uint32_t nslc = VC4_GET_FIELD(ident1, V3D_IDENT1_NSLC); > + uint32_t tups = VC4_GET_FIELD(ident1, V3D_IDENT1_TUPS); > + uint32_t qups = VC4_GET_FIELD(ident1, V3D_IDENT1_QUPS); > + > + seq_printf(m, "Revision: %d\n", > + VC4_GET_FIELD(ident1, V3D_IDENT1_REV)); > + seq_printf(m, "Slices: %d\n", nslc); > + seq_printf(m, "TMUs: %d\n", nslc * tups); > + seq_printf(m, "QPUs: %d\n", nslc * qups); > + seq_printf(m, "Semaphores: %d\n", > + VC4_GET_FIELD(ident1, V3D_IDENT1_NSEM)); > + vc4_v3d_pm_put(vc4); > + } > > return 0; > } -- Paul Kocialkowski, Bootlin Embedded Linux and kernel engineering https://bootlin.com