All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	arm@kernel.org
Cc: Mark Rutland <marc.rutland@arm.com>,
	Jon Hunter <jonathanh@nvidia.com>,
	Dinh Nguyen <dinguyen@opensource.altera.com>,
	Carlo Caione <carlo@caione.org>,
	Kevin Hilman <khilman@baylibre.com>, Duc Dang <dhdang@apm.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	Kukjin Kim <kgene@kernel.org>,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Simek <michal.simek@xilinx.com>,
	soren.brinkmann@xilinx.com,
	Tirumalesh Chalamarla <tchalamarla@cavium.com>,
	Jan Glauber <jglauber@cavium.com>,
	"Hou Zhiqiang" <B48286@freescale.com>,
	Wenbin Song <Wenbin.Song@freescale.com>,
	Yuan Yao <yao.yuan@nxp.com>, Liu Gang <Gang.Liu@nxp.com>,
	Mingkai Hu <Mingkai.Hu@freescale.com>,
	Rajesh Bhagat <rajesh.bhagat@freescale.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>,
	<linux-amlogic@lists.infradead.org>,
	<bcm-kernel-feedback-list@broadcom.com>,
	<linux-samsung-soc@vger.kernel.org>
Subject: [PATCH v2 0/2] Fix arch timer trigger
Date: Mon,  1 Aug 2016 10:54:14 +0100	[thread overview]
Message-ID: <1470045256-9032-1-git-send-email-marc.zyngier@arm.com> (raw)

Recent fixes in the IRQ layer (properly propagating the trigger
settings in the interrupt controler instead of silently failing)
uncovered a number of cases where DTs are describing the timer trigger
wrong (edge, while the interrupt is definitely level).

The result is a kernel that doesn't boot anymore (forever waiting for
an interrupt that can't trigger) or behave erratically (missing
interrupts).

This very small series addresses the issue in two ways:
(1) enforcing level triggered in the driver and spitting out a nastygram
so that the user can find out about the issue
(2) fix the existing issue by repainting the broken device trees.

(1) makes sure that a new kernel can run with an old DT, and (2)
addresses the issue properly.

Note that the two patches can be applied independently.

Tested on APM Mustang, which is one of the broken platforms.

Thanks,

	M.

* From v1:
  - Make GICv3-based platforms use the level triggered setting even if
  the HW actually precisly describes high or low settings.
  - Rebased on top of linux/master as of today.

Marc Zyngier (2):
  clocksource/arm_arch_timer: Force per-CPU interrupt to be
    level-triggered
  arm64: dts: Fix broken architected timer interrupt trigger

 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |  8 +++----
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  8 +++----
 arch/arm64/boot/dts/apm/apm-storm.dtsi             |  8 +++----
 arch/arm64/boot/dts/broadcom/ns2.dtsi              |  8 +++----
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi       |  8 +++----
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi     |  8 +++----
 arch/arm64/boot/dts/marvell/armada-ap806.dtsi      |  8 +++----
 .../boot/dts/socionext/uniphier-ph1-ld20.dtsi      |  8 +++----
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |  8 +++----
 drivers/clocksource/arm_arch_timer.c               | 26 +++++++++++++++++++---
 12 files changed, 67 insertions(+), 47 deletions(-)

-- 
2.1.4

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier@arm.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	arm@kernel.org
Cc: Mark Rutland <marc.rutland@arm.com>,
	Jon Hunter <jonathanh@nvidia.com>,
	Dinh Nguyen <dinguyen@opensource.altera.com>,
	Carlo Caione <carlo@caione.org>,
	Kevin Hilman <khilman@baylibre.com>, Duc Dang <dhdang@apm.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Ray Jui <rjui@broadcom.com>,
	Scott Branden <sbranden@broadcom.com>,
	Kukjin Kim <kgene@kernel.org>,
	Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
	Gregory Clement <gregory.clement@free-electrons.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	Michal Simek <michal.simek@xilinx.com>,
	soren.brinkmann@xilinx.com,
	Tirumalesh Chalamarla <tchalamarla@cavium.com>,
	Jan Glauber <jglauber@cavium.com>,
	Hou Zhiqiang <B48286@freescale.com>,
	Wenbin Song <Wenbin.Song@freescale.com>,
	Yuan Yao <yao.yuan@nxp.com>, Liu Gang <Gang.Liu@nxp.com>,
	Ming
