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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 12F3BC352A1 for ; Wed, 7 Dec 2022 16:50:01 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E32CF10E3FA; Wed, 7 Dec 2022 16:49:59 +0000 (UTC) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F47E10E3FC for ; Wed, 7 Dec 2022 16:49:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670431796; x=1701967796; h=date:message-id:from:to:cc:subject:in-reply-to: references:mime-version; bh=ojShiHWFVt8ZaKNNEbkA8pv+hgq1kUY8sv+JyDoyrRc=; b=AvO4b4sY5riF0kpwbVlGSfUgzZav4zcMaBdPwNsmteLsm+XGn4XcuobX VQVnAXjiH2QVYWnu245l4o4jG6KeXFbhDXdW9RsK0qXsR+taiNYFVLkBi VQPdd9yeHz41BgOKvBq/k9l0NdHIex4n/IN6qhUcOkFs0BH8EDhUcuLfB djIwYKETXfZEj5Jj9XDEzQJAa66XLW1ohCg+CfBebH/8WS4V7hw0y1exi Nz2dP6KFrDIrp6HBm+YcKfvLirfVeFz7YRWdAosE9n5QUJMJM7uwh/F21 vidc695L6ZhAJNpBbHlgSS/BiPqDe3Ne8famoc+lVublZaQ5M/iJsHCgF A==; X-IronPort-AV: E=McAfee;i="6500,9779,10554"; a="343981689" X-IronPort-AV: E=Sophos;i="5.96,225,1665471600"; d="scan'208";a="343981689" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2022 08:49:52 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10554"; a="646673829" X-IronPort-AV: E=Sophos;i="5.96,225,1665471600"; d="scan'208";a="646673829" Received: from adixit-mobl.amr.corp.intel.com (HELO adixit-arch.intel.com) ([10.209.106.185]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Dec 2022 08:49:51 -0800 Date: Wed, 07 Dec 2022 08:43:26 -0800 Message-ID: <87tu27cggh.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Alan Previn In-Reply-To: <20221206092100.274195-4-alan.previn.teres.alexis@intel.com> References: <20221206092100.274195-1-alan.previn.teres.alexis@intel.com> <20221206092100.274195-4-alan.previn.teres.alexis@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/28.2 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Subject: Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Tue, 06 Dec 2022 01:20:58 -0800, Alan Previn wrote: > > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c > index ddfbe334689f..27756640338e 100644 > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c > @@ -105,6 +105,38 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_level_fops, > guc_log_level_get, guc_log_level_set, > "%lld\n"); > > +static int guc_log_relay_subbuf_size_get(void *data, u64 *val) > +{ > + struct intel_guc_log *log = data; > + > + if (!log->vma) > + return -ENODEV; For the record, from the other email thread, the issue here is whether this check is needed. Also, the issue is what happens if the relay is open and we unload the module, what happens? > + > + *val = (u64)intel_guc_log_size(log); Don't cast, shouldn't need it. > + > + return 0; > +} > + > +DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_size_fops, > + guc_log_relay_subbuf_size_get, NULL, > + "%lld\n"); > + > +static int guc_log_relay_subbuf_count_get(void *data, u64 *val) > +{ > + struct intel_guc_log *log = data; > + > + if (!log->vma) > + return -ENODEV; Same for this check too. > + > + *val = intel_guc_log_relay_subbuf_count(log); > + > + return 0; > +} > + > +DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops, > + guc_log_relay_subbuf_count_get, NULL, > + "%lld\n"); > + > static int guc_log_relay_open(struct inode *inode, struct file *file) > { > struct intel_guc_log *log = inode->i_private; > @@ -166,6 +198,8 @@ void intel_guc_log_debugfs_register(struct intel_guc_log *log, > { "guc_load_err_log_dump", &guc_load_err_log_dump_fops, NULL }, > { "guc_log_level", &guc_log_level_fops, NULL }, > { "guc_log_relay", &guc_log_relay_fops, NULL }, > + { "guc_log_relay_subbuf_size", &guc_log_relay_subbuf_size_fops, NULL }, > + { "guc_log_relay_subbuf_count", &guc_log_relay_subbuf_count_fops, NULL }, > }; > > if (!intel_guc_is_supported(log_to_guc(log))) Thanks. -- Ashutosh