summaryrefslogtreecommitdiffstats
path: root/arch/riscv/include/asm/pci.h
diff options
context:
space:
mode:
authorAtish Patra <atish.patra@wdc.com>2020-11-18 16:38:29 -0800
committerPalmer Dabbelt <palmerdabbelt@google.com>2021-01-14 15:08:58 -0800
commit4f0e8eef772ee4438f304b2178bc28c958b6c13d (patch)
treef793c5f7bbfdf6b9546db49bb98563ec212d504d /arch/riscv/include/asm/pci.h
parent3e5b0bdb2a4dd8c09a9db01b1ead3f69cabd0c67 (diff)
downloadlinux-stable-4f0e8eef772ee4438f304b2178bc28c958b6c13d.tar.gz
linux-stable-4f0e8eef772ee4438f304b2178bc28c958b6c13d.tar.bz2
linux-stable-4f0e8eef772ee4438f304b2178bc28c958b6c13d.zip
riscv: Add numa support for riscv64 platform
Use the generic numa implementation to add NUMA support for RISC-V. This is based on Greentime's patch[1] but modified to use generic NUMA implementation and few more fixes. [1] https://lkml.org/lkml/2020/1/10/233 Co-developed-by: Greentime Hu <greentime.hu@sifive.com> Signed-off-by: Greentime Hu <greentime.hu@sifive.com> Signed-off-by: Atish Patra <atish.patra@wdc.com> Reviewed-by: Anup Patel <anup@brainfault.org> Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com> Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Diffstat (limited to 'arch/riscv/include/asm/pci.h')
-rw-r--r--arch/riscv/include/asm/pci.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h
index 1c473a1bd986..658e112c3ce7 100644
--- a/arch/riscv/include/asm/pci.h
+++ b/arch/riscv/include/asm/pci.h
@@ -32,6 +32,20 @@ static inline int pci_proc_domain(struct pci_bus *bus)
/* always show the domain in /proc */
return 1;
}
+
+#ifdef CONFIG_NUMA
+
+static inline int pcibus_to_node(struct pci_bus *bus)
+{
+ return dev_to_node(&bus->dev);
+}
+#ifndef cpumask_of_pcibus
+#define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \
+ cpu_all_mask : \
+ cpumask_of_node(pcibus_to_node(bus)))
+#endif
+#endif /* CONFIG_NUMA */
+
#endif /* CONFIG_PCI */
#endif /* _ASM_RISCV_PCI_H */