Subject: [PATCH v2 0/2] Fix arch timer trigger
Date: Mon,  1 Aug 2016 10:54:14 +0100	[thread overview]
Message-ID: <1470045256-9032-1-git-send-email-marc.zyngier@arm.com> (raw)

Recent fixes in the IRQ layer (properly propagating the trigger
settings in the interrupt controler instead of silently failing)
uncovered a number of cases where DTs are describing the timer trigger
wrong (edge, while the interrupt is definitely level).

The result is a kernel that doesn't boot anymore (forever waiting for
an interrupt that can't trigger) or behave erratically (missing
interrupts).

This very small series addresses the issue in two ways:
(1) enforcing level triggered in the driver and spitting out a nastygram
so that the user can find out about the issue
(2) fix the existing issue by repainting the broken device trees.

(1) makes sure that a new kernel can run with an old DT, and (2)
addresses the issue properly.

Note that the two patches can be applied independently.

Tested on APM Mustang, which is one of the broken platforms.

Thanks,

	M.

* From v1:
  - Make GICv3-based platforms use the level triggered setting even if
  the HW actually precisly describes high or low settings.
  - Rebased on top of linux/master as of today.

Marc Zyngier (2):
  clocksource/arm_arch_timer: Force per-CPU interrupt to be
    level-triggered
  arm64: dts: Fix broken architected timer interrupt trigger

 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |  8 +++----
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  8 +++----
 arch/arm64/boot/dts/apm/apm-storm.dtsi             |  8 +++----
 arch/arm64/boot/dts/broadcom/ns2.dtsi              |  8 +++----
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi       |  8 +++----
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi     |  8 +++----
 arch/arm64/boot/dts/marvell/armada-ap806.dtsi      |  8 +++----
 .../boot/dts/socionext/uniphier-ph1-ld20.dtsi      |  8 +++----
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |  8 +++----
 drivers/clocksource/arm_arch_timer.c               | 26 +++++++++++++++++++---
 12 files changed, 67 insertions(+), 47 deletions(-)

-- 
2.1.4

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/2] Fix arch timer trigger
Date: Mon,  1 Aug 2016 10:54:14 +0100	[thread overview]
Message-ID: <1470045256-9032-1-git-send-email-marc.zyngier@arm.com> (raw)

Recent fixes in the IRQ layer (properly propagating the trigger
settings in the interrupt controler instead of silently failing)
uncovered a number of cases where DTs are describing the timer trigger
wrong (edge, while the interrupt is definitely level).

The result is a kernel that doesn't boot anymore (forever waiting for
an interrupt that can't trigger) or behave erratically (missing
interrupts).

This very small series addresses the issue in two ways:
(1) enforcing level triggered in the driver and spitting out a nastygram
so that the user can find out about the issue
(2) fix the existing issue by repainting the broken device trees.

(1) makes sure that a new kernel can run with an old DT, and (2)
addresses the issue properly.

Note that the two patches can be applied independently.

Tested on APM Mustang, which is one of the broken platforms.

Thanks,

	M.

* From v1:
  - Make GICv3-based platforms use the level triggered setting even if
  the HW actually precisly describes high or low settings.
  - Rebased on top of linux/master as of today.

Marc Zyngier (2):
  clocksource/arm_arch_timer: Force per-CPU interrupt to be
    level-triggered
  arm64: dts: Fix broken architected timer interrupt trigger

 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |  8 +++----
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  8 +++----
 arch/arm64/boot/dts/apm/apm-storm.dtsi             |  8 +++----
 arch/arm64/boot/dts/broadcom/ns2.dtsi              |  8 +++----
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi       |  8 +++----
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi     |  8 +++----
 arch/arm64/boot/dts/marvell/armada-ap806.dtsi      |  8 +++----
 .../boot/dts/socionext/uniphier-ph1-ld20.dtsi      |  8 +++----
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |  8 +++----
 drivers/clocksource/arm_arch_timer.c               | 26 +++++++++++++++++++---
 12 files changed, 67 insertions(+), 47 deletions(-)

-- 
2.1.4

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linus-amlogic@lists.infradead.org
Subject: [PATCH v2 0/2] Fix arch timer trigger
Date: Mon,  1 Aug 2016 10:54:14 +0100	[thread overview]
Message-ID: <1470045256-9032-1-git-send-email-marc.zyngier@arm.com> (raw)

