Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp2079634rwb; Sat, 24 Sep 2022 02:34:49 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5LfbLgY80Uud0PHMIMrHcFjRaGtTeH9xk2F32cLmCC0jsLgjtm66XKfc9plCYvFsbm+UWi X-Received: by 2002:a05:6402:40cc:b0:452:697e:da18 with SMTP id z12-20020a05640240cc00b00452697eda18mr12125452edb.288.1664012089489; Sat, 24 Sep 2022 02:34:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664012089; cv=none; d=google.com; s=arc-20160816; b=t2ff42UcH7ZkBTPlomUnWeG5gOh/AIEhfbRik3VBE8E7oE2KKh+gsOYGfokElQGjL7 u9ZcS/Qqdq9Fjvm6dA9rsqkjFdbgu03jL+uhWBVcVoQFgluYIuEUHYrwT0p3iJvHxdMP caiFF+OzVtic5fTIj6NQ1ARZWVJbsTrpuUWY4SWhxV5wNgw6e5DqAS/KtUDwl41Us702 LMODwkoQgCVYPuNEoT0myLgNOMoNxFdGdYyic4ACLDdEBDj1IRMIGivLzP2dv7Ymk7K1 MoaH8gKMsd8Nj4RA8i6jWk+Z84cLdausYBl0/DbBkEOFbKKjFvUsSR61RdX3IKwJl4KQ KkOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=jOVlQHL22J1XMXCVnl1CTAHyfcqkPl9BPW2JbOmg0jQ=; b=YwUDMzb/t+CurLAt5pCYCCx8axuA3SjShoy3vba49Z1qWBkFddpBttqMGzSDm40wZi ZRQ0hXLr5O6d0J3AAdfcbGKp+Ju/w0t2OCr3SF8bsYw7RvQ4m8MMa7XtWqHtpBu4SJbD UDHJZhwY3ylgucO3uIsUqAI7x+6CXp2ekWTudpqgNGrxRR7KxtWGRthvQZ8dlQ1f3xVj 27swCxvQF/hQ9Lmhv2602YfEa2u3ZiR0kYqGqRuUyzf5lv6hvSN5njb0K3/42iXA75k6 gRjqB9sjw7wpFIh6sgPF5wn5VFo7Tce1LSpBen5y4yKoGjBctWu/zlZ5NWaUeK8ueia0 LlvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CdWw8+Vt; 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 m20-20020a170906581400b007414081b2ebsi8822424ejq.148.2022.09.24.02.34.22; Sat, 24 Sep 2022 02:34:49 -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=CdWw8+Vt; 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 S233477AbiIXJYW (ORCPT + 99 others); Sat, 24 Sep 2022 05:24:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46574 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232388AbiIXJYU (ORCPT ); Sat, 24 Sep 2022 05:24:20 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED8DB139BC5; Sat, 24 Sep 2022 02:24:19 -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 dfw.source.kernel.org (Postfix) with ESMTPS id 8AFDB60DED; Sat, 24 Sep 2022 09:24:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7EACC433C1; Sat, 24 Sep 2022 09:24:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1664011459; bh=sH0EgeLtUBzTINPkwseRdDvepvwmB/n4Ui79CYX9/WY=; h=From:To:Cc:Subject:Date:From; b=CdWw8+VtB1snVkG7pyt7IWDC7NMXod+BPq2WJixQZ/9aDc7eC8PaEUzfKlCDMPhcA QU/o4fR5reRoUXUtLK1LPK0LzRh/8Cy7QMvbZq2WfSB7mYwBmkDAuMp9Rom9QMdg+9 nDQqGZh07nf9jKI5rtrmezItKPEZ1zI6xL2L2+PxOKlulpjaw+ch0UCYOI4dhUNPY0 A/WWy3NoCZAGzKZzJCVWqfKrYlpY8bMV7aY001o3QaSYdOy8bGD+yXFsSWqKO4bOXQ EHDcm8cJ2/DuKqE1C5zWMG1cYw8Rpvx/heoAawl2QKq2dLK8mA6zC/w+3fjZV1oU4h wsW7n0OElpxQw== Received: by pali.im (Postfix) id D83548A2; Sat, 24 Sep 2022 11:24:15 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Sergio Paracuellos , Matthias Brugger Cc: linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH 0/3] PCI: Introduce new PCI_CONF1_ADDRESS() and PCI_CONF1_EXT_ADDRESS() macros Date: Sat, 24 Sep 2022 11:24:01 +0200 Message-Id: <20220924092404.31776-1-pali@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 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 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 PCI controllers and lot of non-ECAM compliant PCIe controllers still use Intel PCI Configuration Mechanism #1 for accessing PCI config space. Native PCIe controller drivers invents its own macros which implements config space address calculation and in lof of cases it is just duplication of the same code. PCIe ECAM address macro PCIE_ECAM_OFFSET() is already in include header file linux/pci-ecam.h and ECAM compliant drivers were already converted to use it. Do similar thing also for Intel PCI Configuration Mechanism #1. Introduce into file drivers/pci/pci.h new PCI_CONF1_ADDRESS() and PCI_CONF1_EXT_ADDRESS() macros and convert two drivers pci-ftpci100.c and pcie-mt7621.c to use it. There are many more drivers which could be converted to this common macros. This can be done later. Note that similar cleanup was applied for U-Boot PCI controller drivers: https://lore.kernel.org/u-boot/20211126104252.5443-1-pali@kernel.org/ Changes since RFC: * Move macros to file drivers/pci/pci.h Pali Rohár (3): PCI: Add standard PCI Config Address macros PCI: ftpci100: Use PCI_CONF1_ADDRESS() macro PCI: mt7621: Use PCI_CONF1_EXT_ADDRESS() macro drivers/pci/controller/pci-ftpci100.c | 21 +++---------- drivers/pci/controller/pcie-mt7621.c | 17 ++++------ drivers/pci/pci.h | 45 +++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 28 deletions(-) -- 2.20.1