Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp987884pxb; Fri, 22 Apr 2022 16:04:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzudEYzhCo/USLo+HYVzPslgZn3TkmoR8PA/Mc8ewU1Wv5e4VeyqvlcV2rALw2PqALILlRC X-Received: by 2002:a63:89c2:0:b0:3aa:7bab:da46 with SMTP id v185-20020a6389c2000000b003aa7babda46mr5818053pgd.356.1650668660570; Fri, 22 Apr 2022 16:04:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650668660; cv=none; d=google.com; s=arc-20160816; b=n+m6k4GwmrF+4PUEBlR9XsJHAJ+d0w98sM8kpYzlEjbKoM25WQx7ORKfv5Bdxed+5T hdH4EsfrszYycXcLOEYw+NxCDxpHU7rmztOm/Y+JkYJ2TW406+bMaLmE77EAcXMkSwZO Kq7HxPL+UW5Efo2ZzmcuvrrLrbaTrcEnT1+X6GsDWYAU0SuzeIae1CRYdim56VAhrM7y X608Yn5yI/rl5YIg2WJvahfbspjMjmBYm30/z4Dm7O17Ew+tZwy6EIUlY/vbgy8xO3Kj WsPTVVcHL4u3bN2KYuKkBjF1nZwt1VcwqwDuBxz9KvOB90A012LFZmPrIW4Pqm/TmqRE 2pUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:user-agent:from :references:in-reply-to:mime-version:dkim-signature; bh=8fNT3B9xShMp8YjDhB8mNsFwDWX1HRS1Y91CrVG13FY=; b=rYitmKCCnSYkr0Xb6XS/nWkqbvzHQ9c2m/wiFlFUa2R7ArYYjSI4M9c/nXVpKIwcIU C6PORmL9kjkwBeDJMo5VZEqASQ7Wo1XLe/6GSfG8NDYZ62NLipaFlrEstFnch3ksK5L6 4cqUIxnQt2bBGdl3s6EGEuw2WEqC/GyOp5EUKmpd0aImuBOKi9J16Uef65NrhLjqs9aq LclPuZxrRF+RVBvMp0AcUIJMRnQzSfVYxHS2hjZM8EI3n/xc5U6D/Q77QD0Wm5uxG9qs z6cX8m3UZ4X/4oYISwRqOKSJAv2rVsId8o732FJbD4djX/EOY3mDUxpQJtxgv2kFEN2K docw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=A1Yt+jpS; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id c10-20020aa7952a000000b0050ab9bbd3e7si8664359pfp.206.2022.04.22.16.04.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Apr 2022 16:04:20 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=A1Yt+jpS; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id A2190293ABE; Fri, 22 Apr 2022 14:53:18 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230343AbiDVV4G (ORCPT + 99 others); Fri, 22 Apr 2022 17:56:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230302AbiDVVz4 (ORCPT ); Fri, 22 Apr 2022 17:55:56 -0400 Received: from mail-oa1-x36.google.com (mail-oa1-x36.google.com [IPv6:2001:4860:4864:20::36]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B91DF2A3D4E for ; Fri, 22 Apr 2022 13:38:26 -0700 (PDT) Received: by mail-oa1-x36.google.com with SMTP id 586e51a60fabf-e5c42b6e31so9779966fac.12 for ; Fri, 22 Apr 2022 13:38:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:user-agent:date:message-id :subject:to:cc; bh=8fNT3B9xShMp8YjDhB8mNsFwDWX1HRS1Y91CrVG13FY=; b=A1Yt+jpSTR8vU8ep0aUKLOsD88y/Ntg+K6gPVRkqcFHGbnr5asBMqtQ3LP4oMIyBl8 OjQ3WRB2aedSWEX4Gm/d6wCfkUbgPOoLUdsvi2FKp6SR4f5XV7SFuppJnMiTxYXImXGu u3G6TJ2AP6MnAJClkh4o5q0x5y4yqP4L+41Ds= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:in-reply-to:references:from :user-agent:date:message-id:subject:to:cc; bh=8fNT3B9xShMp8YjDhB8mNsFwDWX1HRS1Y91CrVG13FY=; b=PrSebyU7EamZoVgFSOO1EHLbUgvOdWUnatNTAi5c5C7QuQu+Sw55gJFmRkVAPG4HQK f1WzqQ5JGAzSZ9Qia6uh9GZiZe+csYDd0Z3zSpHcEHYDjKeK0YM/wosLV4/MM+24DipX DB7Y5ikL5+k3Hgj394PX+nnKbdH1p8dDfOF2FKN9e4J4p4r1R7+Ka1hHETKbgpqRv5ZO d5y0cLsQ3nSNGw/gVlGoH/KeZKd+tszrOpIrr8cJnEnKvYl0fAtF0HrnpoMO4nQIB12V iOMn7hUMcBCsQAAenh8r9QeraniFszd2D/FuP1LMFLWIS9Gm6P7PaNXiVciSbCA8WotJ HcQA== X-Gm-Message-State: AOAM530jk9L/7iJ0xhkQC1KASOhx27nIaRKiDqzvdTD6ImEWzOVqHUQT F50UwlnIZnNocKo8ocPLt25BCKe2G22Gx73KZRDxzg== X-Received: by 2002:a05:6870:15ca:b0:e9:551:6d1c with SMTP id k10-20020a05687015ca00b000e905516d1cmr1468427oad.193.1650659676785; Fri, 22 Apr 2022 13:34:36 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 22 Apr 2022 13:34:36 -0700 MIME-Version: 1.0 In-Reply-To: References: <20220412220033.1273607-1-swboyd@chromium.org> <20220415005828.1980055-1-swboyd@chromium.org> From: Stephen Boyd User-Agent: alot/0.10 Date: Fri, 22 Apr 2022 13:34:36 -0700 Message-ID: Subject: Re: [PATCH 3/2] arm64: dts: qcom: sc7180: Remove ipa interconnect node To: Bjorn Andersson , Georgi Djakov Cc: linux-kernel@vger.kernel.org, patches@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, Doug Anderson , Alex Elder , Taniya Das , Mike Tipton Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Georgi Djakov (2022-04-22 00:01:24) > On 20.04.22 5:56, Bjorn Andersson wrote: > > On Thu 14 Apr 17:58 PDT 2022, Stephen Boyd wrote: > > > >> This device node is unused now that we've removed the driver that > >> consumed it in the kernel. Drop the unused node to save some space. > >> > > > > I'm expecting that merging patch 3 and 4 will work, but cause sync_state > > to not happen until the driver changes are merged. > > > > Can you confirm my expectation? And perhaps confirm that it's fine for > > Georgi to pick the driver changes independently of the dts changes... It should be OK to pick the driver changes independently of the dts. They fix a boot up issue. > > I have picked the driver changes, as the boot failure definitely needs to > be addressed. The sync-state might not happen until we have the DT changes > merged, as the framework is matching the count of probed drivers with the > count of providers in DT. Indeed. The DT change is required to actually have sync-state happen when the driver changes are merged. Without the DT change I'm not able to enter suspend. I didn't notice this earlier, ugh. This means that the DTS change needs to be backported to fix suspend, because otherwise the _other_ interconnects that aren't IPA keep the initial sync-state request forever, waiting for the IPA provider in DT to be probed by a driver that doesn't exist. One solution is to have the DT change, which makes the probed driver and provider counts match. Maybe a better solution is to ignore these compatibles in the provider count? That way we aren't required to backport a DTS change and everything is still contained to driver code. ----8<---- diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index 80ed03f4dfd0..bfa6788afca1 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -1087,9 +1087,15 @@ static int of_count_icc_providers(struct device_node *np) { struct device_node *child; int count = 0; + const struct of_device_id ignore_list[] = { + { .compatible = "qcom,sc7180-ipa-virt", }, + { .compatible = "qcom,sdx55-ipa-virt", }, + {} + }; for_each_available_child_of_node(np, child) { - if (of_property_read_bool(child, "#interconnect-cells")) + if (of_property_read_bool(child, "#interconnect-cells") && + likely(!of_match_node(ignore_list, child))) count++; count += of_count_icc_providers(child); }