From patchwork Mon Nov 8 19:01:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jae.hyun.yoo@intel.com X-Patchwork-Id: 1552485 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org; envelope-from=linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4Hp0PJ3Nt4z9s0r for ; Tue, 9 Nov 2021 05:43:32 +1100 (AEDT) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4Hp0PH6wy5z2yxV for ; Tue, 9 Nov 2021 05:43:31 +1100 (AEDT) X-Original-To: linux-aspeed@lists.ozlabs.org Delivered-To: linux-aspeed@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=intel.com (client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=jae.hyun.yoo@intel.com; receiver=) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4Hp0PD27vfz2yg6 for ; Tue, 9 Nov 2021 05:43:23 +1100 (AEDT) X-IronPort-AV: E=McAfee;i="6200,9189,10162"; a="293132657" X-IronPort-AV: E=Sophos;i="5.87,218,1631602800"; d="scan'208";a="293132657" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Nov 2021 10:42:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,218,1631602800"; d="scan'208";a="503150685" Received: from maru.jf.intel.com ([10.54.51.77]) by orsmga008.jf.intel.com with ESMTP; 08 Nov 2021 10:42:19 -0800 From: jae.hyun.yoo@intel.com To: Rob Herring , Corey Minyard , Joel Stanley , Andrew Jeffery , Cedric Le Goater , Haiyue Wang , ChiaWei Wang , Jae Hyun Yoo Subject: [PATCH v3 0/6] Add LCLK control into Aspeed LPC sub drivers Date: Mon, 8 Nov 2021 11:01:54 -0800 Message-Id: <20211108190200.290957-1-jae.hyun.yoo@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: linux-aspeed@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux ASPEED SoC development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, openipmi-developer@lists.sourceforge.net, linux-aspeed@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Errors-To: linux-aspeed-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Linux-aspeed" From: Jae Hyun Yoo Hello all, This series is for appliying below fix to all Aspped LPC sub drivers. https://lore.kernel.org/all/20201208091748.1920-1-wangzhiqiang.bj@bytedance.com/ An LPC sub driver can be enabled without using the lpc-ctrl driver or it can be registered ahead of lpc-ctrl depends on each system configuration and this difference introduces that LPC can be enabled without heart beating of LCLK so it causes improper handling on host interrupts when the host sends interrupts 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 drivers should enable LCLK individually so this patch adds clock control logic into the remaining Aspeed LPC sub drivers. Please review this series. Thanks, Jae Changes sinve v2: * Rebased it on the latest master. * Made dts and bindigs changes' commit message more descriptive. * Simplified the -EPROBE_DEFER handling using dev_err_probe(). Changes sinve v1: * Added 'clocks' property into ibt and kcs-bmc bindings using 'aspeed,ast2400-ibt-bmc.txt' and 'aspeed,ast2400-kcs-bmc.yaml' respectively because these are not merged into 'aspeed-lpc.yaml' yet. The bindings merging could be done using a separate patch later. Jae Hyun Yoo (6): ARM: dts: aspeed: add LCLK setting into LPC IBT node dt-bindings: ipmi: bt-bmc: add 'clocks' as a required property ipmi: bt: add clock control logic ARM: dts: aspeed: add LCLK setting into LPC KCS nodes dt-bindings: ipmi: aspeed,kcs-bmc: add 'clocks' as a required property ipmi: kcs_bmc_aspeed: add clock control logic .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt | 2 ++ .../bindings/ipmi/aspeed,ast2400-kcs-bmc.yaml | 7 +++++ arch/arm/boot/dts/aspeed-g4.dtsi | 1 + arch/arm/boot/dts/aspeed-g5.dtsi | 5 ++++ arch/arm/boot/dts/aspeed-g6.dtsi | 5 ++++ drivers/char/ipmi/bt-bmc.c | 21 +++++++++++++- drivers/char/ipmi/kcs_bmc_aspeed.c | 28 ++++++++++++++++--- 7 files changed, 64 insertions(+), 5 deletions(-)