From nobody Mon Feb 24 19:09:09 2025 Received: from sender4-pp-f112.zoho.com (sender4-pp-f112.zoho.com [136.143.188.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CFA21EF090; Thu, 30 Jan 2025 17:29:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.112 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738258190; cv=pass; b=TPQVWVOXKINgxEm1fsKKVyKzgTdu5Mwax4a31+0YEeuxQUbXrvoWDg1KTZV+mj1yLRHy7EjS4sfYPv50gmUSRdIv16U2FFtJRP9bobjdNrcg8kct9WYmFE4vA3uYP0GIqA0Wk86EwwxSwK5G6XON7deQj6d355ETY/gmtU9ay1Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738258190; c=relaxed/simple; bh=WPgPlRMCC9RXZMMybf1yjyC0MgVeFUjNWsuEItR5Cfw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Sn+3Oce4Xuae7LKM3T/j4paUYsod+ceTWdiFQkEQSoZ0ksKlaDAfy7ow0QbWXW24I6RI/29V1pMB1ib6X+6AKibMXvMdI+QAt1x7nt9hVL+TZ8VAFKoP7UfuhVhlDrFuui5Q3BwrFnlT1hmFL8ZyZj61KOEr2FUUvxMhI47V25k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (1024-bit key) header.d=collabora.com header.i=adrian.larumbe@collabora.com header.b=bD97INN/; arc=pass smtp.client-ip=136.143.188.112 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=collabora.com header.i=adrian.larumbe@collabora.com header.b="bD97INN/" ARC-Seal: i=1; a=rsa-sha256; t=1738258161; cv=none; d=zohomail.com; s=zohoarc; b=bbIcmJM9h6rRy30JmGFykvnn5plTBbtjEWYUPrcfJ9FPqjsZlwW/+3y3Fr37Vk4heCYR5o3C4wNZieKj7LewLd6+k/ovX5evqqPfztXdLpW7MtgouO5AMa/763EsAGhlXYILm5wJKMLEjRVOABs+lFOgKWSU5wCZw6Y9wLHOFTI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1738258161; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=WecdrsCmMp75CaXmESnd3WuWIXHueLuOQCyE/Ugf6pY=; b=jgl5RDD1LwIY67AsL6NH8DZqkWaFK36d8FaxF3LF5Fui3p3aNorLc+31vWs+AFEDslyw6iuz4Xg/MIoI0r30M0nQ7UUj/YtBT1xkER/ZKTBe011xwtkAybC8ZThywijDmVXfOtC1q20/++IY8CzMOmUWjzvxGfH0OFI/xbrVPvU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=collabora.com; spf=pass smtp.mailfrom=adrian.larumbe@collabora.com; dmarc=pass header.from=<adrian.larumbe@collabora.com> DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1738258161; s=zohomail; d=collabora.com; i=adrian.larumbe@collabora.com; h=From:From:To:To:Cc:Cc:Subject:Subject:Date:Date:Message-ID:In-Reply-To:References:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=WecdrsCmMp75CaXmESnd3WuWIXHueLuOQCyE/Ugf6pY=; b=bD97INN//H4VD98XgEEpBiVJuTzzvCajPh2sRKUVX8T7h87U4SZI9rMnq9z/tQS8 u4Wj8H+kthK/o2va1MVJKzLVtd0L9DHk/gB2NJQCWR+DS8Y/ogJejTzJurZVOxhu9PM JqHyx3Fo9vOtI/9r32S4+6QqzXoS+WEbPiwR4jdY= Received: by mx.zohomail.com with SMTPS id 1738258158032668.901835177617; Thu, 30 Jan 2025 09:29:18 -0800 (PST) From: =?UTF-8?q?Adri=C3=A1n=20Larumbe?= <adrian.larumbe@collabora.com> To: David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, Jonathan Corbet <corbet@lwn.net>, Boris Brezillon <boris.brezillon@collabora.com>, Steven Price <steven.price@arm.com>, Liviu Dudau <liviu.dudau@arm.com> Cc: kernel@collabora.com, Tvrtko Ursulin <tursulin@ursulin.net>, Tvrtko Ursulin <tvrtko.ursulin@igalia.com>, dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Adri=C3=A1n=20Larumbe?= <adrian.larumbe@collabora.com> Subject: [PATCH v10 2/5] drm/file: Add fdinfo helper for printing regions with prefix Date: Thu, 30 Jan 2025 17:28:10 +0000 Message-ID: <20250130172851.941597-3-adrian.larumbe@collabora.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250130172851.941597-1-adrian.larumbe@collabora.com> References: <20250130172851.941597-1-adrian.larumbe@collabora.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is motivated by the desire of some drivers (eg. Panthor) to print the size of internal memory regions with a prefix that reflects the driver name, as suggested in the previous documentation commit. That means adding a new argument to print_size and making it available for DRM users. Cc: Tvrtko Ursulin <tursulin@ursulin.net> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Signed-off-by: Adri=C3=A1n Larumbe <adrian.larumbe@collabora.com> --- drivers/gpu/drm/drm_file.c | 27 +++++++++++++++++++-------- include/drm/drm_file.h | 5 +++++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c index cb5f22f5bbb6..f584abcd13cb 100644 --- a/drivers/gpu/drm/drm_file.c +++ b/drivers/gpu/drm/drm_file.c @@ -830,8 +830,12 @@ void drm_send_event(struct drm_device *dev, struct drm= _pending_event *e) } EXPORT_SYMBOL(drm_send_event); =20 -static void print_size(struct drm_printer *p, const char *stat, - const char *region, u64 sz) + +void drm_fdinfo_print_size(struct drm_printer *p, + const char *prefix, + const char *stat, + const char *region, + u64 sz) { const char *units[] =3D {"", " KiB", " MiB"}; unsigned u; @@ -842,8 +846,10 @@ static void print_size(struct drm_printer *p, const ch= ar *stat, sz =3D div_u64(sz, SZ_1K); } =20 - drm_printf(p, "drm-%s-%s:\t%llu%s\n", stat, region, sz, units[u]); + drm_printf(p, "%s-%s-%s:\t%llu%s\n", + prefix, stat, region, sz, units[u]); } +EXPORT_SYMBOL(drm_fdinfo_print_size); =20 /** * drm_print_memory_stats - A helper to print memory stats @@ -858,15 +864,20 @@ void drm_print_memory_stats(struct drm_printer *p, enum drm_gem_object_status supported_status, const char *region) { - print_size(p, "total", region, stats->private + stats->shared); - print_size(p, "shared", region, stats->shared); - print_size(p, "active", region, stats->active); + const char *prefix =3D "drm"; + + drm_fdinfo_print_size(p, prefix, "total", region, + stats->private + stats->shared); + drm_fdinfo_print_size(p, prefix, "shared", region, stats->shared); + drm_fdinfo_print_size(p, prefix, "active", region, stats->active); =20 if (supported_status & DRM_GEM_OBJECT_RESIDENT) - print_size(p, "resident", region, stats->resident); + drm_fdinfo_print_size(p, prefix, "resident", region, + stats->resident); =20 if (supported_status & DRM_GEM_OBJECT_PURGEABLE) - print_size(p, "purgeable", region, stats->purgeable); + drm_fdinfo_print_size(p, prefix, "purgeable", region, + stats->purgeable); } EXPORT_SYMBOL(drm_print_memory_stats); =20 diff --git a/include/drm/drm_file.h b/include/drm/drm_file.h index f0ef32e9fa5e..001ae553e8c3 100644 --- a/include/drm/drm_file.h +++ b/include/drm/drm_file.h @@ -494,6 +494,11 @@ struct drm_memory_stats { =20 enum drm_gem_object_status; =20 +void drm_fdinfo_print_size(struct drm_printer *p, + const char *prefix, + const char *stat, + const char *region, + u64 sz); void drm_print_memory_stats(struct drm_printer *p, const struct drm_memory_stats *stats, enum drm_gem_object_status supported_status, --=20 2.47.1