Recent fixes in the IRQ layer (properly propagating the trigger
settings in the interrupt controler instead of silently failing)
uncovered a number of cases where DTs are describing the timer trigger
wrong (edge, while the interrupt is definitely level).

The result is a kernel that doesn't boot anymore (forever waiting for
an interrupt that can't trigger) or behave erratically (missing
interrupts).

This very small series addresses the issue in two ways:
(1) enforcing level triggered in the driver and spitting out a nastygram
so that the user can find out about the issue
(2) fix the existing issue by repainting the broken device trees.

(1) makes sure that a new kernel can run with an old DT, and (2)
addresses the issue properly.

Note that the two patches can be applied independently.

Tested on APM Mustang, which is one of the broken platforms.

Thanks,

	M.

* From v1:
  - Make GICv3-based platforms use the level triggered setting even if
  the HW actually precisly describes high or low settings.
  - Rebased on top of linux/master as of today.

Marc Zyngier (2):
  clocksource/arm_arch_timer: Force per-CPU interrupt to be
    level-triggered
  arm64: dts: Fix broken architected timer interrupt trigger

 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |  8 +++----
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  8 +++----
 arch/arm64/boot/dts/apm/apm-storm.dtsi             |  8 +++----
 arch/arm64/boot/dts/broadcom/ns2.dtsi              |  8 +++----
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi       |  8 +++----
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     |  8 +++----
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi     |  8 +++----
 arch/arm64/boot/dts/marvell/armada-ap806.dtsi      |  8 +++----
 .../boot/dts/socionext/uniphier-ph1-ld20.dtsi      |  8 +++----
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             |  8 +++----
 drivers/clocksource/arm_arch_timer.c               | 26 +++++++++++++++++++---
 12 files changed, 67 insertions(+), 47 deletions(-)

-- 
2.1.4

             reply	other threads:[~2016-08-01  9:54 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01  9:54 Marc Zyngier [this message]
2016-08-01  9:54 ` [PATCH v2 0/2] Fix arch timer trigger Marc Zyngier
2016-08-01  9:54 ` Marc Zyngier
2016-08-01  9:54 ` Marc Zyngier
2016-08-01  9:54 ` [PATCH v2 1/2] clocksource/arm_arch_timer: Force per-CPU interrupt to be level-triggered Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01 13:25   ` [tip:timers/urgent] " tip-bot for Marc Zyngier
2016-08-01 14:22   ` tip-bot for Marc Zyngier
2016-08-01  9:54 ` [PATCH v2 2/2] arm64: dts: Fix broken architected timer interrupt trigger Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01  9:54   ` Marc Zyngier
2016-08-01 10:00   ` Masahiro Yamada
2016-08-01 10:00     ` Masahiro Yamada
2016-08-01 10:00     ` Masahiro Yamada
2016-08-01 10:00     ` Masahiro Yamada
2016-09-02 16:20     ` Arnd Bergmann
2016-09-02 16:20       ` Arnd Bergmann
2016-09-02 16:20       ` Arnd Bergmann
2016-09-02 16:20       ` Arnd Bergmann
2016-08-22 10:26   ` Marc Zyngier
2016-08-22 10:26     ` Marc Zyngier
2016-08-22 10:26     ` Marc Zyngier
2016-08-22 10:26     ` Marc Zyngier

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=1470045256-9032-1-git-send-email-marc.zyngier@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=B48286@freescale.com \
    --cc=Gang.Liu@nxp.com \
    --cc=Mingkai.Hu@freescale.com \
    --cc=Wenbin.Song@freescale.com \
    --cc=andrew@lunn.ch \
    --cc=arm@kernel.org \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=carlo@caione.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=dhdang@apm.com \
    --cc=dinguyen@opensource.altera.com \
    --cc=f.fainelli@gmail.com \
    --cc=gregory.clement@free-electrons.com \
    --cc=jason@lakedaemon.net \
    --cc=jglauber@cavium.com \
    --cc=jonathanh@nvidia.com \
    --cc=kgene@kernel.org \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=marc.rutland@arm.com \
    --cc=michal.simek@xilinx.com \
    --cc=rajesh.bhagat@freescale.com \
    --cc=rjui@broadcom.com \
    --cc=sbranden@broadcom.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=soren.brinkmann@xilinx.com \
    --cc=tchalamarla@cavium.com \
    --cc=tglx@linutronix.de \
    --cc=yamada.masahiro@socionext.com \
    --cc=yao.yuan@nxp.com \
    /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: link
Be 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.