Received: by 2002:a05:6358:f14:b0:e5:3b68:ec04 with SMTP id b20csp1021862rwj; Fri, 23 Dec 2022 11:16:14 -0800 (PST) X-Google-Smtp-Source: AMrXdXvwOM4WCqtarLzsACbgqgKYtEBBYOYJCjJURwBywBorxDZa4+dn5R15DNMR2CTyigK6Ee54 X-Received: by 2002:a17:90a:f8b:b0:21e:a1d1:509f with SMTP id 11-20020a17090a0f8b00b0021ea1d1509fmr12301104pjz.5.1671822973808; Fri, 23 Dec 2022 11:16:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671822973; cv=none; d=google.com; s=arc-20160816; b=jH15azf+VmQIsot1bcjbOG8z6EEFRTPGaNX3eJS2twQDVGKeEHsq/PO/rxmAoR/VqS W4igdETYAdfN6T8Aj1cXLDs68jFQdWvoQCqw54D8sCidVRlNP5ylVYgyF8/oAP8KnE14 2nEV7GqV2bOJK4rbxhHkyKv6XbOvsGjyqXubnXXW12xHwFPLSTEHY5JspiWRRWLnn+I7 wdgtUrUjb96DTBNvX8sFh5PxsGOGu+TipheATNzLeLd7zbz8sifndPvQtHQa5OffdU5l eDb7W1KqFFqcaWT23zbeEa9eKDs7LGDm42Lwd+H7L/p+pmbcB5xScVtNM0VPC6zsN+Mm shjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=ghOtXneWXYWKmjhZuXYMtDsYM7QSz/lfbIgjF/ogmxo=; b=hP3ReKJ7N/L5BenBM1T1Wa2Bg05SsazX+RSUriK5hYNhxd7pTYa11b7+hZY38RLe65 xLsgoDqAY4BtS7e38n7wJ5gmwLTnYMyMPkBmXk4+x0ygWprblp9R8Z7dR/jC92JRvdSJ kZhVIMjKyypL1vUJOzQCw7evB5PibszX49sa01gdg+lj9fMiPhuJ0AxTJed36bZoBcPQ A+3fW0pKKcfkb6pVq8sFwUQ7OdYnypfG8hXE6nnnULjAWlH3pV1569nvFaLOUBgVySt6 vREVhH8WvIJm3ffc/goSGMuoFe99uTKSoWMEpoBRgSxRDxAoND6zH896UzwcqJquoNSz MRTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=nQo0Z1XZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c12-20020a634e0c000000b004785d1cf6c4si4281656pgb.380.2022.12.23.11.16.03; Fri, 23 Dec 2022 11:16:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@igalia.com header.s=20170329 header.b=nQo0Z1XZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231200AbiLWSOb (ORCPT + 66 others); Fri, 23 Dec 2022 13:14:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230390AbiLWSO2 (ORCPT ); Fri, 23 Dec 2022 13:14:28 -0500 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D180517067 for ; Fri, 23 Dec 2022 10:14:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=ghOtXneWXYWKmjhZuXYMtDsYM7QSz/lfbIgjF/ogmxo=; b=nQo0Z1XZQPSXzY28KMkZqUgT2t pA9GoqMjLAxT4ybTgXpyrcfHFyqAFhyyrUE1fPiVriWj7tN1kx+qVYrL5oYzj3fZ7yUxDasuc+O7X GwuPY++2FGXt4fFO8PdgzDKQEVNxaBDqVB2Q0x0RXbGwwHqsKInr+hyPO1OtMzHUGt6uyrWyMMII0 OThKhMD0fZwgprAHo9Xq9A2/erenGzbAry0MgQpbhBpsY+IPQBO0LtvUOM1UMF2a45m3E7A6aRdo/ Yapsmc9UDKGwbbu5koHLoI88ne1ISvntEZcbZIc/or8trEFHef7nJRTGRYshpWFTrCXe7hSecTPRq OHviIFkw==; Received: from [187.36.234.139] (helo=[192.168.1.195]) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_128_GCM:128) (Exim) id 1p8mYY-008mCi-G5; Fri, 23 Dec 2022 19:14:06 +0100 Message-ID: Date: Fri, 23 Dec 2022 15:12:50 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH v4 0/7] Introduce debugfs device-centered functions To: Melissa Wen , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Oded Gabbay , Jani Nikula , =?UTF-8?Q?Andr=c3=a9_Almeida?= , Emma Anholt , Rodrigo Siqueira , Wambui Karuga , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org References: <20221219120621.15086-1-mcanal@igalia.com> <20221219124947.vk5y3o2tdxhqu7s5@mail.igalia.com> Content-Language: en-US From: =?UTF-8?Q?Ma=c3=adra_Canal?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/22/22 14:20, Daniel Vetter wrote: > On Mon, Dec 19, 2022 at 11:49:47AM -0100, Melissa Wen wrote: >> On 12/19, Maíra Canal wrote: >>> This series introduces the initial structure to make DRM debugfs more >>> device-centered and it is the first step to drop the >>> drm_driver->debugfs_init hooks in the future [1]. >>> >>> Currently, DRM debugfs files are created using drm_debugfs_create_files() >>> on request. The first patch of this series makes it possible for DRM devices >>> for creating debugfs files during drm_dev_register(). For it, it introduces >>> two new functions that can be used by the drivers: drm_debugfs_add_files() >>> and drm_debugfs_add_file(). The requests are added to a list and are created >>> all at once during drm_dev_register(). Moreover, the first patch was based on >>> this RFC series [2]. >>> >>> The main difference between the RFC series and the current series is the >>> creation of a new fops structure to accommodate the new structs and, also, >>> the creation of a new drm_debugfs_open. Moreover, the new series uses >>> device-managed allocation, returns memory allocation errors, and converts >>> more drivers to the new structure. >>> >>> Moreover, since v3, the ability to create debugfs files at late_register hooks was >>> added. In previous versions, modeset components weren't able to create debugfs >>> files at late_register hooks as the registration of drm_minor happens before the >>> registration of the modeset abstractions. So, the third patch fixes this problem >>> by adding a drm_debugfs_late_register() function. Thanks to Melissa Wen for >>> catching this problem! >>> >>> Apart from the third patch, the series looks similiar from its last version. >>> >>> [1] https://cgit.freedesktop.org/drm/drm/tree/Documentation/gpu/todo.rst#n506 >>> [2] https://lore.kernel.org/dri-devel/20200513114130.28641-2-wambui.karugax@gmail.com/ >>> >>> Best Regards, >>> - Maíra Canal >>> >>> --- >>> >>> v1 -> v2: https://lore.kernel.org/dri-devel/20221122190314.185015-1-mcanal@igalia.com/T/#t >>> >>> - Fix compilation errors in the second patch (kernel test robot). >>> - Drop debugfs_init hook from vkms (Maíra Canal). >>> - Remove return values and error handling to debugfs related >>> functions (Jani Nikula). >>> - Remove entry from list after the file is created, so that drm_debugfs_init >>> can be called more than once (Maíra Canal). >>> >>> v2 -> v3: https://lore.kernel.org/dri-devel/20221123220725.1272155-1-mcanal@igalia.com/ >>> >>> - Rebase on top of drm-misc-next >>> >>> v3 -> v4: https://lore.kernel.org/dri-devel/20221207132325.140393-1-mcanal@igalia.com/ >>> >>> - Add Maxime's Reviewed-by tags >>> - Add the ability to create debugfs files at late_register hooks (Melissa Wen). >> >> Hi Maíra, >> >> Thanks for addressing all comments. >> >> Maybe Danvet has some inputs for the late_register approach. > > I think as a stop-gap (really need to get this stuff landed so people can > start to use it) this is ok, but long term I think the right fix is to > roll out the same pre-register infrastructure for connector and crtc too. > That way drivers don't need to split their setup code into init and > register anymore, which is the point of this entire rework. > > If you want, you can adjust the todo accordingly, but we do already have > the paragraph about connector/crtc. > > But we can do that later on, because this is definitely a great way > forward. Thanks a lot for pushing this forward! > >> Anyway, LGTM and the entire series is: >> >> Reviewed-by: Melissa Wen > > On the series: Acked-by: Daniel Vetter Applied this series to drm-misc-next. Best Regards, - Maíra Canal >> >>> >>> --- >>> >>> Maíra Canal (7): >>> drm/debugfs: create device-centered debugfs functions >>> drm: use new debugfs device-centered functions on DRM core files >>> drm/debugfs: create debugfs late register functions >>> drm/vc4: use new debugfs device-centered functions >>> drm/v3d: use new debugfs device-centered functions >>> drm/vkms: use new debugfs device-centered functions >>> drm/todo: update the debugfs clean up task >>> >>> Documentation/gpu/todo.rst | 9 +-- >>> drivers/gpu/drm/drm_atomic.c | 11 ++- >>> drivers/gpu/drm/drm_client.c | 11 ++- >>> drivers/gpu/drm/drm_debugfs.c | 102 +++++++++++++++++++++++--- >>> drivers/gpu/drm/drm_drv.c | 3 + >>> drivers/gpu/drm/drm_framebuffer.c | 11 ++- >>> drivers/gpu/drm/drm_gem_vram_helper.c | 11 ++- >>> drivers/gpu/drm/drm_internal.h | 5 ++ >>> drivers/gpu/drm/drm_mode_config.c | 2 + >>> drivers/gpu/drm/v3d/v3d_debugfs.c | 22 +++--- >>> drivers/gpu/drm/vc4/vc4_bo.c | 10 +-- >>> drivers/gpu/drm/vc4/vc4_crtc.c | 7 +- >>> drivers/gpu/drm/vc4/vc4_debugfs.c | 36 ++------- >>> drivers/gpu/drm/vc4/vc4_dpi.c | 5 +- >>> drivers/gpu/drm/vc4/vc4_drv.c | 1 - >>> drivers/gpu/drm/vc4/vc4_drv.h | 32 ++------ >>> drivers/gpu/drm/vc4/vc4_dsi.c | 6 +- >>> drivers/gpu/drm/vc4/vc4_hdmi.c | 12 +-- >>> drivers/gpu/drm/vc4/vc4_hvs.c | 24 ++---- >>> drivers/gpu/drm/vc4/vc4_v3d.c | 14 +--- >>> drivers/gpu/drm/vc4/vc4_vec.c | 6 +- >>> drivers/gpu/drm/vkms/vkms_drv.c | 17 ++--- >>> include/drm/drm_debugfs.h | 41 +++++++++++ >>> include/drm/drm_device.h | 15 ++++ >>> 24 files changed, 233 insertions(+), 180 deletions(-) >>> >>> -- >>> 2.38.1 >>> > > >