• Home
  • Raw
  • Download

Lines Matching refs:devfn

25 #define PA_PXP_CFA(bus, devfn, off) (((bus) << 20) | ((devfn) << 12) | (off))  argument
27 static inline int pa_pxp_offset_valid(u8 bus, u8 devfn, int offset) in pa_pxp_offset_valid() argument
33 if (bus == 0 && devfn == 0) in pa_pxp_offset_valid()
40 u8 bus, u8 devfn, int offset) in pa_pxp_cfg_addr() argument
42 return hose->cfg_data + PA_PXP_CFA(bus, devfn, offset); in pa_pxp_cfg_addr()
45 static inline int is_root_port(int busno, int devfn) in is_root_port() argument
47 return ((busno == 0) && (PCI_FUNC(devfn) < 4) && in is_root_port()
48 ((PCI_SLOT(devfn) == 16) || (PCI_SLOT(devfn) == 17))); in is_root_port()
57 static int workaround_5945(struct pci_bus *bus, unsigned int devfn, in workaround_5945() argument
65 if (!is_root_port(bus->number, devfn) || !is_5945_reg(offset)) in workaround_5945()
70 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset & ~0x3); in workaround_5945()
77 dummy = pa_pxp_cfg_addr(hose, bus->number, devfn, 0x10); in workaround_5945()
155 static int pa_pxp_read_config(struct pci_bus *bus, unsigned int devfn, in pa_pxp_read_config() argument
165 if (!pa_pxp_offset_valid(bus->number, devfn, offset)) in pa_pxp_read_config()
168 if (workaround_5945(bus, devfn, offset, len, val)) in pa_pxp_read_config()
171 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset); in pa_pxp_read_config()
194 static int pa_pxp_write_config(struct pci_bus *bus, unsigned int devfn, in pa_pxp_write_config() argument
204 if (!pa_pxp_offset_valid(bus->number, devfn, offset)) in pa_pxp_write_config()
207 addr = pa_pxp_cfg_addr(hose, bus->number, devfn, offset); in pa_pxp_write_config()
296 return (void __iomem *)pa_pxp_cfg_addr(hose, dev->bus->number, dev->devfn, offset); in pasemi_pci_getcfgaddr()