diff options
author | Jae Hyun Yoo <jae.hyun.yoo@intel.com> | 2019-03-14 01:04:16 +0300 |
---|---|---|
committer | Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> | 2021-11-05 10:22:07 +0300 |
commit | 6fb39e7bfaf427c315d157deb78406fa0f6736de (patch) | |
tree | 6e165df4b909f43c717ba96fb8a09bcb26c97091 /arch | |
parent | c2e14a9df5334f7284bfa2b36408eb7d67628dd9 (diff) | |
download | linux-6fb39e7bfaf427c315d157deb78406fa0f6736de.tar.xz |
char: ipmi: Add clock control logic into Aspeed LPC BT driver
If LPC BT driver is registered ahead of lpc-ctrl module, LPC BT
block will be enabled without heart beating of LCLK until lpc-ctrl
enables the LCLK. This issue causes improper handling on host
interrupts when the host sends interrupt in that time frame. Then
kernel eventually forcibly disables the interrupt with dumping
stack and printing a 'nobody cared this irq' message out.
To prevent this issue, all LPC sub-nodes should enable LCLK
individually so this patch adds clock control logic into the LPC
BT driver.
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/aspeed-g4.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/aspeed-g5.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/aspeed-g6.dtsi | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi index c70b24b6b8e3..8a243b22dc42 100644 --- a/arch/arm/boot/dts/aspeed-g4.dtsi +++ b/arch/arm/boot/dts/aspeed-g4.dtsi @@ -380,6 +380,7 @@ ibt: ibt@140 { compatible = "aspeed,ast2400-ibt-bmc"; reg = <0x140 0x18>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; interrupts = <8>; status = "disabled"; }; diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi index f2d8de61bfc2..8142d24edfb0 100644 --- a/arch/arm/boot/dts/aspeed-g5.dtsi +++ b/arch/arm/boot/dts/aspeed-g5.dtsi @@ -513,6 +513,7 @@ ibt: ibt@140 { compatible = "aspeed,ast2500-ibt-bmc"; reg = <0x140 0x18>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; interrupts = <8>; status = "disabled"; }; diff --git a/arch/arm/boot/dts/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed-g6.dtsi index a7178a09a3ad..502205ceffdc 100644 --- a/arch/arm/boot/dts/aspeed-g6.dtsi +++ b/arch/arm/boot/dts/aspeed-g6.dtsi @@ -600,6 +600,7 @@ ibt: ibt@140 { compatible = "aspeed,ast2600-ibt-bmc"; reg = <0x140 0x18>; + clocks = <&syscon ASPEED_CLK_GATE_LCLK>; interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; status = "disabled"; }; |