Lines Matching refs:dev
105 … int (*read)(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, void *data, unsigned size);
106 …int (*write)(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, const void *data, unsigned …
126 pci_system_x86_conf1_read(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, void *data, uns… in pci_system_x86_conf1_read() argument
132 if (bus >= 0x100 || dev >= 32 || func >= 8 || reg >= 0x100 || size > 4 || size == 3) in pci_system_x86_conf1_read()
136 outl(0x80000000 | (bus << 16) | (dev << 11) | (func << 8) | (reg & ~3), 0xCF8); in pci_system_x86_conf1_read()
161 pci_system_x86_conf1_write(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, const void *da… in pci_system_x86_conf1_write() argument
167 if (bus >= 0x100 || dev >= 32 || func >= 8 || reg >= 0x100 || size > 4 || size == 3) in pci_system_x86_conf1_write()
171 outl(0x80000000 | (bus << 16) | (dev << 11) | (func << 8) | (reg & ~3), 0xCF8); in pci_system_x86_conf1_write()
208 pci_system_x86_conf2_read(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, void *data, uns… in pci_system_x86_conf2_read() argument
210 unsigned addr = 0xC000 | dev << 8 | reg; in pci_system_x86_conf2_read()
213 if (bus >= 0x100 || dev >= 16 || func >= 8 || reg >= 0x100) in pci_system_x86_conf2_read()
245 pci_system_x86_conf2_write(unsigned bus, unsigned dev, unsigned func, pciaddr_t reg, const void *da… in pci_system_x86_conf2_write() argument
247 unsigned addr = 0xC000 | dev << 8 | reg; in pci_system_x86_conf2_write()
250 if (bus >= 0x100 || dev >= 16 || func >= 8 || reg >= 0x100) in pci_system_x86_conf2_write()
285 int dev; in pci_system_x86_check() local
291 for (dev = 0; dev < 32; dev++) { in pci_system_x86_check()
292 if (pci_sys_x86->read(0, dev, 0, PCI_CLASS_DEVICE, &class, sizeof(class))) in pci_system_x86_check()
296 if (pci_sys_x86->read(0, dev, 0, PCI_VENDOR_ID, &vendor, sizeof(vendor))) in pci_system_x86_check()
306 pci_nfuncs(struct pci_system_x86 *pci_sys_x86, int bus, int dev) in pci_nfuncs() argument
311 err = pci_sys_x86->read(bus, dev, 0, PCI_HDRTYPE, &hdr, sizeof(hdr)); in pci_nfuncs()
323 pci_device_x86_read_rom(struct pci_device *dev, void *buffer) in pci_device_x86_read_rom() argument
328 if ((dev->device_class & 0x00ffff00) != in pci_device_x86_read_rom()
337 bios = mmap(NULL, dev->rom_size, PROT_READ, 0, memfd, 0xc0000); in pci_device_x86_read_rom()
343 memcpy(buffer, bios, dev->rom_size); in pci_device_x86_read_rom()
345 munmap(bios, dev->rom_size); in pci_device_x86_read_rom()
401 pci_device_x86_probe(struct pci_device *dev) in pci_device_x86_probe() argument
410 err = pci_device_cfg_read_u8(dev, &irq, PCI_IRQ); in pci_device_x86_probe()
413 dev->irq = irq; in pci_device_x86_probe()
415 err = pci_device_cfg_read_u8(dev, &hdrtype, PCI_HDRTYPE); in pci_device_x86_probe()
424 err = pci_device_cfg_read_u32(dev, &addr, bar); in pci_device_x86_probe()
429 err = pci_device_cfg_write_u32(dev, 0xffffffff, bar); in pci_device_x86_probe()
432 pci_device_cfg_read_u32(dev, &testval, bar); in pci_device_x86_probe()
433 err = pci_device_cfg_write_u32(dev, addr, bar); in pci_device_x86_probe()
436 dev->regions[i].is_IO = 1; in pci_device_x86_probe()
438 dev->regions[i].is_64 = 1; in pci_device_x86_probe()
440 dev->regions[i].is_prefetchable = 1; in pci_device_x86_probe()
443 dev->regions[i].size = get_test_val_size(testval); in pci_device_x86_probe()
446 if (dev->regions[i].is_64) { in pci_device_x86_probe()
449 err = pci_device_cfg_read_u32(dev, &top, bar + 4); in pci_device_x86_probe()
453 dev->regions[i].base_addr = ((uint64_t)top << 32) | in pci_device_x86_probe()
458 dev->regions[i].base_addr = get_map_base(addr); in pci_device_x86_probe()
465 if ((dev->device_class & 0x00ffff00) == in pci_device_x86_probe()
468 dev->rom_size = 64 * 1024; in pci_device_x86_probe()
475 pci_device_x86_map_range(struct pci_device *dev, in pci_device_x86_map_range() argument
496 pci_device_x86_read(struct pci_device *dev, void *data, in pci_device_x86_read() argument
508 err = pci_sys_x86->read(dev->bus, dev->dev, dev->func, offset, data, toread); in pci_device_x86_read()
521 pci_device_x86_write(struct pci_device *dev, const void *data, in pci_device_x86_write() argument
535 err = pci_sys_x86->write(dev->bus, dev->dev, dev->func, offset, data, towrite); in pci_device_x86_write()
587 int ret, bus, dev, ndevs, func, nfuncs; in pci_system_x86_create() local
614 for (dev = 0; dev < 32; dev++) { in pci_system_x86_create()
615 nfuncs = pci_nfuncs(pci_sys_x86, bus, dev); in pci_system_x86_create()
617 if (pci_sys_x86->read(bus, dev, func, PCI_VENDOR_ID, ®, sizeof(reg)) != 0) in pci_system_x86_create()
638 for (dev = 0; dev < 32; dev++) { in pci_system_x86_create()
639 nfuncs = pci_nfuncs(pci_sys_x86, bus, dev); in pci_system_x86_create()
641 if (pci_sys_x86->read(bus, dev, func, PCI_VENDOR_ID, ®, sizeof(reg)) != 0) in pci_system_x86_create()
648 device->base.dev = dev; in pci_system_x86_create()
653 if (pci_sys_x86->read(bus, dev, func, PCI_CLASS, ®, sizeof(reg)) != 0) in pci_system_x86_create()
658 if (pci_sys_x86->read(bus, dev, func, PCI_SUB_VENDOR_ID, ®, sizeof(reg)) != 0) in pci_system_x86_create()