From patchwork Thu Aug 13 17:57:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 11712811 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BD354174A for ; Thu, 13 Aug 2020 17:57:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id AE04220855 for ; Thu, 13 Aug 2020 17:57:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726334AbgHMR5d (ORCPT ); Thu, 13 Aug 2020 13:57:33 -0400 Received: from mga12.intel.com ([192.55.52.136]:7942 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726167AbgHMR5d (ORCPT ); Thu, 13 Aug 2020 13:57:33 -0400 IronPort-SDR: Gn10vtem+ZBKbevB+5atryy2lLyXmMU//VMJRNMzPZ2drNYKy4GPmAnZc4/Uw+6uXLspsivCu6 altjr5uca3xQ== X-IronPort-AV: E=McAfee;i="6000,8403,9712"; a="133815478" X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="133815478" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Aug 2020 10:57:33 -0700 IronPort-SDR: pPx9TCv2xPXd7OwMhhvVfxONdW5+WmygyhEDRtlXZWG0JysxxEE42r9zLf319XgPEq7ksoqXIQ Fmc76sc0NFwQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="495474439" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga006.fm.intel.com with ESMTP; 13 Aug 2020 10:57:31 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 606E4348; Thu, 13 Aug 2020 20:57:30 +0300 (EEST) From: Andy Shevchenko To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org Cc: Andy Shevchenko , Mika Westerberg , Kuppuswamy Sathyanarayanan , Bjorn Helgaas , linux-pci@vger.kernel.org Subject: [PATCH v1 3/7] resource: Introduce resource_union() for overlapping resources Date: Thu, 13 Aug 2020 20:57:25 +0300 Message-Id: <20200813175729.15088-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> References: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Some already present users may utilize resource_union() helper. Provide it for them and for wider use in the future. Deliberately avoid min()/max() macro as they are still parts of kernel.h which is quite a burden to be included here in order to avoid circular dependencies. Signed-off-by: Andy Shevchenko Cc: Mika Westerberg Cc: Kuppuswamy Sathyanarayanan Cc: Bjorn Helgaas Cc: linux-pci@vger.kernel.org --- include/linux/ioport.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 0193987b9968..c98df0ec7422 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -232,6 +232,16 @@ static inline bool resource_overlaps(struct resource *r1, struct resource *r2) return (r1->start <= r2->end && r1->end >= r2->start); } +static inline bool +resource_union(struct resource *r1, struct resource *r2, struct resource *r) +{ + if (!resource_overlaps(r1, r2)) + return false; + r->start = r2->start < r1->start ? r2->start : r1->start; + r->end = r2->end > r1->end ? r2->end : r1->end; + return true; +} + /* Convenience shorthand with allocation */ #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), 0) #define request_muxed_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name), IORESOURCE_MUXED) From patchwork Thu Aug 13 17:57:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 11712819 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 618D713A4 for ; Thu, 13 Aug 2020 17:57:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5054F2078D for ; Thu, 13 Aug 2020 17:57:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726486AbgHMR5g (ORCPT ); Thu, 13 Aug 2020 13:57:36 -0400 Received: from mga07.intel.com ([134.134.136.100]:1402 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726384AbgHMR5g (ORCPT ); Thu, 13 Aug 2020 13:57:36 -0400 IronPort-SDR: qiK9AznEIyJbFTHmf2Wr7tauM96GUGkevC/20QaLtykLUr0MntlCgCC+YJiV5u4/Nw5W2/dwyt Mj0ItwOiuhrQ== X-IronPort-AV: E=McAfee;i="6000,8403,9712"; a="218626203" X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="218626203" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Aug 2020 10:57:33 -0700 IronPort-SDR: zVhLbiZLkjhAVad+77Sb2uU6sXPPgozGcXziqIxeesSRpm+feFgpTH3fbiixC0Tiaell1MOLK8 O+O5C9X4v2wQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="295510386" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga006.jf.intel.com with ESMTP; 13 Aug 2020 10:57:31 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 74D633D7; Thu, 13 Aug 2020 20:57:30 +0300 (EEST) From: Andy Shevchenko To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org Cc: Andy Shevchenko , Kuppuswamy Sathyanarayanan , Bjorn Helgaas , linux-pci@vger.kernel.org Subject: [PATCH v1 5/7] PCI/ACPI: Replace open coded variant of resource_union() Date: Thu, 13 Aug 2020 20:57:27 +0300 Message-Id: <20200813175729.15088-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> References: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Since we have resource_union() helper, let's utilize it here. Signed-off-by: Andy Shevchenko Cc: Kuppuswamy Sathyanarayanan Cc: Bjorn Helgaas Cc: linux-pci@vger.kernel.org Reviewed-by: Rafael J. Wysocki --- drivers/acpi/pci_root.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index f90e841c59f5..2a6a741896de 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -724,9 +724,7 @@ static void acpi_pci_root_validate_resources(struct device *dev, * our resources no longer match the ACPI _CRS, but * the kernel resource tree doesn't allow overlaps. */ - if (resource_overlaps(res1, res2)) { - res2->start = min(res1->start, res2->start); - res2->end = max(res1->end, res2->end); + if (resource_union(res1, res2, res2)) { dev_info(dev, "host bridge window expanded to %pR; %pR ignored\n", res2, res1); free = true; From patchwork Thu Aug 13 17:57:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 11712823 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D1BCC175D for ; Thu, 13 Aug 2020 17:57:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BA32422B45 for ; Thu, 13 Aug 2020 17:57:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726384AbgHMR5g (ORCPT ); Thu, 13 Aug 2020 13:57:36 -0400 Received: from mga12.intel.com ([192.55.52.136]:7942 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726174AbgHMR5g (ORCPT ); Thu, 13 Aug 2020 13:57:36 -0400 IronPort-SDR: IKw9amXSVK1TY88beb681QuQYTAupXZNu22wAzbEiNHoGq9AHlkHX1eFK5C7swQ809JmwqfJ38 NbvbUx6+qEUw== X-IronPort-AV: E=McAfee;i="6000,8403,9712"; a="133815485" X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="133815485" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Aug 2020 10:57:35 -0700 IronPort-SDR: ew+UmUcrayRNRf8ID5PJEfj+r4LN1cw6DfXmBL8ZLM/Hr5MkPXuPLJXSmjyWiJRrlL9Q8hJeMW gmMZ7JmTA1BA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,309,1592895600"; d="scan'208";a="470308899" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 13 Aug 2020 10:57:33 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7ECA53A3; Thu, 13 Aug 2020 20:57:30 +0300 (EEST) From: Andy Shevchenko To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org Cc: Andy Shevchenko , Kuppuswamy Sathyanarayanan , Bjorn Helgaas , linux-pci@vger.kernel.org Subject: [PATCH v1 6/7] PCI/ACPI: Fix description of @handle for acpi_is_root_bridge() Date: Thu, 13 Aug 2020 20:57:28 +0300 Message-Id: <20200813175729.15088-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> References: <20200813175729.15088-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Fix description of handle parameter in documentation of acpi_is_root_bridge(). Otherwise we get the following warning: CHECK drivers/acpi/pci_root.c drivers/acpi/pci_root.c:71: warning: Function parameter or member 'handle' not described in 'acpi_is_root_bridge' Signed-off-by: Andy Shevchenko Cc: Kuppuswamy Sathyanarayanan Cc: Bjorn Helgaas Cc: linux-pci@vger.kernel.org --- drivers/acpi/pci_root.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 2a6a741896de..f723679954d7 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c @@ -62,7 +62,7 @@ static DEFINE_MUTEX(osc_lock); /** * acpi_is_root_bridge - determine whether an ACPI CA node is a PCI root bridge - * @handle - the ACPI CA node in question. + * @handle: the ACPI CA node in question. * * Note: we could make this API take a struct acpi_device * instead, but * for now, it's more convenient to operate on an acpi_handle.