From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bjorn Helgaas Subject: Re: [PATCH] ACPI/PCI: pci_link: change log level of no _PRS messages Date: Sat, 10 Feb 2018 09:34:50 -0600 Message-ID: <20180210153450.GD206223@bhelgaas-glaptop.roam.corp.google.com> References: <1518217003-19637-1-git-send-email-alex.hung@canonical.com> <20180210010548.GC206223@bhelgaas-glaptop.roam.corp.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail.kernel.org ([198.145.29.99]:45020 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750934AbeBJPex (ORCPT ); Sat, 10 Feb 2018 10:34:53 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "Rafael J. Wysocki" Cc: Alex Hung , "Rafael J. Wysocki" , Len Brown , Linux PCI , ACPI Devel Maling List On Sat, Feb 10, 2018 at 09:08:42AM +0100, Rafael J. Wysocki wrote: > On Sat, Feb 10, 2018 at 2:05 AM, Bjorn Helgaas wrote: > > On Fri, Feb 09, 2018 at 02:56:43PM -0800, Alex Hung wrote: > >> In recent Intel hardware the IRQs become non-configurable after BIOS > >> initializes them in PEI phase and _PRS objects are no longer included in > >> ASL. > >> > >> This is the same as "static (non-configurable) devices do not > >> specify a _PRS object" in ACPI spec. As a result, error messages > >> saying "ACPI Exception: AE_NOT_FOUND, Evaluating _PRS" does not need to > >> be in kernel messages all the time but only when debug is enabled. > > > > I agree and would even go further: _PRS is optional and I don't think > > there's a reason to log anything at all if it's absent. A log message > > like "failed to evaluate _PRS" makes people think something is wrong > > when in fact nothing is wrong. > > _PRS is required if the link object is pointed to by a _PRT entry. The closest thing I see with a quick look is ACPI 6.0, sec 6.2.13: These objects [PCI Interrupt Link Devices] have _PRS, _CRS, _SRS, and _DIS control methods to allocate the interrupt. I don't read that as a requirement for _PRS in particular; I read it as saying that the interrupt link devices use the normal device configuration method, i.e., _CRS is required and _PRS and _SRS are optional and needed for configurable devices but not for static ones. But this is just a drive-by comment and I'm really fine with whatever you decide to do. > > That leads to the mindset of treating a missing _PRS as an error when > > it's not. In fact, it looks like acpi_pci_link_add() *does* treat > > this as an error. If _PRS doesn't exist, it skips the _CRS > > evaluation. That seems wrong. > > I agree here. _CRS still should be evaluated if _PRS is not there in > general, but in some cases the lack of _PRS *is* an error.