Lines Matching refs:prop

164 pci_prop_class_match(const pci_prop_data_t *prop, const pci_prop_class_t *class,  in pci_prop_class_match()  argument
168 if (prop->ppd_class == class[i].ppc_class && in pci_prop_class_match()
169 prop->ppd_subclass == class[i].ppc_subclass && in pci_prop_class_match()
170 (!check_pi || prop->ppd_pi == class[i].ppc_pi)) { in pci_prop_class_match()
208 pci_prop_class_is_vga(const pci_prop_data_t *prop) in pci_prop_class_is_vga() argument
210 return (pci_prop_class_match(prop, pci_prop_vga_classes, in pci_prop_class_is_vga()
215 pci_prop_class_is_ioapic(const pci_prop_data_t *prop) in pci_prop_class_is_ioapic() argument
217 return (pci_prop_class_match(prop, pci_prop_ioapic_classes, in pci_prop_class_is_ioapic()
228 pci_prop_class_is_isa(const pci_prop_data_t *prop) in pci_prop_class_is_isa() argument
230 return (pci_prop_class_match(prop, pci_prop_isa_classes, in pci_prop_class_is_isa()
239 pci_prop_class_is_pcibridge(const pci_prop_data_t *prop) in pci_prop_class_is_pcibridge() argument
241 return (pci_prop_class_match(prop, pci_prop_pcibridge_classes, in pci_prop_class_is_pcibridge()
246 pci_prop_nodename_prefix(const pci_prop_data_t *prop, in pci_prop_nodename_prefix() argument
253 if ((prop->ppd_flags & PCI_PROP_F_PCIE) != 0) { in pci_prop_nodename_prefix()
261 pci_prop_use_subsystem(const pci_prop_data_t *prop, in pci_prop_use_subsystem() argument
265 prop->ppd_header == PCI_HEADER_PPB) { in pci_prop_use_subsystem()
269 return (prop->ppd_subvid != 0); in pci_prop_use_subsystem()
276 pci_prop_name_node(dev_info_t *dip, const pci_prop_data_t *prop) in pci_prop_name_node() argument
281 if (pci_prop_class_is_vga(prop)) { in pci_prop_name_node()
283 } else if (pci_prop_class_is_isa(prop) && in pci_prop_name_node()
287 const char *prefix = pci_prop_nodename_prefix(prop, flags); in pci_prop_name_node()
289 if (pci_prop_use_subsystem(prop, flags)) { in pci_prop_name_node()
291 prop->ppd_subvid, prop->ppd_subsys); in pci_prop_name_node()
294 prop->ppd_vendid, prop->ppd_devid); in pci_prop_name_node()
305 pci_prop_get8(ddi_acc_handle_t acc, const pci_prop_data_t *prop, uint16_t off) in pci_prop_get8() argument
308 return ((*pci_getb_func)(prop->ppd_bus, prop->ppd_dev, in pci_prop_get8()
309 prop->ppd_func, off)); in pci_prop_get8()
316 pci_prop_get16(ddi_acc_handle_t acc, const pci_prop_data_t *prop, uint16_t off) in pci_prop_get16() argument
319 return ((*pci_getw_func)(prop->ppd_bus, prop->ppd_dev, in pci_prop_get16()
320 prop->ppd_func, off)); in pci_prop_get16()
327 pci_prop_get32(ddi_acc_handle_t acc, const pci_prop_data_t *prop, uint16_t off) in pci_prop_get32() argument
330 return ((*pci_getl_func)(prop->ppd_bus, prop->ppd_dev, in pci_prop_get32()
331 prop->ppd_func, off)); in pci_prop_get32()
338 pci_prop_data_fill_pcie(ddi_acc_handle_t acc, pci_prop_data_t *prop, in pci_prop_data_fill_pcie() argument
345 pciecap = pci_prop_get16(acc, prop, cap_base + PCIE_PCIECAP); in pci_prop_data_fill_pcie()
354 prop->ppd_bus, prop->ppd_dev, prop->ppd_func, vers); in pci_prop_data_fill_pcie()
358 prop->ppd_flags |= PCI_PROP_F_PCIE; in pci_prop_data_fill_pcie()
359 prop->ppd_pcie_type = pciecap & PCIE_PCIECAP_DEV_TYPE_MASK; in pci_prop_data_fill_pcie()
365 slotcap = pci_prop_get32(acc, prop, cap_base + PCIE_SLOTCAP); in pci_prop_data_fill_pcie()
366 prop->ppd_slotno = PCIE_SLOTCAP_PHY_SLOT_NUM(slotcap); in pci_prop_data_fill_pcie()
367 prop->ppd_flags |= PCI_PROP_F_SLOT_VALID; in pci_prop_data_fill_pcie()
383 pci_prop_data_t *prop) in pci_prop_data_fill() argument
388 bzero(prop, sizeof (pci_prop_data_t)); in pci_prop_data_fill()
389 prop->ppd_bus = bus; in pci_prop_data_fill()
390 prop->ppd_dev = dev; in pci_prop_data_fill()
391 prop->ppd_func = func; in pci_prop_data_fill()
398 prop->ppd_vendid = pci_prop_get16(acc, prop, PCI_CONF_VENID); in pci_prop_data_fill()
399 if (prop->ppd_vendid == PCI_EINVAL16) { in pci_prop_data_fill()
402 prop->ppd_devid = pci_prop_get16(acc, prop, PCI_CONF_DEVID); in pci_prop_data_fill()
403 prop->ppd_rev = pci_prop_get8(acc, prop, PCI_CONF_REVID); in pci_prop_data_fill()
404 prop->ppd_class = pci_prop_get8(acc, prop, PCI_CONF_BASCLASS); in pci_prop_data_fill()
405 prop->ppd_subclass = pci_prop_get8(acc, prop, PCI_CONF_SUBCLASS); in pci_prop_data_fill()
406 prop->ppd_pi = pci_prop_get8(acc, prop, PCI_CONF_PROGCLASS); in pci_prop_data_fill()
408 htype = pci_prop_get8(acc, prop, PCI_CONF_HEADER); in pci_prop_data_fill()
409 prop->ppd_header = htype & PCI_HEADER_TYPE_M; in pci_prop_data_fill()
411 prop->ppd_flags |= PCI_PROP_F_MULT_FUNC; in pci_prop_data_fill()
421 switch (prop->ppd_header) { in pci_prop_data_fill()
423 prop->ppd_subvid = pci_prop_get16(acc, prop, in pci_prop_data_fill()
425 prop->ppd_subsys = pci_prop_get16(acc, prop, in pci_prop_data_fill()
427 prop->ppd_mingrt = pci_prop_get8(acc, prop, PCI_CONF_MIN_G); in pci_prop_data_fill()
428 prop->ppd_maxlat = pci_prop_get8(acc, prop, PCI_CONF_MAX_L); in pci_prop_data_fill()
431 prop->ppd_subvid = pci_prop_get16(acc, prop, in pci_prop_data_fill()
433 prop->ppd_subsys = pci_prop_get16(acc, prop, in pci_prop_data_fill()
446 prop->ppd_ipin = pci_prop_get8(acc, prop, PCI_CONF_IPIN); in pci_prop_data_fill()
447 prop->ppd_status = pci_prop_get16(acc, prop, PCI_CONF_STAT); in pci_prop_data_fill()
452 status = pci_prop_get16(acc, prop, PCI_CONF_STAT); in pci_prop_data_fill()
456 cap_off = pci_prop_get8(acc, prop, PCI_CONF_CAP_PTR); in pci_prop_data_fill()
459 uint8_t cap_id = pci_prop_get8(acc, prop, cap_addr); in pci_prop_data_fill()
474 ret = pci_prop_data_fill_pcie(acc, prop, cap_addr); in pci_prop_data_fill()
487 subvid = pci_prop_get16(acc, prop, cap_addr + in pci_prop_data_fill()
489 subsys = pci_prop_get16(acc, prop, cap_addr + in pci_prop_data_fill()
491 if (prop->ppd_header == PCI_HEADER_PPB) { in pci_prop_data_fill()
492 prop->ppd_subvid = subvid; in pci_prop_data_fill()
493 prop->ppd_subsys = subsys; in pci_prop_data_fill()
494 } else if (subvid != prop->ppd_subvid || in pci_prop_data_fill()
495 subsys != prop->ppd_subsys) { in pci_prop_data_fill()
501 "values", bus, dev, func, prop->ppd_header, in pci_prop_data_fill()
502 prop->ppd_subvid, prop->ppd_subsys, subvid, in pci_prop_data_fill()
517 cap_off = pci_prop_get8(acc, prop, cap_addr + PCI_CAP_NEXT_PTR); in pci_prop_data_fill()
561 pci_prop_set_common_props(dev_info_t *dip, const pci_prop_data_t *prop) in pci_prop_set_common_props() argument
568 prop->ppd_vendid); in pci_prop_set_common_props()
570 prop->ppd_devid); in pci_prop_set_common_props()
572 prop->ppd_rev); in pci_prop_set_common_props()
574 class = (prop->ppd_class << 16) | (prop->ppd_subclass << 8) | in pci_prop_set_common_props()
575 prop->ppd_pi; in pci_prop_set_common_props()
578 if (prop->ppd_subvid != 0) { in pci_prop_set_common_props()
580 "subsystem-vendor-id", prop->ppd_subvid); in pci_prop_set_common_props()
582 prop->ppd_subsys); in pci_prop_set_common_props()
585 if (prop->ppd_func > 0) { in pci_prop_set_common_props()
587 prop->ppd_dev, prop->ppd_func); in pci_prop_set_common_props()
590 prop->ppd_dev); in pci_prop_set_common_props()
600 if ((prop->ppd_flags & PCI_PROP_F_PCIE) == 0) { in pci_prop_set_common_props()
601 if ((prop->ppd_status & PCI_STAT_FBBC) != 0) { in pci_prop_set_common_props()
606 if ((prop->ppd_status & PCI_STAT_66MHZ) != 0) { in pci_prop_set_common_props()
611 if ((prop->ppd_status & PCI_STAT_UDF) != 0) { in pci_prop_set_common_props()
616 if (prop->ppd_header == PCI_HEADER_ZERO) { in pci_prop_set_common_props()
618 "min-grant", prop->ppd_mingrt); in pci_prop_set_common_props()
621 "max-latency", prop->ppd_maxlat); in pci_prop_set_common_props()
624 if ((prop->ppd_flags & PCI_PROP_F_SLOT_VALID) != 0) { in pci_prop_set_common_props()
626 "physical-slot#", prop->ppd_slotno); in pci_prop_set_common_props()
627 if (prop->ppd_pcie_type != in pci_prop_set_common_props()
630 prop->ppd_slotno); in pci_prop_set_common_props()
635 (prop->ppd_status & PCI_STAT_DEVSELT) >> 9); in pci_prop_set_common_props()
641 if (prop->ppd_ipin != 0) { in pci_prop_set_common_props()
643 prop->ppd_ipin); in pci_prop_set_common_props()
654 if (pci_prop_class_is_vga(prop)) { in pci_prop_set_common_props()
657 } else if (pci_prop_class_is_isa(prop) && in pci_prop_set_common_props()
673 if ((prop->ppd_flags & PCI_PROP_F_PCIE) != 0 && in pci_prop_set_common_props()
674 prop->ppd_pcie_type == PCIE_PCIECAP_DEV_TYPE_PCIE2PCI) { in pci_prop_set_common_props()
677 } else if (prop->ppd_class == PCI_CLASS_MASS && in pci_prop_set_common_props()
678 prop->ppd_subclass == PCI_MASS_IDE) { in pci_prop_set_common_props()
685 if (prop->ppd_class == class_pci[i].base_class && in pci_prop_set_common_props()
686 prop->ppd_subclass == class_pci[i].sub_class && in pci_prop_set_common_props()
687 prop->ppd_pi == class_pci[i].prog_class) { in pci_prop_set_common_props()
823 pci_prop_skip_subsys(const pci_prop_data_t *prop) in pci_prop_skip_subsys() argument
829 if (prop->ppd_vendid == p->ppnsm_vid && in pci_prop_skip_subsys()
830 p->ppnsm_class(prop)) { in pci_prop_skip_subsys()
835 if (prop->ppd_vendid == p->ppnsm_vid && in pci_prop_skip_subsys()
836 prop->ppd_devid == p->ppnsm_did && in pci_prop_skip_subsys()
837 prop->ppd_subvid == p->ppnsm_subvid && in pci_prop_skip_subsys()
838 prop->ppd_subsys == p->ppnsm_subsys) { in pci_prop_skip_subsys()
848 pci_prop_alias_pass(const pci_prop_data_t *prop, char **alias, uint_t *nalias, in pci_prop_alias_pass() argument
852 (prop->ppd_flags & PCI_PROP_F_PCIE) == 0; in pci_prop_alias_pass()
854 boolean_t subsys_valid = prop->ppd_subvid != 0; in pci_prop_alias_pass()
864 prop->ppd_header == PCI_HEADER_PPB) { in pci_prop_alias_pass()
874 pci_prop_skip_subsys(prop)) { in pci_prop_alias_pass()
883 prefix, prop->ppd_vendid, prop->ppd_devid, in pci_prop_alias_pass()
884 prop->ppd_subvid, prop->ppd_subsys, in pci_prop_alias_pass()
885 prop->ppd_rev); in pci_prop_alias_pass()
891 prop->ppd_vendid, prop->ppd_devid, in pci_prop_alias_pass()
892 prop->ppd_subvid, prop->ppd_subsys); in pci_prop_alias_pass()
898 prop->ppd_subvid, prop->ppd_subsys); in pci_prop_alias_pass()
904 prop->ppd_subvid, prop->ppd_subsys); in pci_prop_alias_pass()
908 prop->ppd_vendid, prop->ppd_devid, prop->ppd_rev); in pci_prop_alias_pass()
912 prop->ppd_vendid, prop->ppd_devid); in pci_prop_alias_pass()
916 prop->ppd_vendid, prop->ppd_devid); in pci_prop_alias_pass()
920 prefix, prop->ppd_class, prop->ppd_subclass, in pci_prop_alias_pass()
921 prop->ppd_pi); in pci_prop_alias_pass()
925 prefix, prop->ppd_class, prop->ppd_subclass); in pci_prop_alias_pass()
942 pci_prop_set_compatible(dev_info_t *dip, const pci_prop_data_t *prop) in pci_prop_set_compatible() argument
949 pci_prop_alias_pass(prop, alias, &nalias, compat, B_FALSE); in pci_prop_set_compatible()
950 if (two_sets && (prop->ppd_flags & PCI_PROP_F_PCIE) != 0) { in pci_prop_set_compatible()
951 pci_prop_alias_pass(prop, alias, &nalias, compat, B_TRUE); in pci_prop_set_compatible()