[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: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
853ad6c2e7
commit
fa462f2d75
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -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)
|
||||||
|
@@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -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,
|
||||||
|
Reference in New Issue
Block a user