xref: /OK3568_Linux_fs/kernel/arch/x86/pci/bus_numa.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __BUS_NUMA_H
3*4882a593Smuzhiyun #define __BUS_NUMA_H
4*4882a593Smuzhiyun /*
5*4882a593Smuzhiyun  * sub bus (transparent) will use entres from 3 to store extra from
6*4882a593Smuzhiyun  * root, so need to make sure we have enough slot there.
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun struct pci_root_res {
9*4882a593Smuzhiyun 	struct list_head list;
10*4882a593Smuzhiyun 	struct resource res;
11*4882a593Smuzhiyun };
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun struct pci_root_info {
14*4882a593Smuzhiyun 	struct list_head list;
15*4882a593Smuzhiyun 	char name[12];
16*4882a593Smuzhiyun 	struct list_head resources;
17*4882a593Smuzhiyun 	struct resource busn;
18*4882a593Smuzhiyun 	int node;
19*4882a593Smuzhiyun 	int link;
20*4882a593Smuzhiyun };
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun extern struct list_head pci_root_infos;
23*4882a593Smuzhiyun struct pci_root_info *alloc_pci_root_info(int bus_min, int bus_max,
24*4882a593Smuzhiyun 						int node, int link);
25*4882a593Smuzhiyun extern void update_res(struct pci_root_info *info, resource_size_t start,
26*4882a593Smuzhiyun 		      resource_size_t end, unsigned long flags, int merge);
27*4882a593Smuzhiyun #endif
28