]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 May 2023 13:29:28 +0000 (15:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 15 May 2023 13:29:28 +0000 (15:29 +0200)
added patches:
drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch

queue-5.10/drm-exynos-move-to-use-request_irq-by-irqf_no_autoen-flag.patch [new file with mode: 0644]
queue-5.10/series

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 (file)
index 0000000..7f699e8
--- /dev/null
@@ -0,0 +1,67 @@
+From a4e5eed2c6a689ef2b6ad8d7ae86665c69039379 Mon Sep 17 00:00:00 2001
+From: Tian Tao <tiantao6@hisilicon.com>
+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 <tiantao6@hisilicon.com>
+
+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 <tiantao6@hisilicon.com>
+Signed-off-by: Inki Dae <inki.dae@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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");
index 7c70496714bc9b500a2af05cf8df0f737f48968c..ff829bd7ae4e92f6054d582267d7b5c222e41555 100644 (file)
@@ -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