Lines Matching refs:d
38 struct pci_dev *d; in pci_generic_scan_bus() local
46 d = pci_alloc_dev(a); in pci_generic_scan_bus()
47 d->domain = t->domain; in pci_generic_scan_bus()
48 d->bus = t->bus; in pci_generic_scan_bus()
49 d->dev = t->dev; in pci_generic_scan_bus()
50 d->func = t->func; in pci_generic_scan_bus()
51 d->vendor_id = vd & 0xffff; in pci_generic_scan_bus()
52 d->device_id = vd >> 16U; in pci_generic_scan_bus()
53 d->known_fields = PCI_FILL_IDENT; in pci_generic_scan_bus()
54 d->hdrtype = ht; in pci_generic_scan_bus()
55 pci_link_dev(a, d); in pci_generic_scan_bus()
65 …g("Device %04x:%02x:%02x.%d has unknown header type %02x.\n", d->domain, d->bus, d->dev, d->func, … in pci_generic_scan_bus()
88 get_hdr_type(struct pci_dev *d) in get_hdr_type() argument
90 if (d->hdrtype < 0) in get_hdr_type()
91 d->hdrtype = pci_read_byte(d, PCI_HEADER_TYPE) & 0x7f; in get_hdr_type()
92 return d->hdrtype; in get_hdr_type()
96 pci_generic_fill_info(struct pci_dev *d, unsigned int flags) in pci_generic_fill_info() argument
98 struct pci_access *a = d->access; in pci_generic_fill_info()
101 if (want_fill(d, flags, PCI_FILL_IDENT)) in pci_generic_fill_info()
103 d->vendor_id = pci_read_word(d, PCI_VENDOR_ID); in pci_generic_fill_info()
104 d->device_id = pci_read_word(d, PCI_DEVICE_ID); in pci_generic_fill_info()
107 if (want_fill(d, flags, PCI_FILL_CLASS)) in pci_generic_fill_info()
108 d->device_class = pci_read_word(d, PCI_CLASS_DEVICE); in pci_generic_fill_info()
110 if (want_fill(d, flags, PCI_FILL_CLASS_EXT)) in pci_generic_fill_info()
112 d->prog_if = pci_read_byte(d, PCI_CLASS_PROG); in pci_generic_fill_info()
113 d->rev_id = pci_read_byte(d, PCI_REVISION_ID); in pci_generic_fill_info()
116 if (want_fill(d, flags, PCI_FILL_SUBSYS)) in pci_generic_fill_info()
118 switch (get_hdr_type(d)) in pci_generic_fill_info()
121 d->subsys_vendor_id = pci_read_word(d, PCI_SUBSYSTEM_VENDOR_ID); in pci_generic_fill_info()
122 d->subsys_id = pci_read_word(d, PCI_SUBSYSTEM_ID); in pci_generic_fill_info()
125 cap = pci_find_cap(d, PCI_CAP_ID_SSVID, PCI_CAP_NORMAL); in pci_generic_fill_info()
128 d->subsys_vendor_id = pci_read_word(d, cap->addr + PCI_SSVID_VENDOR); in pci_generic_fill_info()
129 d->subsys_id = pci_read_word(d, cap->addr + PCI_SSVID_DEVICE); in pci_generic_fill_info()
133 d->subsys_vendor_id = pci_read_word(d, PCI_CB_SUBSYSTEM_VENDOR_ID); in pci_generic_fill_info()
134 d->subsys_id = pci_read_word(d, PCI_CB_SUBSYSTEM_ID); in pci_generic_fill_info()
137 clear_fill(d, PCI_FILL_SUBSYS); in pci_generic_fill_info()
141 if (want_fill(d, flags, PCI_FILL_IRQ)) in pci_generic_fill_info()
142 d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE); in pci_generic_fill_info()
144 if (want_fill(d, flags, PCI_FILL_BASES)) in pci_generic_fill_info()
147 memset(d->base_addr, 0, sizeof(d->base_addr)); in pci_generic_fill_info()
148 switch (get_hdr_type(d)) in pci_generic_fill_info()
164 u32 x = pci_read_long(d, PCI_BASE_ADDRESS_0 + i*4); in pci_generic_fill_info()
168 d->base_addr[i] = x; in pci_generic_fill_info()
172 d->base_addr[i] = x; in pci_generic_fill_info()
174 …"%04x:%02x:%02x.%d: Invalid 64-bit address seen for BAR %d.", d->domain, d->bus, d->dev, d->func, … in pci_generic_fill_info()
177 u32 y = pci_read_long(d, PCI_BASE_ADDRESS_0 + (++i)*4); in pci_generic_fill_info()
179 d->base_addr[i-1] = x | (((pciaddr_t) y) << 32); in pci_generic_fill_info()
182 …a->warning("%04x:%02x:%02x.%d 64-bit device address ignored.", d->domain, d->bus, d->dev, d->func); in pci_generic_fill_info()
184 d->base_addr[i-1] = x; in pci_generic_fill_info()
192 if (want_fill(d, flags, PCI_FILL_ROM_BASE)) in pci_generic_fill_info()
195 d->rom_base_addr = 0; in pci_generic_fill_info()
196 switch (get_hdr_type(d)) in pci_generic_fill_info()
207 u32 u = pci_read_long(d, reg); in pci_generic_fill_info()
209 d->rom_base_addr = u; in pci_generic_fill_info()
213 pci_scan_caps(d, flags); in pci_generic_fill_info()
217 pci_generic_block_op(struct pci_dev *d, int pos, byte *buf, int len, in pci_generic_block_op() argument
218 int (*r)(struct pci_dev *d, int pos, byte *buf, int len)) in pci_generic_block_op() argument
222 if (!r(d, pos, buf, 1)) in pci_generic_block_op()
228 if (!r(d, pos, buf, 2)) in pci_generic_block_op()
234 if (!r(d, pos, buf, 4)) in pci_generic_block_op()
240 if (!r(d, pos, buf, 2)) in pci_generic_block_op()
244 if (len && !r(d, pos, buf, 1)) in pci_generic_block_op()
250 pci_generic_block_read(struct pci_dev *d, int pos, byte *buf, int len) in pci_generic_block_read() argument
252 return pci_generic_block_op(d, pos, buf, len, d->access->methods->read); in pci_generic_block_read()
256 pci_generic_block_write(struct pci_dev *d, int pos, byte *buf, int len) in pci_generic_block_write() argument
258 return pci_generic_block_op(d, pos, buf, len, d->access->methods->write); in pci_generic_block_write()