From: Greg Kroah-Hartman Date: Mon, 15 May 2023 13:29:28 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v4.14.315~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a8a96bad6ac20cdb02fd66033bd136740be515f3;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch --- diff --git a/queue-5.10/drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch b/queue-5.10/drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch new file mode 100644 index 00000000000..7f699e81bbd --- /dev/null +++ b/queue-5.10/drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch @@ -0,0 +1,67 @@ +From a4e5eed2c6a689ef2b6ad8d7ae86665c69039379 Mon Sep 17 00:00:00 2001 +From: Tian Tao +Date: Mon, 15 Mar 2021 19:49:37 +0800 +Subject: drm/exynos: move to use request_irq by IRQF_NO_AUTOEN flag + +From: Tian Tao + +commit a4e5eed2c6a689ef2b6ad8d7ae86665c69039379 upstream. + +After this patch cbe16f35bee68 genirq: Add IRQF_NO_AUTOEN for +request_irq/nmi() is merged. request_irq() after setting +IRQ_NOAUTOEN as below + +irq_set_status_flags(irq, IRQ_NOAUTOEN); +request_irq(dev, irq...); +can be replaced by request_irq() with IRQF_NO_AUTOEN flag. + +v2: +Fix the problem of using wrong flags + +Signed-off-by: Tian Tao +Signed-off-by: Inki Dae +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/exynos/exynos5433_drm_decon.c | 4 ++-- + drivers/gpu/drm/exynos/exynos_drm_dsi.c | 7 +++---- + 2 files changed, 5 insertions(+), 6 deletions(-) + +--- a/drivers/gpu/drm/exynos/exynos5433_drm_decon.c ++++ b/drivers/gpu/drm/exynos/exynos5433_drm_decon.c +@@ -775,8 +775,8 @@ static int decon_conf_irq(struct decon_c + return irq; + } + } +- irq_set_status_flags(irq, IRQ_NOAUTOEN); +- ret = devm_request_irq(ctx->dev, irq, handler, flags, "drm_decon", ctx); ++ ret = devm_request_irq(ctx->dev, irq, handler, ++ flags | IRQF_NO_AUTOEN, "drm_decon", ctx); + if (ret < 0) { + dev_err(ctx->dev, "IRQ %s request failed\n", name); + return ret; +--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c ++++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c +@@ -1353,10 +1353,9 @@ static int exynos_dsi_register_te_irq(st + } + + te_gpio_irq = gpio_to_irq(dsi->te_gpio); +- irq_set_status_flags(te_gpio_irq, IRQ_NOAUTOEN); + + ret = request_threaded_irq(te_gpio_irq, exynos_dsi_te_irq_handler, NULL, +- IRQF_TRIGGER_RISING, "TE", dsi); ++ IRQF_TRIGGER_RISING | IRQF_NO_AUTOEN, "TE", dsi); + if (ret) { + dev_err(dsi->dev, "request interrupt failed with %d\n", ret); + gpio_free(dsi->te_gpio); +@@ -1802,9 +1801,9 @@ static int exynos_dsi_probe(struct platf + if (dsi->irq < 0) + return dsi->irq; + +- irq_set_status_flags(dsi->irq, IRQ_NOAUTOEN); + ret = devm_request_threaded_irq(dev, dsi->irq, NULL, +- exynos_dsi_irq, IRQF_ONESHOT, ++ exynos_dsi_irq, ++ IRQF_ONESHOT | IRQF_NO_AUTOEN, + dev_name(dev), dsi); + if (ret) { + dev_err(dev, "failed to request dsi irq\n"); diff --git a/queue-5.10/series b/queue-5.10/series index 7c70496714b..ff829bd7ae4 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -376,3 +376,4 @@ kvm-x86-revalidate-steal-time-cache-if-msr-value-changes.patch kvm-x86-do-not-report-preemption-if-the-steal-time-cache-is-stale.patch kvm-x86-move-guest_pv_has-out-of-user_access-section.patch printk-declare-printk_deferred_-enter-safe-in-include-linux-printk.h.patch +drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch