Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa462f2d authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Paul Mackerras
Browse files

[POWERPC] pci32: Add platform option to enable /proc PCI domains



This adds flags the platforms can use to enable domain numbers
in /proc/bus/pci.

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 853ad6c2
Loading
Loading
Loading
Loading
+16 −0
Original line number Original line Diff line number Diff line
@@ -639,3 +639,19 @@ void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose,
		hose->mem_resources[memno-1] = tmp;
		hose->mem_resources[memno-1] = tmp;
	}
	}
}
}

/* Decide whether to display the domain number in /proc */
int pci_proc_domain(struct pci_bus *bus)
{
	struct pci_controller *hose = pci_bus_to_host(bus);
#ifdef CONFIG_PPC64
	return hose->buid != 0;
#else
	if (!(ppc_pci_flags & PPC_PCI_ENABLE_PROC_DOMAINS))
		return 0;
	if (ppc_pci_flags & PPC_PCI_COMPAT_DOMAIN_0)
		return hose->global_number != 0;
	return 1;
#endif
}
+0 −8
Original line number Original line Diff line number Diff line
@@ -586,14 +586,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
	return 0;
	return 0;
}
}


/* Decide whether to display the domain number in /proc */
int pci_proc_domain(struct pci_bus *bus)
{
	struct pci_controller *hose = pci_bus_to_host(bus);
	return hose->buid != 0;
}


#ifdef CONFIG_HOTPLUG
#ifdef CONFIG_HOTPLUG


int pcibios_unmap_io_space(struct pci_bus *bus)
int pcibios_unmap_io_space(struct pci_bus *bus)
+5 −0
Original line number Original line Diff line number Diff line
@@ -30,6 +30,11 @@ enum {
	 * ISA forwarding enabled
	 * ISA forwarding enabled
	 */
	 */
	PPC_PCI_CAN_SKIP_ISA_ALIGN	= 0x00000008,
	PPC_PCI_CAN_SKIP_ISA_ALIGN	= 0x00000008,

	/* Enable domain numbers in /proc */
	PPC_PCI_ENABLE_PROC_DOMAINS	= 0x00000010,
	/* ... except for domain 0 */
	PPC_PCI_COMPAT_DOMAIN_0		= 0x00000020,
};
};




+4 −10
Original line number Original line Diff line number Diff line
@@ -98,9 +98,6 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
#define get_pci_dma_ops()	NULL
#define get_pci_dma_ops()	NULL
#endif
#endif


/* Decide whether to display the domain number in /proc */
extern int pci_proc_domain(struct pci_bus *bus);

#else /* 32-bit */
#else /* 32-bit */


#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
@@ -112,17 +109,14 @@ static inline void pci_dma_burst_advice(struct pci_dev *pdev,
	*strategy_parameter = ~0UL;
	*strategy_parameter = ~0UL;
}
}
#endif
#endif

/* Set the name of the bus as it appears in /proc/bus/pci */
static inline int pci_proc_domain(struct pci_bus *bus)
{
	return 0;
}

#endif /* CONFIG_PPC64 */
#endif /* CONFIG_PPC64 */


extern int pci_domain_nr(struct pci_bus *bus);
extern int pci_domain_nr(struct pci_bus *bus);


/* Decide whether to display the domain number in /proc */
extern int pci_proc_domain(struct pci_bus *bus);


struct vm_area_struct;
struct vm_area_struct;
/* Map a range of PCI memory or I/O space for a device into user space */
/* Map a range of PCI memory or I/O space for a device into user space */
int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,
int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,