Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp627719rwn; Thu, 8 Sep 2022 06:44:36 -0700 (PDT) X-Google-Smtp-Source: AA6agR6M8Mjkom6hos6sSc6/9BGDruvHl0xn1Grv8dbXtRHYVt9wewQVpbTH5veg7aPW/S5fQq1/ X-Received: by 2002:a05:6402:350a:b0:44e:9da7:2afb with SMTP id b10-20020a056402350a00b0044e9da72afbmr7378886edd.290.1662644676199; Thu, 08 Sep 2022 06:44:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662644676; cv=none; d=google.com; s=arc-20160816; b=Cc6tOnogd7Z8voK2rXonrQNVMNnw8+uigXZi/cCpyj7I0d1K56e9YZnpp4UqMRYxTT fBSrN1lcT4Jk4NaKwbkx4xzqPAo9O9Li+0pM6w13AuH5ojqW/4/P0qXzyINyV/A4tFVh nf5WvK2wn5ccZB42bC3BIBk0tLksJKc/gpS4uo25Fls/7B5X3Da564Wqnz0wVNIKmaCY MTTrWvlWfiTbH3RGLGexp3s5/ijINAHMxI0pNKbQ/jm8TWoY9Dbs5VZjkTkNhiWYTwMR 7cdlXC5Paq+o8BwWmTWtbLulhOQRNl72FMfQdJMJhjA/dQJidP6uYaj2z+ijx/pct+6Y ZN5A== 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; bh=3UXnKp6Go6PYoz7q4luoMbKTxeTdnrB40pbBHe3oIck=; b=NUffz8dMEs81wt4pRi0Ru7Y04Y2ewnX1yMRpmQDp0d+d4WyDs7CAQCqwiX/4NvX/Qd WCE7/dnFPDnvqGdEsaIiRt5Ug6heAIW+LJ8yRZp8x6JVmjpd4/QAcQq75LcYVHkO8bfI OlQ/ikAmnu/WQAb8GvAXnVW3G5qr1YnR2E5/dS3CJakKUVcjNTdwPzr/jNbVcvNRdoOE jriQkO+hb1MlkJdyXIujwmt4FmLbLikgKDGXt3v5uNzpjIq7gGPGUtaQYl+K1FZghcWR 7SNipDlm46WuiTOoE3MMpLGJq2l8BVB346GEo0m1dmNVRcU8PR3z+xuH5lL1VsXviWXD bhOQ== ARC-Authentication-Results: i=1; mx.google.com; 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 er14-20020a056402448e00b0044eebca511fsi4561034edb.109.2022.09.08.06.44.09; Thu, 08 Sep 2022 06:44:36 -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; 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 S232113AbiIHNGj (ORCPT + 99 others); Thu, 8 Sep 2022 09:06:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57394 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231766AbiIHNGh (ORCPT ); Thu, 8 Sep 2022 09:06:37 -0400 Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0B286A98D1; Thu, 8 Sep 2022 06:06:36 -0700 (PDT) Received: by mail-yb1-f177.google.com with SMTP id b136so5592417yba.2; Thu, 08 Sep 2022 06:06:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=3UXnKp6Go6PYoz7q4luoMbKTxeTdnrB40pbBHe3oIck=; b=qYMkL/1GPIlupcop7SK2QFxw/xunYwZ+pifSxIdDfLe1YD0/DZwmA3C4Yj2BWLhLz7 DOGIY5RVQapCDzjxE7v5JNu3CRIEqt8MN4ZZLYIYMbEJKUPWSuF4EOWUlZro0QIFiLlD BvW4YCb0s9sYzXdcrImKElImcXNTMFSuNqxvdrEDOSvK3GpeNXGUaNAAsiIaEHHNJKqu QugkxUfjJxU2SvT5tZcxNzqLZOLts6XOKVF+Cu5odk2/8Pg0aHabfMM8vmZYgAxKnhbU 6eZUxE+mcDDYQUSnZ4WJlFA0RpNMGoHF6PHBc500emjFLyFswRx2gX8xIBUI4bvkTtqq XUtg== X-Gm-Message-State: ACgBeo2hZYLVmM4wXIhg57QEcXIm8sv7Tguie0DxYRgVEXXZ8JyXIP/s +DZDGpZvNXABVHbH99hmwgBA3g6n7FAi3JQl3LM= X-Received: by 2002:a25:e64c:0:b0:6a9:89cf:155 with SMTP id d73-20020a25e64c000000b006a989cf0155mr6520399ybh.365.1662642395130; Thu, 08 Sep 2022 06:06:35 -0700 (PDT) MIME-Version: 1.0 References: <20220831081603.3415-1-rrichter@amd.com> <20220831081603.3415-7-rrichter@amd.com> <63198617c7854_5801629450@dwillia2-xfh.jf.intel.com.notmuch> In-Reply-To: <63198617c7854_5801629450@dwillia2-xfh.jf.intel.com.notmuch> From: "Rafael J. Wysocki" Date: Thu, 8 Sep 2022 15:06:16 +0200 Message-ID: Subject: Re: [PATCH 06/15] PCI/ACPI: Link host bridge to its ACPI fw node To: Dan Williams Cc: Robert Richter , Alison Schofield , Vishal Verma , Ira Weiny , Ben Widawsky , Bjorn Helgaas , "Rafael J. Wysocki" , linux-cxl@vger.kernel.org, Linux Kernel Mailing List , Len Brown , Linux PCI , ACPI Devel Maling List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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, Sep 8, 2022 at 8:05 AM Dan Williams wrote: > > Robert Richter wrote: > > A lookup of a host bridge's corresponding acpi device (struct > > acpi_device) is not possible, for example: > > > > adev = ACPI_COMPANION(&host_bridge->dev); > > > > This could be useful to find a host bridge's fwnode handle and to > > determine and call additional host bridge ACPI parameters and methods > > such as HID/CID or _UID. > > When is this explicitly needed. "Could be useful" is interesting, but it > needs to have a practical need. It is needed and it is present on x86 AFAICS (see my last reply in this thread). This seems to be addressing an ARM64-specific issue. > > > > Make this work by linking the host bridge to its ACPI fw node. > > > > Signed-off-by: Robert Richter > > --- > > drivers/acpi/pci_root.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c > > index d57cf8454b93..846c979e4c29 100644 > > --- a/drivers/acpi/pci_root.c > > +++ b/drivers/acpi/pci_root.c > > @@ -1083,6 +1083,7 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root, > > goto out_release_info; > > > > host_bridge = to_pci_host_bridge(bus->bridge); > > + host_bridge->dev.fwnode = acpi_fwnode_handle(device); > > if (!(root->osc_control_set & OSC_PCI_EXPRESS_NATIVE_HP_CONTROL)) > > host_bridge->native_pcie_hotplug = 0; > > if (!(root->osc_control_set & OSC_PCI_SHPC_NATIVE_HP_CONTROL)) > > -- > > 2.30.2 > > > >