From: Bartosz Golaszewski <brgl@bgdev.pl> To: Sekhar Nori <nsekhar@ti.com>, Kevin Hilman <khilman@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>, Marc Zyngier <marc.zyngier@arm.com> Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski <bgolaszewski@baylibre.com> Subject: [PATCH 16/35] ARM: davinci: aintc: move timer-specific irq_set_handler() out of irq.c Date: Thu, 31 Jan 2019 14:39:09 +0100 [thread overview] Message-ID: <20190131133928.17985-17-brgl@bgdev.pl> (raw) In-Reply-To: <20190131133928.17985-1-brgl@bgdev.pl> From: Bartosz Golaszewski <bgolaszewski@baylibre.com> I've been unable to figure out exactly why, but it seems that the IRQ_TINT1_TINT34 interrupt for timer 1 needs to be handled as a level irq, not edge like all others. This timer is used by the dsp on dm64* boards only. Let's move the handler setup out of the aintc driver where it's lived since the beginning and into the dm64* SoC-specific files where it belongs. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> --- arch/arm/mach-davinci/dm644x.c | 4 ++++ arch/arm/mach-davinci/dm646x.c | 4 ++++ arch/arm/mach-davinci/irq.c | 1 - 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 24ad7a09aa15..beb97101c881 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -14,6 +14,7 @@ #include <linux/clkdev.h> #include <linux/dmaengine.h> #include <linux/init.h> +#include <linux/irq.h> #include <linux/irqchip/irq-davinci-aintc.h> #include <linux/platform_data/edma.h> #include <linux/platform_data/gpio-davinci.h> @@ -616,6 +617,9 @@ void __init dm644x_init_time(void) void __iomem *pll1, *psc; struct clk *clk; + /* Needed by the dsp. */ + irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); + clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DM644X_REF_FREQ); pll1 = ioremap(DAVINCI_PLL1_BASE, SZ_1K); diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index ab02cc93813a..70505c92d5fb 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c @@ -15,6 +15,7 @@ #include <linux/dma-mapping.h> #include <linux/dmaengine.h> #include <linux/init.h> +#include <linux/irq.h> #include <linux/irqchip/irq-davinci-aintc.h> #include <linux/platform_data/edma.h> #include <linux/platform_data/gpio-davinci.h> @@ -599,6 +600,9 @@ void __init dm646x_init_time(unsigned long ref_clk_rate, void __iomem *pll1, *psc; struct clk *clk; + /* Needed by the dsp. */ + irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); + clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, ref_clk_rate); clk_register_fixed_rate(NULL, "aux_clkin", NULL, 0, aux_clkin_rate); diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c index d67f443a471d..2e114ad83adc 100644 --- a/arch/arm/mach-davinci/irq.c +++ b/arch/arm/mach-davinci/irq.c @@ -142,6 +142,5 @@ void __init davinci_aintc_init(const struct davinci_aintc_config *config) davinci_aintc_setup_gc(davinci_aintc_base + reg_off, irq_base + irq_off, 32); - irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); set_handle_irq(davinci_aintc_handle_irq); } -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Bartosz Golaszewski <brgl@bgdev.pl> To: Sekhar Nori <nsekhar@ti.com>, Kevin Hilman <khilman@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>, Marc Zyngier <marc.zyngier@arm.com> Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 16/35] ARM: davinci: aintc: move timer-specific irq_set_handler() out of irq.c Date: Thu, 31 Jan 2019 14:39:09 +0100 [thread overview] Message-ID: <20190131133928.17985-17-brgl@bgdev.pl> (raw) In-Reply-To: <20190131133928.17985-1-brgl@bgdev.pl> From: Bartosz Golaszewski <bgolaszewski@baylibre.com> I've been unable to figure out exactly why, but it seems that the IRQ_TINT1_TINT34 interrupt for timer 1 needs to be handled as a level irq, not edge like all others. This timer is used by the dsp on dm64* boards only. Let's move the handler setup out of the aintc driver where it's lived since the beginning and into the dm64* SoC-specific files where it belongs. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> --- arch/arm/mach-davinci/dm644x.c | 4 ++++ arch/arm/mach-davinci/dm646x.c | 4 ++++ arch/arm/mach-davinci/irq.c | 1 - 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 24ad7a09aa15..beb97101c881 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -14,6 +14,7 @@ #include <linux/clkdev.h> #include <linux/dmaengine.h> #include <linux/init.h> +#include <linux/irq.h> #include <linux/irqchip/irq-davinci-aintc.h> #include <linux/platform_data/edma.h> #include <linux/platform_data/gpio-davinci.h> @@ -616,6 +617,9 @@ void __init dm644x_init_time(void) void __iomem *pll1, *psc; struct clk *clk; + /* Needed by the dsp. */ + irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); + clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, DM644X_REF_FREQ); pll1 = ioremap(DAVINCI_PLL1_BASE, SZ_1K); diff --git a/arch/arm/mach-davinci/dm646x.c b/arch/arm/mach-davinci/dm646x.c index ab02cc93813a..70505c92d5fb 100644 --- a/arch/arm/mach-davinci/dm646x.c +++ b/arch/arm/mach-davinci/dm646x.c @@ -15,6 +15,7 @@ #include <linux/dma-mapping.h> #include <linux/dmaengine.h> #include <linux/init.h> +#include <linux/irq.h> #include <linux/irqchip/irq-davinci-aintc.h> #include <linux/platform_data/edma.h> #include <linux/platform_data/gpio-davinci.h> @@ -599,6 +600,9 @@ void __init dm646x_init_time(unsigned long ref_clk_rate, void __iomem *pll1, *psc; struct clk *clk; + /* Needed by the dsp. */ + irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); + clk_register_fixed_rate(NULL, "ref_clk", NULL, 0, ref_clk_rate); clk_register_fixed_rate(NULL, "aux_clkin", NULL, 0, aux_clkin_rate); diff --git a/arch/arm/mach-davinci/irq.c b/arch/arm/mach-davinci/irq.c index d67f443a471d..2e114ad83adc 100644 --- a/arch/arm/mach-davinci/irq.c +++ b/arch/arm/mach-davinci/irq.c @@ -142,6 +142,5 @@ void __init davinci_aintc_init(const struct davinci_aintc_config *config) davinci_aintc_setup_gc(davinci_aintc_base + reg_off, irq_base + irq_off, 32); - irq_set_handler(IRQ_TINT1_TINT34, handle_level_irq); set_handle_irq(davinci_aintc_handle_irq); } -- 2.20.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-01-31 13:41 UTC|newest] Thread overview: 195+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-01-31 13:38 [PATCH 00/35] ARM: davinci: modernize the irq support Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-01-31 13:38 ` [PATCH 01/35] ARM: davinci: remove intc_host_map from davinci_soc_info struct Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 21:50 ` David Lechner 2019-02-04 21:50 ` David Lechner 2019-02-06 8:32 ` Sekhar Nori 2019-02-06 8:32 ` Sekhar Nori 2019-01-31 13:38 ` [PATCH 02/35] ARM: davinci: select GENERIC_IRQ_MULTI_HANDLER Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 22:02 ` David Lechner 2019-02-04 22:02 ` David Lechner 2019-02-06 12:39 ` Sekhar Nori 2019-02-06 12:39 ` Sekhar Nori 2019-02-07 15:49 ` Bartosz Golaszewski 2019-02-07 15:49 ` Bartosz Golaszewski 2019-02-08 8:59 ` Sekhar Nori 2019-02-08 8:59 ` Sekhar Nori 2019-01-31 13:38 ` [PATCH 03/35] ARM: davinci: remove davinci_intc_type Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 22:04 ` David Lechner 2019-02-04 22:04 ` David Lechner 2019-01-31 13:38 ` [PATCH 04/35] ARM: davinci: pull davinci_intc_base into the respective intc drivers Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 22:06 ` David Lechner 2019-02-04 22:06 ` David Lechner 2019-01-31 13:38 ` [PATCH 05/35] ARM: davinci: drop irq defines from default_priorites Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 22:21 ` David Lechner 2019-02-04 22:21 ` David Lechner 2019-02-06 13:03 ` Sekhar Nori 2019-02-06 13:03 ` Sekhar Nori 2019-02-06 13:32 ` Bartosz Golaszewski 2019-02-06 13:32 ` Bartosz Golaszewski 2019-02-06 14:50 ` Sekhar Nori 2019-02-06 14:50 ` Sekhar Nori 2019-02-05 0:20 ` David Lechner 2019-02-05 0:20 ` David Lechner 2019-02-05 16:16 ` Bartosz Golaszewski 2019-02-05 16:16 ` Bartosz Golaszewski 2019-01-31 13:38 ` [PATCH 06/35] ARM: davinci: wrap interrupt definitions with a macro for SPARSE_IRQ Bartosz Golaszewski 2019-01-31 13:38 ` Bartosz Golaszewski 2019-02-04 22:32 ` David Lechner 2019-02-04 22:32 ` David Lechner 2019-02-05 16:17 ` Bartosz Golaszewski 2019-02-05 16:17 ` Bartosz Golaszewski 2019-01-31 13:39 ` [PATCH 07/35] ARM: davinci: aintc: use irq domain Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 22:42 ` David Lechner 2019-02-04 22:42 ` David Lechner 2019-02-05 16:29 ` Bartosz Golaszewski 2019-02-05 16:29 ` Bartosz Golaszewski 2019-02-06 15:08 ` Sekhar Nori 2019-02-06 15:08 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 08/35] ARM: davinci: select SPARSE_IRQ Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 22:46 ` David Lechner 2019-02-04 22:46 ` David Lechner 2019-01-31 13:39 ` [PATCH 09/35] ARM: davinci: aintc: drop GPL license boilerplate Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-01-31 13:39 ` [PATCH 10/35] ARM: davinci: aintc: wrap davinci_irq_init() with a helper Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 22:51 ` David Lechner 2019-02-04 22:51 ` David Lechner 2019-01-31 13:39 ` [PATCH 11/35] ARM: davinci: aintc: use a common prefix for symbols in the driver Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 22:54 ` David Lechner 2019-02-04 22:54 ` David Lechner 2019-01-31 13:39 ` [PATCH 12/35] ARM: davinci: aintc: drop the 00 prefix from register offsets Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 22:56 ` David Lechner 2019-02-04 22:56 ` David Lechner 2019-01-31 13:39 ` [PATCH 13/35] ARM: davinci: aintc: add a new config structure Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:02 ` David Lechner 2019-02-04 23:02 ` David Lechner 2019-02-07 13:33 ` Sekhar Nori 2019-02-07 13:33 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 14/35] ARM: davinci: aintc: use the new irqchip config structure in dm* SoCs Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:09 ` David Lechner 2019-02-04 23:09 ` David Lechner 2019-01-31 13:39 ` [PATCH 15/35] ARM: davinci: aintc: use the new config structure Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:29 ` David Lechner 2019-02-04 23:29 ` David Lechner 2019-01-31 13:39 ` Bartosz Golaszewski [this message] 2019-01-31 13:39 ` [PATCH 16/35] ARM: davinci: aintc: move timer-specific irq_set_handler() out of irq.c Bartosz Golaszewski 2019-02-04 23:36 ` David Lechner 2019-02-04 23:36 ` David Lechner 2019-02-07 12:21 ` Sekhar Nori 2019-02-07 12:21 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 17/35] ARM: davinci: aintc: remove unnecessary includes Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:37 ` David Lechner 2019-02-04 23:37 ` David Lechner 2019-01-31 13:39 ` [PATCH 18/35] irqchip: davinci-aintc: move the driver to drivers/irqchip Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:43 ` David Lechner 2019-02-04 23:43 ` David Lechner 2019-02-08 16:03 ` Bartosz Golaszewski 2019-02-08 16:03 ` Bartosz Golaszewski 2019-01-31 13:39 ` [PATCH 19/35] ARM: davinci: cp-intc: remove cp_intc.h Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:48 ` David Lechner 2019-02-04 23:48 ` David Lechner 2019-01-31 13:39 ` [PATCH 20/35] ARM: davinci: cp-intc: add a wrapper around cp_intc_init() Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:50 ` David Lechner 2019-02-04 23:50 ` David Lechner 2019-01-31 13:39 ` [PATCH 21/35] ARM: davinci: cp-intc: add a new config structure Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:54 ` David Lechner 2019-02-04 23:54 ` David Lechner 2019-01-31 13:39 ` [PATCH 22/35] ARM: davinci: cp-intc: add the new config structures for da8xx SoCs Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-04 23:58 ` David Lechner 2019-02-04 23:58 ` David Lechner 2019-02-07 13:35 ` Sekhar Nori 2019-02-07 13:35 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 23/35] ARM: davinci: cp-intc: use a common prefix for all symbols Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:01 ` David Lechner 2019-02-05 0:01 ` David Lechner 2019-02-07 13:43 ` Sekhar Nori 2019-02-07 13:43 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 24/35] ARM: davinci: cp-intc: convert all hex numbers to lowercase Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:04 ` David Lechner 2019-02-05 0:04 ` David Lechner 2019-01-31 13:39 ` [PATCH 25/35] ARM: davinci: cp-intc: use the new-style config structure Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:29 ` David Lechner 2019-02-05 0:29 ` David Lechner 2019-02-08 16:27 ` Bartosz Golaszewski 2019-02-08 16:27 ` Bartosz Golaszewski 2019-02-07 13:59 ` Sekhar Nori 2019-02-07 13:59 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 26/35] ARM: davinci: cp-intc: improve coding style Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:35 ` David Lechner 2019-02-05 0:35 ` David Lechner 2019-01-31 13:39 ` [PATCH 27/35] ARM: davinci: cp-intc: unify error handling Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:37 ` David Lechner 2019-02-05 0:37 ` David Lechner 2019-01-31 13:39 ` [PATCH 28/35] ARM: davinci: cp-intc: remove unneeded include Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:39 ` David Lechner 2019-02-05 0:39 ` David Lechner 2019-01-31 13:39 ` [PATCH 29/35] ARM: davinci: cp-intc: drop GPL license boilerplate Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:41 ` David Lechner 2019-02-05 0:41 ` David Lechner 2019-01-31 13:39 ` [PATCH 30/35] ARM: davinci: cp-intc: remove redundant comments Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:42 ` David Lechner 2019-02-05 0:42 ` David Lechner 2019-01-31 13:39 ` [PATCH 31/35] irqchip: davinci-cp-intc: move the driver to drivers/irqchip Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:44 ` David Lechner 2019-02-05 0:44 ` David Lechner 2019-01-31 13:39 ` [PATCH 32/35] ARM: davinci: remove intc related fields from davinci_soc_info Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:48 ` David Lechner 2019-02-05 0:48 ` David Lechner 2019-02-07 14:04 ` Sekhar Nori 2019-02-07 14:04 ` Sekhar Nori 2019-02-08 16:41 ` Bartosz Golaszewski 2019-02-08 16:41 ` Bartosz Golaszewski 2019-01-31 13:39 ` [PATCH 33/35] ARM: davinci: prepare to remove mach/irqs.h Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 0:59 ` David Lechner 2019-02-07 14:07 ` Sekhar Nori 2019-02-07 14:07 ` Sekhar Nori 2019-01-31 13:39 ` [PATCH 34/35] ARM: davinci: stop using defines from mach/irqs.h Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 1:05 ` David Lechner 2019-02-05 1:05 ` David Lechner 2019-01-31 13:39 ` [PATCH 35/35] ARM: davinci: remove mach/irqs.h Bartosz Golaszewski 2019-01-31 13:39 ` Bartosz Golaszewski 2019-02-05 1:06 ` David Lechner 2019-02-05 1:06 ` David Lechner 2019-02-04 21:49 ` [PATCH 00/35] ARM: davinci: modernize the irq support David Lechner 2019-02-04 21:49 ` David Lechner 2019-02-05 16:11 ` Bartosz Golaszewski 2019-02-05 16:11 ` Bartosz Golaszewski 2019-02-08 11:43 ` Sekhar Nori 2019-02-08 11:43 ` Sekhar Nori 2019-02-08 12:27 ` Bartosz Golaszewski 2019-02-08 12:27 ` Bartosz Golaszewski 2019-02-08 12:29 ` Sekhar Nori 2019-02-08 12:29 ` Sekhar Nori 2019-02-07 15:24 ` Sekhar Nori 2019-02-07 15:24 ` Sekhar Nori
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=20190131133928.17985-17-brgl@bgdev.pl \ --to=brgl@bgdev.pl \ --cc=bgolaszewski@baylibre.com \ --cc=jason@lakedaemon.net \ --cc=khilman@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=nsekhar@ti.com \ --cc=tglx@linutronix.de \ /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: linkBe 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.