From: Rodrigo Vivi <rodrigo.vivi@intel.com>
To: Aravind Iddamsetty <aravind.iddamsetty@linux.intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
<dri-devel@lists.freedesktop.org>,
"Alex Deucher" <alexander.deucher@amd.com>,
David Airlie <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Hawking Zhang <Hawking.Zhang@amd.com>,
Lijo Lazar <lijo.lazar@amd.com>, <Ruhl@freedesktop.org>,
Michael J <michael.j.ruhl@intel.com>,
Riana Tauro <riana.tauro@intel.com>,
Anshuman Gupta <anshuman.gupta@intel.com>
Subject: Re: [RFC v5 4/5] drm/netlink: Define multicast groups
Date: Fri, 15 Aug 2025 18:00:02 -0400 [thread overview]
Message-ID: <aJ-t4lgSp86uB81b@intel.com> (raw)
In-Reply-To: <20250730064956.1385855-5-aravind.iddamsetty@linux.intel.com>
On Wed, Jul 30, 2025 at 12:19:55PM +0530, Aravind Iddamsetty wrote:
> Netlink subsystem supports event notifications to userspace. we define
> two multicast groups for correctable and uncorrectable errors to which
> userspace can subscribe and be notified when any of those errors happen.
> The group names are local to the driver's genl netlink family.
>
> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
> Signed-off-by: Aravind Iddamsetty <aravind.iddamsetty@linux.intel.com>
> ---
> drivers/gpu/drm/drm_netlink.c | 7 +++++++
> include/drm/drm_netlink.h | 5 +++++
> include/uapi/drm/drm_netlink.h | 4 ++++
> 3 files changed, 16 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_netlink.c b/drivers/gpu/drm/drm_netlink.c
> index da4bfde32a22..a7c0a4401ca9 100644
> --- a/drivers/gpu/drm/drm_netlink.c
> +++ b/drivers/gpu/drm/drm_netlink.c
> @@ -15,6 +15,11 @@
>
> DEFINE_XARRAY(drm_dev_xarray);
>
> +static const struct genl_multicast_group drm_event_mcgrps[] = {
> + [DRM_GENL_MCAST_CORR_ERR] = { .name = DRM_GENL_MCAST_GROUP_NAME_CORR_ERR, },
> + [DRM_GENL_MCAST_UNCORR_ERR] = { .name = DRM_GENL_MCAST_GROUP_NAME_UNCORR_ERR, },
> +};
this was the thing I thought for that 'monitor' but well, that can be ignored
and we can indeed leave this per error component. but I also don't like it
to be forced. It should be a driver definition and driver adoption.
> +
> /**
> * drm_genl_reply - response to a request
> * @msg: socket buffer
> @@ -156,6 +161,8 @@ static void drm_genl_family_init(struct drm_device *dev)
> dev->drm_genl_family->ops = drm_genl_ops;
> dev->drm_genl_family->n_ops = ARRAY_SIZE(drm_genl_ops);
> dev->drm_genl_family->maxattr = DRM_ATTR_MAX;
> + dev->drm_genl_family->mcgrps = drm_event_mcgrps;
> + dev->drm_genl_family->n_mcgrps = ARRAY_SIZE(drm_event_mcgrps);
> dev->drm_genl_family->module = dev->dev->driver->owner;
> }
>
> diff --git a/include/drm/drm_netlink.h b/include/drm/drm_netlink.h
> index 4a746222337a..9e48147d0d36 100644
> --- a/include/drm/drm_netlink.h
> +++ b/include/drm/drm_netlink.h
> @@ -12,6 +12,11 @@ struct drm_device;
> struct genl_info;
> struct sk_buff;
>
> +enum mcgrps_events {
> + DRM_GENL_MCAST_CORR_ERR,
> + DRM_GENL_MCAST_UNCORR_ERR,
> +};
> +
> struct driver_genl_ops {
> int (*doit)(struct drm_device *dev,
> struct sk_buff *skb,
> diff --git a/include/uapi/drm/drm_netlink.h b/include/uapi/drm/drm_netlink.h
> index 58afb6e8d84a..c978efaab124 100644
> --- a/include/uapi/drm/drm_netlink.h
> +++ b/include/uapi/drm/drm_netlink.h
> @@ -26,6 +26,8 @@
> #define _DRM_NETLINK_H_
>
> #define DRM_GENL_VERSION 1
> +#define DRM_GENL_MCAST_GROUP_NAME_CORR_ERR "drm_corr_err"
> +#define DRM_GENL_MCAST_GROUP_NAME_UNCORR_ERR "drm_uncorr_err"
>
> #if defined(__cplusplus)
> extern "C" {
> @@ -50,6 +52,8 @@ enum drm_genl_error_cmds {
> DRM_RAS_CMD_READ_BLOCK,
> /** @DRM_RAS_CMD_READ_ALL: Command to get counters of all errors */
> DRM_RAS_CMD_READ_ALL,
> + /** @DRM_RAS_CMD_ERROR_EVENT: Command sent as part of multicast event */
> + DRM_RAS_CMD_ERROR_EVENT,
>
> __DRM_CMD_MAX,
> DRM_CMD_MAX = __DRM_CMD_MAX - 1,
> --
> 2.25.1
>
next prev parent reply other threads:[~2025-08-15 22:00 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-30 6:49 [RFC v5 0/5] Proposal to use netlink for RAS and Telemetry across drm subsystem Aravind Iddamsetty
2025-07-30 6:49 ` [RFC v5 1/5] drm/netlink: Add netlink infrastructure Aravind Iddamsetty
2025-08-15 17:07 ` Zack McKevitt
2025-08-21 9:45 ` Aravind Iddamsetty
2025-08-25 17:31 ` Zack McKevitt
2025-08-15 21:48 ` Rodrigo Vivi
2025-08-26 5:58 ` Aravind Iddamsetty
2025-07-30 6:49 ` [RFC v5 2/5] drm/xe/RAS: Register netlink capability Aravind Iddamsetty
2025-08-15 21:52 ` Rodrigo Vivi
2025-08-26 9:01 ` Aravind Iddamsetty
2025-07-30 6:49 ` [RFC v5 3/5] drm/xe/RAS: Expose the error counters Aravind Iddamsetty
2025-08-15 21:58 ` Rodrigo Vivi
2025-08-26 9:26 ` Aravind Iddamsetty
2025-07-30 6:49 ` [RFC v5 4/5] drm/netlink: Define multicast groups Aravind Iddamsetty
2025-08-15 22:00 ` Rodrigo Vivi [this message]
2025-07-30 6:49 ` [RFC v5 5/5] drm/xe/RAS: send multicast event on occurrence of an error Aravind Iddamsetty
2025-08-15 22:01 ` Rodrigo Vivi
2025-08-26 9:34 ` Aravind Iddamsetty
2025-07-30 21:00 ` [RFC v5 0/5] Proposal to use netlink for RAS and Telemetry across drm subsystem Lukas Wunner
2025-07-31 15:30 ` Aravind Iddamsetty
2025-08-13 20:21 ` Rodrigo Vivi
2025-08-15 21:24 ` Rodrigo Vivi
2025-08-26 4:42 ` Aravind Iddamsetty
2025-08-25 9:38 ` Aravind Iddamsetty
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aJ-t4lgSp86uB81b@intel.com \
--to=rodrigo.vivi@intel.com \
--cc=Hawking.Zhang@amd.com \
--cc=Ruhl@freedesktop.org \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=anshuman.gupta@intel.com \
--cc=aravind.iddamsetty@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=lijo.lazar@amd.com \
--cc=michael.j.ruhl@intel.com \
--cc=riana.tauro@intel.com \
--cc=simona@ffwll.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).