From: Simon Horman <horms+renesas@verge.net.au> To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 2/2] ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances Date: Tue, 13 Jan 2015 02:13:28 +0000 [thread overview] Message-ID: <b0ddb319db3d7a1943445f0de0a45c07a7f3457a.1421113695.git.horms+renesas@verge.net.au> (raw) In-Reply-To: <cover.1421113695.git.horms+renesas@verge.net.au> From: Geert Uytterhoeven <geert+renesas@glider.be> The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the .control_parent flag to delegate masking to the parent interrupt controller, like was already done for irqpin1. Without this, accessing the three-axis digital accelerometer ADXL345 on kzm9g through /dev/input/event1 causes an interrupt storm, which requires a power-cycle to recover from. This was inspired by a patch for arch/arm/boot/dts/sh73a0.dtsi from Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Fixes: 341eb5465f67437a ("ARM: shmobile: INTC External IRQ pin driver on sh73a0") Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm/mach-shmobile/setup-sh73a0.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c index fa7cab8..b5d0cf5 100644 --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@ -579,6 +579,7 @@ static struct platform_device ipmmu_device = { static struct renesas_intc_irqpin_config irqpin0_platform_data = { .irq_base = irq_pin(0), /* IRQ0 -> IRQ7 */ + .control_parent = true, }; static struct resource irqpin0_resources[] = { @@ -640,6 +641,7 @@ static struct platform_device irqpin1_device = { static struct renesas_intc_irqpin_config irqpin2_platform_data = { .irq_base = irq_pin(16), /* IRQ16 -> IRQ23 */ + .control_parent = true, }; static struct resource irqpin2_resources[] = { @@ -670,6 +672,7 @@ static struct platform_device irqpin2_device = { static struct renesas_intc_irqpin_config irqpin3_platform_data = { .irq_base = irq_pin(24), /* IRQ24 -> IRQ31 */ + .control_parent = true, }; static struct resource irqpin3_resources[] = { -- 2.1.4
WARNING: multiple messages have this Message-ID (diff)
From: horms+renesas@verge.net.au (Simon Horman) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 2/2] ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances Date: Tue, 13 Jan 2015 11:13:28 +0900 [thread overview] Message-ID: <b0ddb319db3d7a1943445f0de0a45c07a7f3457a.1421113695.git.horms+renesas@verge.net.au> (raw) In-Reply-To: <cover.1421113695.git.horms+renesas@verge.net.au> From: Geert Uytterhoeven <geert+renesas@glider.be> The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the .control_parent flag to delegate masking to the parent interrupt controller, like was already done for irqpin1. Without this, accessing the three-axis digital accelerometer ADXL345 on kzm9g through /dev/input/event1 causes an interrupt storm, which requires a power-cycle to recover from. This was inspired by a patch for arch/arm/boot/dts/sh73a0.dtsi from Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Fixes: 341eb5465f67437a ("ARM: shmobile: INTC External IRQ pin driver on sh73a0") Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- arch/arm/mach-shmobile/setup-sh73a0.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c index fa7cab8..b5d0cf5 100644 --- a/arch/arm/mach-shmobile/setup-sh73a0.c +++ b/arch/arm/mach-shmobile/setup-sh73a0.c @@ -579,6 +579,7 @@ static struct platform_device ipmmu_device = { static struct renesas_intc_irqpin_config irqpin0_platform_data = { .irq_base = irq_pin(0), /* IRQ0 -> IRQ7 */ + .control_parent = true, }; static struct resource irqpin0_resources[] = { @@ -640,6 +641,7 @@ static struct platform_device irqpin1_device = { static struct renesas_intc_irqpin_config irqpin2_platform_data = { .irq_base = irq_pin(16), /* IRQ16 -> IRQ23 */ + .control_parent = true, }; static struct resource irqpin2_resources[] = { @@ -670,6 +672,7 @@ static struct platform_device irqpin2_device = { static struct renesas_intc_irqpin_config irqpin3_platform_data = { .irq_base = irq_pin(24), /* IRQ24 -> IRQ31 */ + .control_parent = true, }; static struct resource irqpin3_resources[] = { -- 2.1.4
next prev parent reply other threads:[~2015-01-13 2:13 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-01-10 2:45 [GIT PULL] Renesas ARM Based SoC Fixes for v3.14 Simon Horman 2014-01-10 2:45 ` Simon Horman 2014-01-10 2:46 ` [PATCH] ARM: shmobile: r8a7790: Fix I2C controller names Simon Horman 2014-01-10 2:46 ` Simon Horman 2014-01-14 18:44 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.14 Kevin Hilman 2014-01-14 18:44 ` Kevin Hilman 2014-01-15 0:04 ` Simon Horman 2014-01-15 0:04 ` Simon Horman 2014-05-29 23:31 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.16 Simon Horman 2014-05-29 23:31 ` Simon Horman 2014-05-29 23:31 ` [PATCH] ARM: shmobile: armadillo800eva: fixup HDMI sound flags setting Simon Horman 2014-05-29 23:31 ` Simon Horman 2014-05-30 16:23 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.16 Olof Johansson 2014-05-30 16:23 ` Olof Johansson 2014-11-17 2:45 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.18 Simon Horman 2014-11-17 2:45 ` Simon Horman 2014-11-17 2:45 ` [PATCH] ARM: shmobile: kzm9g legacy: Set i2c clks_per_count to 2 Simon Horman 2014-11-17 2:45 ` Simon Horman 2015-01-13 2:13 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.19 Simon Horman 2015-01-13 2:13 ` Simon Horman 2015-01-13 2:13 ` [PATCH 1/2] ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds Simon Horman 2015-01-13 2:13 ` Simon Horman 2015-01-13 2:13 ` Simon Horman [this message] 2015-01-13 2:13 ` [PATCH 2/2] ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances Simon Horman 2015-01-13 8:10 ` [GIT PULL] Renesas ARM Based SoC Fixes for v3.19 Geert Uytterhoeven 2015-01-13 8:10 ` Geert Uytterhoeven 2015-01-13 23:32 ` Olof Johansson 2015-01-13 23:32 ` Olof Johansson 2015-01-14 0:20 ` Simon Horman 2015-01-14 0:20 ` Simon Horman 2015-05-07 5:46 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.1 Simon Horman 2015-05-07 5:46 ` Simon Horman 2015-05-07 5:46 ` [PATCH] ARM: shmobile: koelsch: Fix adv7511 IRQ sensing Simon Horman 2015-05-07 5:46 ` Simon Horman 2015-05-07 16:27 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.1 Arnd Bergmann 2015-05-07 16:27 ` Arnd Bergmann 2015-10-02 2:29 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.3 Simon Horman 2015-10-02 2:29 ` Simon Horman 2015-10-02 2:29 ` [PATCH 1/2] ARM: shmobile: r8a7790 dtsi: Add CPG/MSTP Clock Domain for sound Simon Horman 2015-10-02 2:29 ` Simon Horman 2015-10-02 11:29 ` Sergei Shtylyov 2015-10-02 11:29 ` Sergei Shtylyov 2015-10-02 11:32 ` Sergei Shtylyov 2015-10-02 11:32 ` Sergei Shtylyov 2015-10-06 12:37 ` Arnd Bergmann 2015-10-06 12:37 ` Arnd Bergmann 2015-10-02 2:29 ` [PATCH 2/2] ARM: shmobile: r8a7791 " Simon Horman 2015-10-02 2:29 ` Simon Horman 2015-10-16 14:05 ` [PATCH 2/2] ARM: shmobile: r8a7791 dtsi: Remove bogus imp_clk node Geert Uytterhoeven 2015-10-06 12:32 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.3 Arnd Bergmann 2015-10-06 12:32 ` Arnd Bergmann 2015-11-27 1:56 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.4 Simon Horman 2015-11-27 1:56 ` Simon Horman 2015-11-27 1:56 ` [PATCH] ARM: shmobile: r8a7793: proper constness with __initconst Simon Horman 2015-11-27 1:56 ` Simon Horman 2015-11-27 16:30 ` [GIT PULL] Renesas ARM Based SoC Fixes for v4.4 Arnd Bergmann 2015-11-27 16:30 ` Arnd Bergmann
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=b0ddb319db3d7a1943445f0de0a45c07a7f3457a.1421113695.git.horms+renesas@verge.net.au \ --to=horms+renesas@verge.net.au \ --cc=linux-arm-kernel@lists.infradead.org \ /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.