Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1072966iog; Thu, 30 Jun 2022 16:35:37 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sitmzQeNvpzJWhZyKWzKidAvkISQQMjpfG6sBx5PlnA8oy4UIWS83sJv9ihldP/JkCzMjJ X-Received: by 2002:a05:6402:f1b:b0:436:d3c4:aef2 with SMTP id i27-20020a0564020f1b00b00436d3c4aef2mr15132935eda.27.1656632137521; Thu, 30 Jun 2022 16:35:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656632137; cv=none; d=google.com; s=arc-20160816; b=yq9tnZD7mmltxc1wEpmmF0fXUuKhzdPmt62O41fe8nhpPD1vxhu2gB44m2wjJEkVit Xq+lWAbrs6C/bH+Mhz9TSsFGpWULIDCTK20YTM+cxBJ5C4sGPv0ckSF67CcFeMU4ODdw IKyF4DfMJo6Epel7YLbf4BtpY3tEdor65MqlYq+bq3SJOt7uKErdqEcwzOYMb94aoLzr 4hYpBnruDPMrSU2mQabifgwQTjvgTu8T+XLgR1KmWIB++4kIXk5MT3f6YfpckBexr2SK YAQSrYfE9s+U09Yy3c8BK37PGCC0AB0Lyr+4+qi/+8z4YYk066mQzOnCBDdWNOh7ys78 RXcg== 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:from:in-reply-to :references:mime-version:dkim-signature; bh=D58Yj08cFDElW+eQ2RyhE87O6P0d6oSE8pi2SJUy3hY=; b=hM/GyvPmoBBrcz8IXjlc1c3ExlzJKfwzWiRVjJ6UXOTGr2t9AcMDofWRsi6Ud1gYXr bSX8uAc9bwBIcfN98G5TMWCCqGKwe4COLBg1WbPABdpG/BmU3iQ1BTmDZxV6xPn+33u3 kYskkc9gD5LR7psCAW757otd20/otD5j4J3sx6Hy3y7vROGFBdswthfBZeoyQjmPyGx+ TM5GBP50J07bLgu44kwv2cGpthENGRiM/v/6PVs5tfwcybx8xDhzmkopMJNOaHSaoi6A FoVrmlAqSTyvZyFMP4Lty6Gkk5TkCdmST+ol7mmptw61HdfYKmqiYbp61Yj4GFl6j/kD HqbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Qi98AIkp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nc17-20020a1709071c1100b007269dd78a15si8283133ejc.341.2022.06.30.16.35.09; Thu, 30 Jun 2022 16:35:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Qi98AIkp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232394AbiF3X0k (ORCPT + 99 others); Thu, 30 Jun 2022 19:26:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231553AbiF3X0j (ORCPT ); Thu, 30 Jun 2022 19:26:39 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 218D94476D; Thu, 30 Jun 2022 16:26:38 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id CE784B82D3D; Thu, 30 Jun 2022 23:26:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 91681C341DA; Thu, 30 Jun 2022 23:26:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1656631595; bh=ocxWtABVoequW5YNJWHtxjCAN6pvUTRglOmXliA+RpI=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Qi98AIkpiogBRU1SIQ0tRIDCbTH3aUhLmIwceSXkScDwXJRgoZSsHLUvO4xn/Aaco jUeeJ1bfKaPPoD5NhRVnYvDv7ZJXteCeyyAcTVk2eHussC2U0xAsQizgRBBb0q143b FegjCvwcXeJGM0D9K4OwnWTFftyuJNqy/fsRt4PTeKXuJzs2BuvZWQf47mcHBJ2zFS QiVBk+IwIKPPurNp4TBJXnbB2mxb/ZoerePEqqTYli4zzKaVWaF/7nbwI+VJW9Rn0M rjJI0pOTvoDA8U1DSfb8VACgJqhFmYGFBJhUpERO6ZqZ0i2uiu9/r5+1gdHldP6Y7H ugsbpRRMOTwdQ== Received: by mail-ua1-f49.google.com with SMTP id l7so242492ual.9; Thu, 30 Jun 2022 16:26:35 -0700 (PDT) X-Gm-Message-State: AJIora/ff47zuqJIg9g5I/iw+cAn4HD1zgN6N1goCfyDEo1vU6k982DW TG+3LJD4XguuAcgLL0Z71mDMCAsyg8wDV6xX1w== X-Received: by 2002:ab0:244f:0:b0:37f:2985:e620 with SMTP id g15-20020ab0244f000000b0037f2985e620mr6853095uan.36.1656631594258; Thu, 30 Jun 2022 16:26:34 -0700 (PDT) MIME-Version: 1.0 References: <20220601070707.3946847-1-saravanak@google.com> <20220601070707.3946847-2-saravanak@google.com> In-Reply-To: From: Rob Herring Date: Thu, 30 Jun 2022 17:26:22 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 1/9] PM: domains: Delete usage of driver_deferred_probe_check_state() To: Saravana Kannan Cc: Tony Lindgren , Geert Uytterhoeven , Greg Kroah-Hartman , "Rafael J. Wysocki" , Kevin Hilman , Ulf Hansson , Len Brown , Pavel Machek , Joerg Roedel , Will Deacon , Andrew Lunn , Heiner Kallweit , Russell King , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Linus Walleij , Hideaki YOSHIFUJI , David Ahern , Android Kernel Team , "linux-kernel@vger.kernel.org" , "open list:THERMAL" , Linux IOMMU , netdev , "open list:GPIO SUBSYSTEM" , Alexander Stein Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham 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 On Thu, Jun 30, 2022 at 5:11 PM Saravana Kannan wrote: > > On Mon, Jun 27, 2022 at 2:10 AM Tony Lindgren wrote: > > > > * Saravana Kannan [220623 08:17]: > > > On Thu, Jun 23, 2022 at 12:01 AM Tony Lindgren wrote: > > > > > > > > * Saravana Kannan [220622 19:05]: > > > > > On Tue, Jun 21, 2022 at 9:59 PM Tony Lindgren wrote: > > > > > > This issue is no directly related fw_devlink. It is a side effect of > > > > > > removing driver_deferred_probe_check_state(). We no longer return > > > > > > -EPROBE_DEFER at the end of driver_deferred_probe_check_state(). > > > > > > > > > > Yes, I understand the issue. But driver_deferred_probe_check_state() > > > > > was deleted because fw_devlink=on should have short circuited the > > > > > probe attempt with an -EPROBE_DEFER before reaching the bus/driver > > > > > probe function and hitting this -ENOENT failure. That's why I was > > > > > asking the other questions. > > > > > > > > OK. So where is the -EPROBE_DEFER supposed to happen without > > > > driver_deferred_probe_check_state() then? > > > > > > device_links_check_suppliers() call inside really_probe() would short > > > circuit and return an -EPROBE_DEFER if the device links are created as > > > expected. > > > > OK > > > > > > Hmm so I'm not seeing any supplier for the top level ocp device in > > > > the booting case without your patches. I see the suppliers for the > > > > ocp child device instances only. > > > > > > Hmmm... this is strange (that the device link isn't there), but this > > > is what I suspected. > > > > Yup, maybe it's because of the supplier being a device in the child > > interconnect for the ocp. > > Ugh... yeah, this is why the normal (not SYNC_STATE_ONLY) device link > isn't being created. > > So the aggregated view is something like (I had to set tabs = 4 space > to fit it within 80 cols): > > ocp: ocp { <========================= Consumer > compatible = "simple-pm-bus"; > power-domains = <&prm_per>; <=========== Supplier ref > > l4_wkup: interconnect@44c00000 { > compatible = "ti,am33xx-l4-wkup", "simple-pm-bus"; > > segment@200000 { /* 0x44e00000 */ > compatible = "simple-pm-bus"; > > target-module@0 { /* 0x44e00000, ap 8 58.0 */ > compatible = "ti,sysc-omap4", "ti,sysc"; > > prcm: prcm@0 { > compatible = "ti,am3-prcm", "simple-bus"; > > prm_per: prm@c00 { <========= Actual Supplier > compatible = "ti,am3-prm-inst", "ti,omap-prm-inst"; > }; > }; > }; > }; > }; > }; > > The power-domain supplier is the great-great-great-grand-child of the > consumer. It's not clear to me how this is valid. What does it even > mean? > > Rob, is this considered a valid DT? Valid DT for broken h/w. So the domain must be default on and then simple-pm-bus is going to hold a reference to the domain preventing it from ever getting powered off and things seem to work. Except what happens during suspend? Rob