From: Matthew Brost <matthew.brost@intel.com>
To: Louis Chauvet <louis.chauvet@bootlin.com>
Cc: <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 1/1] drm: Simplify drmm_alloc_ordered_workqueue return
Date: Thu, 3 Jul 2025 08:19:14 -0700 [thread overview]
Message-ID: <aGafctOUPml/ejB0@lstrano-desk.jf.intel.com> (raw)
In-Reply-To: <f97bf2f5-4958-4b65-83ed-bd0eb8a4ca64@bootlin.com>
On Thu, Jul 03, 2025 at 10:12:41AM +0200, Louis Chauvet wrote:
>
>
> Le 03/07/2025 à 01:28, Matthew Brost a écrit :
> > Rather than returning ERR_PTR or NULL on failure, replace the NULL
> > return with ERR_PTR(-ENOMEM). This simplifies error handling at the
> > caller. While here, add kernel documentation for
> > drmm_alloc_ordered_workqueue.
> >
> > Cc: Louis Chauvet <louis.chauvet@bootlin.com>
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>
> Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com>
>
> As you need it in xe, I don't know the process to apply the patch. Should I
> apply it on drm-misc-next?
>
I think we can apply it to drm-misc-next then cherry pick into the
needed Xe branches. I'll confirm with my maintainers and apply this to
drm-misc-next.
Thanks,
Matt
> Thanks,
> Louis Chauvet
>
> > ---
> > drivers/gpu/drm/vkms/vkms_crtc.c | 2 --
> > include/drm/drm_managed.h | 15 +++++++++++++--
> > 2 files changed, 13 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
> > index 8c9898b9055d..e60573e0f3e9 100644
> > --- a/drivers/gpu/drm/vkms/vkms_crtc.c
> > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c
> > @@ -302,8 +302,6 @@ struct vkms_output *vkms_crtc_init(struct drm_device *dev, struct drm_plane *pri
> > vkms_out->composer_workq = drmm_alloc_ordered_workqueue(dev, "vkms_composer", 0);
> > if (IS_ERR(vkms_out->composer_workq))
> > return ERR_CAST(vkms_out->composer_workq);
> > - if (!vkms_out->composer_workq)
> > - return ERR_PTR(-ENOMEM);
> > return vkms_out;
> > }
> > diff --git a/include/drm/drm_managed.h b/include/drm/drm_managed.h
> > index 53017cc609ac..72bfac002c06 100644
> > --- a/include/drm/drm_managed.h
> > +++ b/include/drm/drm_managed.h
> > @@ -129,14 +129,25 @@ void __drmm_mutex_release(struct drm_device *dev, void *res);
> > void __drmm_workqueue_release(struct drm_device *device, void *wq);
> > +/**
> > + * drmm_alloc_ordered_workqueue - &drm_device managed alloc_ordered_workqueue()
> > + * @dev: DRM device
> > + * @fmt: printf format for the name of the workqueue
> > + * @flags: WQ_* flags (only WQ_FREEZABLE and WQ_MEM_RECLAIM are meaningful)
> > + * @args: args for @fmt
> > + *
> > + * This is a &drm_device-managed version of alloc_ordered_workqueue(). The
> > + * allocated workqueue is automatically destroyed on the final drm_dev_put().
> > + *
> > + * Returns: workqueue on success, negative ERR_PTR otherwise.
> > + */
> > #define drmm_alloc_ordered_workqueue(dev, fmt, flags, args...) \
> > ({ \
> > struct workqueue_struct *wq = alloc_ordered_workqueue(fmt, flags, ##args); \
> > wq ? ({ \
> > int ret = drmm_add_action_or_reset(dev, __drmm_workqueue_release, wq); \
> > ret ? ERR_PTR(ret) : wq; \
> > - }) : \
> > - wq; \
> > + }) : ERR_PTR(-ENOMEM); \
> > })
> > #endif
>
> --
> Louis Chauvet, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
prev parent reply other threads:[~2025-07-03 15:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-02 23:28 [PATCH 0/1] Simplify drmm_alloc_ordered_workqueue return Matthew Brost
2025-07-02 23:28 ` [PATCH 1/1] drm: " Matthew Brost
2025-07-03 8:12 ` Louis Chauvet
2025-07-03 15:19 ` Matthew Brost [this message]
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=aGafctOUPml/ejB0@lstrano-desk.jf.intel.com \
--to=matthew.brost@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=louis.chauvet@bootlin.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.