Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp124270imm; Fri, 10 Aug 2018 08:36:20 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyYZ6iR9/ZX5v81x5SJEMLTCqPMI+GImqK/me+zfFbtYzuIDcqzIxeA8bMTJYpkF2cGez+H X-Received: by 2002:a62:43c8:: with SMTP id l69-v6mr7671046pfi.196.1533915380739; Fri, 10 Aug 2018 08:36:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533915380; cv=none; d=google.com; s=arc-20160816; b=doznJJsoHQBONV0i7RGXn7M+BeJDJMNJFdrcV3iTfgTLeyz2a73CNbughDtx6/4Aed KZcsbMhBtkgts2MihMt0AVsbU9oNYI3rNOQML+x5wl2cTd5VBXv/FLwr3nvookGEytVE Hmj3BBlYcteP5Gc0BWbKE3c5+Z6y/pE9PwXnNHhbrD4KdQYzmdUkdsIwdBrPdd5OfAe5 3aHgCBlYs+KWMc1uoyEqjm2M0eczOnMZWyHHqMdtXkTgBoVe3BlnxhusL0XTtORfkP5S yzudbEGeT9r9mp6tZ0QDwqZChSEbpMJTQQHxCQNjQIFGXAuHay3oIZ57SZiF/4Hkp3WV qEgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=frs/I73tdGlkM2AbGBjjDOOOCxbvOPuRBJZtxJp7lXI=; b=e08pzM2PVHlkSMeKAOck0maFxE0fJZ3xH52aWONShCJsiGZsiMM2wsK+lBB2k/UuXN f/cS6KtUsx6eI+d7wYI2f9scM1sJEQdrIo6mO3OvjJ/IX2YPyeItquybpbRQIXB/nuZC cmcEFiHHgNMYk94facRPJQZHJqgBv1IzenIYZNTH5SPHUchOPa+VjmiNclkzM9AtRAvq jQmpfiHHpjCuFGPhdh6oq6jflkUz/M6HbrLNSjUxU9vpN6sP2iWrR3URyXd2bvYSYXqK Fg0v9pBxItzL9eKJpxoJBs4nqLoZEpBtDajjlfslBgXAeHnF88A/ZupIrAgk+3/UtEh1 LqSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1W2HWXuz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 200-v6si10417181pgf.378.2018.08.10.08.36.05; Fri, 10 Aug 2018 08:36:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=1W2HWXuz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1727493AbeHJQ2k (ORCPT + 99 others); Fri, 10 Aug 2018 12:28:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:39274 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727209AbeHJQ2j (ORCPT ); Fri, 10 Aug 2018 12:28:39 -0400 Received: from localhost (173-25-171-118.client.mchsi.com [173.25.171.118]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 433D7208A1; Fri, 10 Aug 2018 13:58:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1533909518; bh=YU8luSuUQ5m++6vUttEGVUDRfY9cUuemwkpRSwYm7x4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=1W2HWXuzwu5Jb4aEfvzRweYf1P2mhXXrTNfGSkXRXWpELv4FPG6TyyOQ39bLsAXTs ZdWZg6z3fIjSb8vPThh7POleddpetybE7V9TFJcfm1jXS2gid+b9jIHvWo4ttwNS5H G2PWmmIkrQaMdErpIuhC4Fg2l0c/4UtdnxaODOkE= Date: Fri, 10 Aug 2018 08:58:37 -0500 From: Bjorn Helgaas To: joeyli Cc: "Lee, Chun-Yi" , Bjorn Helgaas , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , x86@kernel.org, linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] x86/PCI: Claim the resources of firmware enabled IOAPIC before children bus Message-ID: <20180810135837.GI113140@bhelgaas-glaptop.roam.corp.google.com> References: <20180724110144.16442-1-jlee@suse.com> <20180806214807.GE30691@bhelgaas-glaptop.roam.corp.google.com> <20180808155318.GE13767@linux-l9pv.suse> <20180808212322.GF49411@bhelgaas-glaptop.roam.corp.google.com> <20180810092501.GP13767@linux-l9pv.suse> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180810092501.GP13767@linux-l9pv.suse> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 10, 2018 at 05:25:01PM +0800, joeyli wrote: > On Wed, Aug 08, 2018 at 04:23:22PM -0500, Bjorn Helgaas wrote: > ... > The lspci log shows "Normal decode" on the bridge, I think that means > positively decode. Right. > hm... I have another question that it may not relates to this issue. I > was tracing the code path of PCI hot-remove/hotplug. Base on spec, looks > that the RST# should be asserted when hot-remove. And the memory decode > bit must be set to zero after RST# be asserted. But I didn't see that > any kernel PCI/ACPI code set RST#. The only possible code to set RST# is > in POWER architecture. Do you know who assert the RST# when hot-remove? RST# is a conventional PCI signal (not a PCIe signal). In any case, I would expect signals like that to be handled by hardware, not by software. What section of the spec are you looking at? I wouldn't expect any requirements for doing things to a device when the device is being hot-removed, since the device may already be inaccessible, e.g., physically unreachable. On a hot-*add*, there would of course be requirements about how the device powers up and comes out of reset. For native drivers like pciehp/shpcpd/etc, there are often ways for software to control power to the slot, e.g., the "Power Controller Control" bit in the PCIe Slot Control register. For ACPI-mediated hotplug (as in your situation), the actual hardware details are handled by the firmware and all the OS sees are things like ACPI Notify events and it uses methods like _STA and other things mentioned in ACPI v6.2, sec 6.3. > > What are the chances of getting a firmware fix? Has this firmware > > already shipped to customers? > > The good news is that the machine has not shipped yet. As I know > that manufacturer is also finding the root cause for why firmware > enabled memory decode bit and also set the wrong addresses. I don't think it's necessarily a problem that firmware enables the IOAPIC. This is ACPI-mediated hotplug and it looks like it adds CPUs, memory, and I/O. I wouldn't be surprised if the firmware has to make the IOAPIC operational to make some parts of the hot-add work. The address conflict is the real problem. Bjorn