On Tue, Jul 21, 2026 at 03:01:12PM +0200, Nicolas Frattaroli wrote: > On Tuesday, 21 July 2026 14:41:42 Central European Summer Time Maxime Ripard > wrote: > > On Tue, Jul 21, 2026 at 10:58:58AM +0200, Nicolas Frattaroli wrote: > > > SCDC provides status information on the current display link. At the > > > very least, it may be useful to expose this info through debugfs. > > > > > > Add a debugfs entry for it under the connector, which displays a few > > > more details parsed out of the SCDC registers. A new > > > drm_scdc_debugfs_init function can be called by the connector > > > implementation to initialise the debugfs file. > > > > > > Signed-off-by: Nicolas Frattaroli <[email protected]> > > > --- > > > drivers/gpu/drm/display/drm_scdc_helper.c | 184 > > > ++++++++++++++++++++++++++++++ > > > include/drm/display/drm_scdc_helper.h | 32 ++++++ > > > 2 files changed, 216 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/display/drm_scdc_helper.c > > > b/drivers/gpu/drm/display/drm_scdc_helper.c > > > +/** > > > + * drm_scdc_debugfs_init - Initialize scdc files in connector debugfs > > > + * @connector: pointer to &struct drm_connector to operate on > > > + * @root: debugfs &struct dentry for the debugfs root of @connector > > > + * > > > + * Creates SCDC-related debugfs files for @connector. Must be called > > > after > > > + * @root is already created. > > > + */ > > > +void drm_scdc_debugfs_init(struct drm_connector *connector, struct > > > dentry *root) > > > +{ > > > + struct scdc_debugfs_priv *priv; > > > + > > > + if (!root || !connector) > > > + return; > > > + > > > + priv = drmm_kzalloc(connector->dev, sizeof(*priv), GFP_KERNEL); > > > + if (!priv) > > > + return; > > > + > > > + priv->connector = connector; > > > > You need to take a reference to the connector pointer here with > > drm_connector_get() > > > > With this fixed, > > Reviewed-by: Maxime Ripard <[email protected]> > > > > Maxime > > > > I think sashiko is onto something here with the memleak and the > entirety of the priv thing should go, which is fairly easy to do. > We don't reuse the state anymore anyways. > > I'll then just pass the connector as the priv, which will be valid > for the lifetime of the debugfs entry. This means there's no cleanup.
Connectors can be hotplugged, so they have a shorter (or equal) lifetime than what drmm_kzalloc provides. Maxime
signature.asc
Description: PGP signature
