mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-19 21:32:02 +00:00
Merge branch 'pci/host-generic' into next
* pci/host-generic: arm64: Add architectural support for PCI PCI: Add pci_remap_iospace() to map bus I/O resources of/pci: Add support for parsing PCI host bridge resources from DT of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() PCI: Add generic domain handling of/pci: Fix the conversion of IO ranges into IO resources of/pci: Move of_pci_range_to_resource() to of/address.c ARM: Define PCI_IOBASE as the base of virtual PCI IO space of/pci: Add pci_register_io_range() and pci_pio_to_address() asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP Conflicts: drivers/pci/host/pci-tegra.c
This commit is contained in:
commit
07a7cbd3b8
20 changed files with 576 additions and 37 deletions
|
@ -456,6 +456,9 @@ struct pci_bus {
|
|||
unsigned char primary; /* number of primary bridge */
|
||||
unsigned char max_bus_speed; /* enum pci_bus_speed */
|
||||
unsigned char cur_bus_speed; /* enum pci_bus_speed */
|
||||
#ifdef CONFIG_PCI_DOMAINS_GENERIC
|
||||
int domain_nr;
|
||||
#endif
|
||||
|
||||
char name[48];
|
||||
|
||||
|
@ -1097,6 +1100,9 @@ int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
|
|||
resource_size_t),
|
||||
void *alignf_data);
|
||||
|
||||
|
||||
int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr);
|
||||
|
||||
static inline dma_addr_t pci_bus_address(struct pci_dev *pdev, int bar)
|
||||
{
|
||||
struct pci_bus_region region;
|
||||
|
@ -1282,12 +1288,32 @@ void pci_cfg_access_unlock(struct pci_dev *dev);
|
|||
*/
|
||||
#ifdef CONFIG_PCI_DOMAINS
|
||||
extern int pci_domains_supported;
|
||||
int pci_get_new_domain_nr(void);
|
||||
#else
|
||||
enum { pci_domains_supported = 0 };
|
||||
static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
|
||||
static inline int pci_proc_domain(struct pci_bus *bus) { return 0; }
|
||||
static inline int pci_get_new_domain_nr(void) { return -ENOSYS; }
|
||||
#endif /* CONFIG_PCI_DOMAINS */
|
||||
|
||||
/*
|
||||
* Generic implementation for PCI domain support. If your
|
||||
* architecture does not need custom management of PCI
|
||||
* domains then this implementation will be used
|
||||
*/
|
||||
#ifdef CONFIG_PCI_DOMAINS_GENERIC
|
||||
static inline int pci_domain_nr(struct pci_bus *bus)
|
||||
{
|
||||
return bus->domain_nr;
|
||||
}
|
||||
void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent);
|
||||
#else
|
||||
static inline void pci_bus_assign_domain_nr(struct pci_bus *bus,
|
||||
struct device *parent)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/* some architectures require additional setup to direct VGA traffic */
|
||||
typedef int (*arch_set_vga_state_t)(struct pci_dev *pdev, bool decode,
|
||||
unsigned int command_bits, u32 flags);
|
||||
|
@ -1396,6 +1422,7 @@ static inline struct pci_dev *pci_get_bus_and_slot(unsigned int bus,
|
|||
|
||||
static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
|
||||
static inline struct pci_dev *pci_dev_get(struct pci_dev *dev) { return NULL; }
|
||||
static inline int pci_get_new_domain_nr(void) { return -ENOSYS; }
|
||||
|
||||
#define dev_is_pci(d) (false)
|
||||
#define dev_is_pf(d) (false)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue