Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1296721

[PATCH] arm64, pci, numa: Adding helper functions as required by pci

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
Newsgroups linux.kernel
Subject [PATCH] arm64, pci, numa: Adding helper functions as required by pci
Date Tue, 22 Dec 2015 12:00:02 +0100
Message-ID <qIsPE-2RN-9@gated-at.bofh.it> (permalink)
X-Original-To <linux-arm-kernel@lists.infradead.org>, <linux-kernel@vger.kernel.org>, <linux-pci@vger.kernel.org>, <Will.Deacon@arm.com>, <catalin.marinas@arm.com>, <bhelgaas@google.com>, <hanjun.guo@linaro.org>, <rrichter@cavium.com>, <Prasun.Kapoor@caviumnetworks.com>
Authentication-Results spf=none (sender IP is ) smtp.mailfrom=Ganapatrao.Kulkarni@caviumnetworks.com;
X-Mailer git-send-email 1.8.1.4
MIME-Version 1.0
Content-Type text/plain
X-Originating-IP [111.93.218.67]
X-Clientproxiedby MA1PR01CA0002.INDPRD01.PROD.OUTLOOK.COM (25.164.117.9) To CY1PR0701MB1694.namprd07.prod.outlook.com (25.163.20.28)
X-Microsoft-Exchange-Diagnostics 1;CY1PR0701MB1694;2:EUm5BIklUy8vaFnPT/D+SPtIwHcIUS0s4WCz82nK8/py91NAzihr0pxaywSE+5kMmlUq7yqk/SywqrR36KKHIENfvy8gcaEUXIhWw3JsfCYN1LpGCKXtA8GFiXRgkgedSswIRZhae6Wjm1DnuqQDRA==;3:odSHpZiNVkpCn8pHVkGF5tctgDO46THesjHWqX1E+TY+nEXHIrbwXzTOpzyMR4tSW4IIrL8FVlGLvQuOZqaua1ZN3jXWZiNx9E4FcixYXb6S8vmJl7B7zpd0j7R4Jb1F;25:ZiAouGV9XRJsdXwTI29BBOQDLKczRw/4GmIBDDPGNAK2kWkRFzyz/OTUA5K/10rVskW3Ee27UpPqX89/EbWkK9ysnQh5iZAGE1ZnoX2Sloby+xR6SLBM4vdgzd6r4r5qOGhP9bIkW6lJdAGmsdsFU7gSfqw4+p0POx1/wQ/NwgIedv+GIhqQOgC4uM7WvoKPe4fBH8We3H9ZxlnXHirjyHGoFjmNXkkFcQYW9MZtfFQn0dI/YCs/4273uyXaVLDp
X-Microsoft-Antispam UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1694;
X-Microsoft-Exchange-Diagnostics 1;CY1PR0701MB1694;20:NeXDVg8nEvLVtViiSqh/D/z5k20KY8Hx3ryZ2bQAkp+My+xpUc72AwMLAx0fJ/uRgHhUqqwq2fLZXYUqS7x3vaKMiEp1aoeofE3OB/4L7xv1FwqO527rMFG7Lzf07jDj+qNsGH/zYxeQlXaPcWyp6A3XYR8YL+Lpp1e6P3OXQzAKVxxRQ+lOzXw27o2GMNFuBpr/NgvgaUYcAMnlfQRjUEfMRNWoO9fvolQCGUX/lVmcuOHJbRtMiHqzEgyfx7vTKztUtVdbcSyFCYvDARHJcxf7WqtTmUUVM7PZsdaqc/nA7tTlEfgGi4hDsy5QSKnN2ArudJpvrirhYBTXYKaxQ7k+hRrgSZ9TNslOgp9itTUrq8SU4XPmw1CbdleUFq86C0f8EApWnvrc4yWVEoyPcZXJjjxhvuSiSL/KwIeRQTigfdIJNL30aK3WmMTB4o6uV/4iWCpfQOaa/FLc4s+t4wH8f8shH50yr6F4C/E3i62ofL12fhNY9aJXrUA4ZICIOmggp3lu1pnFyIdy9C9BlgolPuU+1T8FMy7ZusKhxatlBBWIxG5Cjg3noLoKP13CloSnf+GzhhHMSlt9HMuR/EcbFuy3edyXRhik9cqHqDI=
X-Microsoft-Antispam-Prvs <CY1PR0701MB1694E8DD0587722390F966D78EE50@CY1PR0701MB1694.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test UriScan:(236414709691187);
X-Exchange-Antispam-Report-Cfa-Test BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046);SRVR:CY1PR0701MB1694;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0701MB1694;
X-Microsoft-Exchange-Diagnostics 1;CY1PR0701MB1694;4:m5ngRF9TGIA27V7cyOVUlv/5LvOX4wVNG2Zm+m6qy0mcP8bjkga5wiHPdee+akoWCkg0kBspZwgjLUR9khEjIQS9hIdHHJU8v9IbKAWHcYGrPPTh9figDqH9AIVuARPutQvpiQZy+IzqxWFk1gPRBVXLXTQR3gWbYvhPL1Y+K8gWgd3W0JkCWtD+WGUX8Ct79zAdK571krZXSMzG+oGHwDehftb1TupUtg/FOIssBP1+RjfFS8DX//CcOY9qrwjFOcsTWaGO/4JkPWv100l3vmC5Eaw/T/U6UExHObfZ6l0K1yotzaDyPqri7yJKeJictYavEurzxUzm7UzKhw+KqcN4f/TcFmN6G7V0UlRvwghBGPWUmrPi9WH5at5Gd2fims37uLD6+y3RPQPvej+wkTjT9IOHKchDe5nKxK8X2DU=
X-Forefront-Prvs 0798146F16
X-Forefront-Antispam-Report SFV:NSPM;SFS:(10009020)(6009001)(189002)(199003)(15975445007)(105586002)(5003940100001)(50226001)(229853001)(77096005)(122386002)(50466002)(19580405001)(92566002)(33646002)(19580395003)(48376002)(42186005)(106356001)(40100003)(87976001)(50986999)(2201001)(5001770100001)(36756003)(97736004)(5004730100002)(5008740100001)(189998001)(66066001)(586003)(1096002)(101416001)(4001450100002)(47776003)(3846002)(6116002)(5009440100003)(7099028)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR0701MB1694;H:mypc.cavium.com.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en;
Received-Spf None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics 1;CY1PR0701MB1694;23:rGZDT4QKfzSNNSKGtW3rdlw5hRWfCnYxxP0isPmBC1or2HByz3SNX1BAmDxPsBn98B0f1KyNYzRY6MpMzGZG4l+Ns7XFZxSzzVgQysgO1R8naFB7Q1j8cr9rxfOwVSefUP/yqsP4klk+ZO5G+ODGMOhL20MqsxUIpu30hgyJiHrSMQC54CWU4T09iVQzDAhHYIYoEYsqTOQFL1fLEdUBJmpeisQUvqylM8aRaDXEUSPNTdNd9DJ9sKq9jWme9J6Y5gRdyyKdGBR7vMKuCAsBlWglFvPp7+r2SuzuaI8mysK2r/H9jdrJjVLRJWe8qUiMPJbIixZPuj1CBJaz3JCqQmRaqcdLbTVLTJz3JJbanwwmfPSWd6N1A4vz5BlPnMBACzd1HzGHulKn7KmVNCcQVT8fI6mzCxr5DhyOpcqww1egrjPPKbHgHNy3LnEvBsMPMPT6u9ej5Zx9veenKgVhQ1kWvuKfqRfXUqE8nZMt3bz/eerHdb7kd1GmlNkwfUcqubwaklbel2hCW06ZEeCTsoXtxgoYUW7drS4cSr0lVXl39nn+bvcbegBTh209LygAkgQs95e4v6ROJi/GFZqBPrx+Xeb/CIQSatFdqqSJ28XUmwIJeKn0rcKEh3p2qH0yl33AAYcZvb0U7M9duYtb3DUFXHaWQeejHrg3BgqmKyLiejJm3ZvxIxJJWxEHQunW3cIt7dt1HHoFhOoGhN7YGH3yXfvwWKltvRc2vJHQD0ORI3VNewYIWf5wXtOOSQzzypMmPBvkt43gbVMtCb6baN7IFxVUU5o/2ByiqUCbnBI5Tu9uw3/JtBy0+WteYMx5K7Za93TFuOm/34eEuw3/vlpkOJNmgdeHsgQbWIzlrDXeZc0isv5LYUxWK5DzR5iUeiD4f+LC8e7dOZF+9GdVRcbNdhje41W/eq4etM9n+CKgwPxp8eVZSPeKDHVQMve14vFlCIBnT9H+PnCPn/QTEecYotCv+knDTxCi/Yukcgiioyl1wiZd/Wp4HIy5/3tiyjLsd9l0c071Ua/mWeyL7F9+LYYRl4972CYZR3NH8os=
X-Microsoft-Exchange-Diagnostics 1;CY1PR0701MB1694;5:FpRxXky4z6Sq6BtkUDJILnJHI8OGHhhqKSmjPPmqv8T3NPuBbUCNfVG/xpV+dWuaUUZR4c1C14sb3oD+325L0p+I/Rt3OiF7+x+gNJv86DD75pjt5K6wJ5hXQdN+Bb8InGg6bTF7ExQ4WzIWVdp1Og==;24:vsd+36nlzFSEbJCN93ZXv3/N6wNFkP4i4fdkacPe/34HLBFN9NfSM5t60jrNFV4KptSsV2LkGRKGZDwdC+wfdGqnJ3CApyTYizyrUE7UiQU=
Spamdiagnosticoutput 1:23
Spamdiagnosticmetadata NSPM
X-Originatororg caviumnetworks.com
X-Ms-Exchange-Crosstenant-Originalarrivaltime 22 Dec 2015 10:39:32.5182 (UTC)
X-Ms-Exchange-Crosstenant-Fromentityheader Hosted
X-Ms-Exchange-Transport-Crosstenantheadersstamped CY1PR0701MB1694
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 67
Organization linux.* mail to news gateway
X-Original-Cc <gpkulkarni@gmail.com>
X-Original-Date Tue, 22 Dec 2015 16:08:50 +0530
X-Original-Message-ID <1450780730-13667-1-git-send-email-gkulkarni@caviumnetworks.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1296721

