Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3112327pxj; Mon, 31 May 2021 21:01:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyqHGg2IuqPstZGAzE0dpgC4ni2Ukj72xpS6aJ7mj6DVr1suHQUD726rp02jms/6utYfVBY X-Received: by 2002:a6b:7714:: with SMTP id n20mr18857373iom.126.1622520095075; Mon, 31 May 2021 21:01:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622520095; cv=none; d=google.com; s=arc-20160816; b=R5ShdsmGgtw8qQyUwBxeMrWB/IgDDNa6mfM0l1Blwc02KKP2c9UtZaSgDDpqcd/tf7 DH8bFismAcWHYrKlkPQ9MqWfY83OBreYwE25PuGrd/zchARLkOWC30eLyep5gJHag+dT QFixEw3iReHb8cAB28TGL/YlNvJKnqyd3kRwe+IC8KT7LrFUJB0wJehQ3UUFMecUQlK6 a91kGezz4Qe1XVDecmgs/zjmGt0w6kXvrX/BRFSe11MbjlVG8CTX6pjUfljlefIJgmqA 3KVrkGotKfZoi0FXTH1JcfPHKR+MxBSlKzqN6xwt6PxHHePjHSdUE6hDFamAy05oqAGI mD6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UB61Gzn/MRwmod4oJCljeygOUa03KL82epqgxkhg2kk=; b=q63jOiKj6lSb6UpBOmpUuVHkSThGzksZjhppPokZ35on/uRw2jL5Pl8uovKLif5dAb /uGWDBTmZwKxLN12tUzEswLJXQLEKoPxCRlHUIyQKiie3BIYeLS/Hnh3tQHfY1XLl4Tq ffRdturcsFEG3YEWgFhUBL9PgAmsLFbr804iw3rgONjRhjwG+kN6hZDwigBZh23HDKPO 3pzpY7qUUoypfWlLsCaR2Yw8HHzXBB7JxsabIjRsUGy0Mid1o1y3Q2w0iKoh6Rv8CJ24 BGBAs/jvbLSLhViI3/+vH10tg694eYvZAQrH1Q+mgK8m6RkKOtwwVAC5OHJU9ukj72lS MZ4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=H4cPMG+N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q9si1201120ioj.21.2021.05.31.21.01.21; Mon, 31 May 2021 21:01:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=H4cPMG+N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230063AbhFAEBF (ORCPT + 99 others); Tue, 1 Jun 2021 00:01:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52678 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229997AbhFAEBE (ORCPT ); Tue, 1 Jun 2021 00:01:04 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2001BC061574 for ; Mon, 31 May 2021 20:59:23 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id h12-20020a17090aa88cb029016400fd8ad8so1056208pjq.3 for ; Mon, 31 May 2021 20:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UB61Gzn/MRwmod4oJCljeygOUa03KL82epqgxkhg2kk=; b=H4cPMG+N+viqUaTM+Qp5Ik0G0yuzXdhgb8vf+8ySTT1fiEy+L0O4tCybFkjAt1C0as 3p2tGK3Qbmf+oanC78Ooe7YsL3nsu59z1snFEkgVy4iEzLsPbNBNg1pqvk2zZYkWT3Q/ +bBHkWZDzeKjlgvslHU0KBs7V51Gph8ngIDZQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UB61Gzn/MRwmod4oJCljeygOUa03KL82epqgxkhg2kk=; b=M/9V1C648UYK5rXEx/ePCE2rZshRGuTvMu19v3k+7aAgJyzqFyUJWcwKfrBCqtb/k7 pl4N5nLl2w8zkYO0GbfpyK79WGlL6H3FP3xXhC6ae0HOwfE8roYYaEYzaQY5O+nSTHhB c1YT7sYOsjCbwtzrvh+dj0DwFaUL2cif9bFE/ZpJKQxljKtnVrZANSnNnjq5UP1KAVDM yvNAQQ1k/sSI1vPYGuQxBo4yHy8rdUAw+kqMvnkJC+IRqyhVu37fNz62m1pWtjpP5IFR YQpQFcOdTZQcFYNvS5c5OeIdMHsbAm5uG4E5o1MvupOFZCja2Bph5tgxjywzXlriSVS6 foeQ== X-Gm-Message-State: AOAM5336KCnYwQTzcN2oaRxdlIcWStxD4HxI/CDjzyzOBbQ/RDJWA1pc Fk/8bnUmneptpQSlw+vn0XbqDgJm8xSodQ== X-Received: by 2002:aa7:8119:0:b029:2b5:7e51:274b with SMTP id b25-20020aa781190000b02902b57e51274bmr19960434pfi.32.1622519951510; Mon, 31 May 2021 20:59:11 -0700 (PDT) Received: from hsinyi-z840.tpe.corp.google.com ([2401:fa00:1:10:5f83:3563:b780:4d82]) by smtp.gmail.com with ESMTPSA id 203sm2779735pfw.124.2021.05.31.20.59.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 May 2021 20:59:11 -0700 (PDT) From: Hsin-Yi Wang To: Matthias Brugger Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, Rob Herring , Enric Balletbo i Serra , chun-jie.chen@mediatek.corp-partner.google.com, Yong Wu Subject: [PATCH v2 2/3] soc: mtk-pm-domains: do not register smi node as syscon Date: Tue, 1 Jun 2021 11:59:04 +0800 Message-Id: <20210601035905.2970384-2-hsinyi@chromium.org> X-Mailer: git-send-email 2.32.0.rc0.204.g9fa02ecfa5-goog In-Reply-To: <20210601035905.2970384-1-hsinyi@chromium.org> References: <20210601035905.2970384-1-hsinyi@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mediatek requires mmsys clocks to be unprepared during suspend, otherwise system has chances to hang. syscon_regmap_lookup_by_phandle_optional() will attach and prepare the first clock in smi node, leading to additional prepare to the clock which is not balanced with the prepare/unprepare pair in resume/suspend callbacks. If a power domain node requests an smi node and the smi node's first clock is an mmsys clock, it will results in an unstable suspend resume. Fixes: f414854c8843 ("soc: mediatek: pm-domains: Add SMI block as bus protection block") Signed-off-by: Hsin-Yi Wang Reviewed-by: chun-jie.chen Reviewed-by: Enric Balletbo i Serra --- drivers/soc/mediatek/mtk-pm-domains.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/soc/mediatek/mtk-pm-domains.c b/drivers/soc/mediatek/mtk-pm-domains.c index 536d8c64b2b4..b762bc40f56b 100644 --- a/drivers/soc/mediatek/mtk-pm-domains.c +++ b/drivers/soc/mediatek/mtk-pm-domains.c @@ -297,6 +297,7 @@ generic_pm_domain *scpsys_add_one_domain(struct scpsys *scpsys, struct device_no const struct scpsys_domain_data *domain_data; struct scpsys_domain *pd; struct device_node *root_node = scpsys->dev->of_node; + struct device_node *smi_node; struct property *prop; const char *clk_name; int i, ret, num_clks; @@ -352,9 +353,13 @@ generic_pm_domain *scpsys_add_one_domain(struct scpsys *scpsys, struct device_no if (IS_ERR(pd->infracfg)) return ERR_CAST(pd->infracfg); - pd->smi = syscon_regmap_lookup_by_phandle_optional(node, "mediatek,smi"); - if (IS_ERR(pd->smi)) - return ERR_CAST(pd->smi); + smi_node = of_parse_phandle(node, "mediatek,smi", 0); + if (smi_node) { + pd->smi = device_node_to_regmap(smi_node); + of_node_put(smi_node); + if (IS_ERR(pd->smi)) + return ERR_CAST(pd->smi); + } num_clks = of_clk_get_parent_count(node); if (num_clks > 0) { -- 2.32.0.rc0.204.g9fa02ecfa5-goog