Re: [PATCH v2] media: synopsys: hdmirx: replace use of system_unbound_wq with system_dfl_wq
From: Dmitry Osipenko
Date: Fri Feb 13 2026 - 06:45:25 EST
On 2/12/26 12:28, Marco Crivellari wrote:
> This patch continues the effort to refactor workqueue APIs, which has begun
> with the changes introducing new workqueues and a new alloc_workqueue flag:
>
> commit 128ea9f6ccfb ("workqueue: Add system_percpu_wq and system_dfl_wq")
> commit 930c2ea566af ("workqueue: Add new WQ_PERCPU flag")
>
> The point of the refactoring is to eventually alter the default behavior of
> workqueues to become unbound by default so that their workload placement is
> optimized by the scheduler.
>
> Before that to happen, workqueue users must be converted to the better named
> new workqueues with no intended behaviour changes:
>
> system_wq -> system_percpu_wq
> system_unbound_wq -> system_dfl_wq
>
> This way the old obsolete workqueues (system_wq, system_unbound_wq) can be
> removed in the future.
>
> Link: https://lore.kernel.org/all/20250221112003.1dSuoGyc@xxxxxxxxxxxxx/
> Suggested-by: Tejun Heo <tj@xxxxxxxxxx>
> Signed-off-by: Marco Crivellari <marco.crivellari@xxxxxxxx>
> ---
> Changes in v2:
> - improved commit log
> - rebased on v6.19
>
> drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> index c3007e09bc9f..9839a5143d54 100644
> --- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> +++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c
> @@ -1735,7 +1735,7 @@ static void process_signal_change(struct snps_hdmirx_dev *hdmirx_dev)
> FIFO_UNDERFLOW_INT_EN |
> HDMIRX_AXI_ERROR_INT_EN, 0);
> hdmirx_reset_dma(hdmirx_dev);
> - queue_delayed_work(system_unbound_wq,
> + queue_delayed_work(system_dfl_wq,
> &hdmirx_dev->delayed_work_res_change,
> msecs_to_jiffies(50));
> }
> @@ -2190,7 +2190,7 @@ static void hdmirx_delayed_work_res_change(struct work_struct *work)
>
> if (hdmirx_wait_signal_lock(hdmirx_dev)) {
> hdmirx_plugout(hdmirx_dev);
> - queue_delayed_work(system_unbound_wq,
> + queue_delayed_work(system_dfl_wq,
> &hdmirx_dev->delayed_work_hotplug,
> msecs_to_jiffies(200));
> } else {
> @@ -2209,7 +2209,7 @@ static irqreturn_t hdmirx_5v_det_irq_handler(int irq, void *dev_id)
> val = gpiod_get_value(hdmirx_dev->detect_5v_gpio);
> v4l2_dbg(3, debug, &hdmirx_dev->v4l2_dev, "%s: 5v:%d\n", __func__, val);
>
> - queue_delayed_work(system_unbound_wq,
> + queue_delayed_work(system_dfl_wq,
> &hdmirx_dev->delayed_work_hotplug,
> msecs_to_jiffies(10));
>
> @@ -2441,7 +2441,7 @@ static void hdmirx_enable_irq(struct device *dev)
> enable_irq(hdmirx_dev->dma_irq);
> enable_irq(hdmirx_dev->det_irq);
>
> - queue_delayed_work(system_unbound_wq,
> + queue_delayed_work(system_dfl_wq,
> &hdmirx_dev->delayed_work_hotplug,
> msecs_to_jiffies(110));
> }
Acked-by: Dmitry Osipenko <dmitry.osipenko@xxxxxxxxxxxxx>
--
Best regards,
Dmitry