Show key headers only | View raw


Adding helper functions and necessary code to make
pci driver(pci-host-generic) numa aware.

This patch is on top of arm64-numa v7.
http://www.spinics.net/lists/arm-kernel/msg460813.html

Signed-off-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com>
---
 arch/arm64/include/asm/numa.h       | 8 +++++---
 arch/arm64/kernel/pci.c             | 8 ++++++++
 drivers/pci/host/pci-host-generic.c | 1 +
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/numa.h b/arch/arm64/include/asm/numa.h
index b8c2a3f..1eca4db 100644
--- a/arch/arm64/include/asm/numa.h
+++ b/arch/arm64/include/asm/numa.h
@@ -15,9 +15,11 @@
 extern int __node_distance(int from, int to);
 #define node_distance(a, b) __node_distance(a, b)
 
-/* dummy definitions for pci functions */
-#define pcibus_to_node(node)	0
-#define cpumask_of_pcibus(bus)	0
+struct pci_bus;
+extern int pcibus_to_node(struct pci_bus *bus);
+#define cpumask_of_pcibus(bus)	(pcibus_to_node(bus) == -1 ?		\
+				 cpu_all_mask :				\
+				 cpumask_of_node(pcibus_to_node(bus)))
 
 extern int cpu_to_node_map[NR_CPUS];
 extern nodemask_t numa_nodes_parsed __initdata;
diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
index b3d098b..37e2e9f 100644
--- a/arch/arm64/kernel/pci.c
+++ b/arch/arm64/kernel/pci.c
@@ -84,3 +84,11 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
 	return NULL;
 }
 #endif
+
+#ifdef CONFIG_NUMA
+int pcibus_to_node(struct pci_bus *bus)
+{
+	return dev_to_node(&bus->dev);
+}
+EXPORT_SYMBOL(pcibus_to_node);
+#endif
diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c
index 5434c90..a821e49 100644
--- a/drivers/pci/host/pci-host-generic.c
+++ b/drivers/pci/host/pci-host-generic.c
@@ -230,6 +230,7 @@ static int gen_pci_probe(struct platform_device *pdev)
 	of_pci_check_probe_only();
 
 	of_id = of_match_node(gen_pci_of_match, np);
+	set_dev_node(dev, of_node_to_nid(np));
 	pci->cfg.ops = (struct gen_pci_cfg_bus_ops *)of_id->data;
 	pci->host.dev.parent = dev;
 	INIT_LIST_HEAD(&pci->host.windows);
-- 
1.8.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH] arm64, pci, numa: Adding helper functions as required by pci Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com> - 2015-12-22 12:00 +0100

csiph-web