Lines Matching defs:dip
83 static int cardbus_bus_map(dev_info_t *dip, dev_info_t *rdip,
93 static void cardbus_removechild(dev_info_t *dip);
95 static int cardbus_dma_allochdl(dev_info_t *dip, dev_info_t *rdip,
98 static int cardbus_dma_freehdl(dev_info_t *dip, dev_info_t *rdip,
100 static int cardbus_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip,
103 static int cardbus_dma_unbindhdl(dev_info_t *dip, dev_info_t *rdip,
105 static int cardbus_dma_flush(dev_info_t *dip, dev_info_t *rdip,
108 static int cardbus_dma_win(dev_info_t *dip, dev_info_t *rdip,
111 static int cardbus_dma_map(dev_info_t *dip, dev_info_t *rdip,
114 static int cardbus_prop_op(dev_t dev, dev_info_t *dip, dev_info_t *ch_dip,
118 static int cardbus_get_eventcookie(dev_info_t *dip, dev_info_t *rdip,
120 static int cardbus_add_eventcall(dev_info_t *dip, dev_info_t *rdip,
121 ddi_eventcookie_t cookie, void (*callback)(dev_info_t *dip,
124 static int cardbus_remove_eventcall(dev_info_t *dip, ddi_callback_id_t cb_id);
125 static int cardbus_post_event(dev_info_t *dip, dev_info_t *rdip,
128 static int cardbus_intr_ops(dev_info_t *dip, dev_info_t *rdip,
146 static void cardbus_expand_busrange(dev_info_t *dip);
148 static int cardbus_convert_properties(dev_info_t *dip);
149 static void cardbus_revert_properties(dev_info_t *dip);
255 dev_info_t *dip;
260 cardbus_claim_pci_busnum(dev_info_t *dip, void *arg)
274 if (ddi_prop_op(DDI_DEV_T_ANY, dip, PROP_LEN_AND_VAL_BUF,
286 if (ddi_getlongprop_buf(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS,
288 cardbus_err(dip, 1, "cardbus_claim_pci_busnum: %u -> %u \n",
292 cardbus_err(dip, 1,
303 if (ndi_ra_alloc(ctrl->dip, &req, &base, &retlen,
320 dev_info_t *dip;
323 for (dip = ddi_get_child(parent); dip;
324 dip = ddi_get_next_sibling(dip)) {
326 ret = (*f) (dip, arg);
332 static void cardbus_fix_hostbridge_busrange(dev_info_t *dip)
342 cardbus_err(dip, 1, "cardbus_fix_hostbridge_busrange\n");
346 if (ndi_ra_alloc(dip, &req,
349 (void) ndi_ra_map_destroy(dip, NDI_RA_TYPE_PCI_BUSNUM);
351 if (ndi_ra_map_setup(dip, NDI_RA_TYPE_PCI_BUSNUM)
353 cardbus_err(dip, 1, "cardbus_fix_hostbridge_busrange "
359 (void) ddi_getlongprop_buf(DDI_DEV_T_NONE, dip,
363 (void) ndi_ra_free(dip,
369 ctrl.dip = dip;
372 cardbus_walk_node_child(dip, cardbus_claim_pci_busnum,
376 cardbus_err(dip, 1, "cardbus_fix_hostbridge_busrange "
379 (void) ndi_prop_update_int_array(DDI_DEV_T_NONE, dip,
383 cardbus_err(dip, 1, "cardbus_fix_hostbridge_busrange "
385 (void) ndi_ra_free(dip, next_bus, (uint64_t)1,
391 cardbus_find_hsbridge_dip(dev_info_t *dip)
395 pdip = ddi_get_parent(dip);
410 cardbus_attach(dev_info_t *dip, cb_nexus_cb_t *nex_ops)
414 anp_t *anp = (anp_t *)ddi_get_driver_private(dip);
415 struct dev_info *devi = DEVI(dip);
422 if (ddi_prop_exists(DDI_DEV_T_ANY, dip,
427 ddi_driver_name(dip), ddi_get_instance(dip));
439 ddi_driver_name(dip), ddi_get_instance(dip));
446 cbp->cb_dip = dip;
453 if (ddi_prop_create(DDI_DEV_T_NONE, dip, DDI_PROP_CANSLEEP,
458 ddi_driver_name(dip), ddi_get_instance(dip));
473 if (ndi_event_alloc_hdl(dip, *anp->an_iblock, &cbp->cb_ndi_event_hdl,
481 cardbus_err(dip, 1,
502 hs_dip = cardbus_find_hsbridge_dip(dip);
507 cardbus_expand_busrange(dip);
515 cardbus_detach(dev_info_t *dip)
522 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
547 (void) hpc_nexus_unregister_bus(dip);
564 (void) ddi_prop_remove(DDI_DEV_T_ANY, dip, "cbus-instance");
575 cardbus_load_cardbus(dev_info_t *dip, uint_t socket, uint32_t pc_base)
583 struct dev_info *devi = DEVI(dip);
588 cardbus_err(dip, 6, "cardbus_load_cardbus\n");
591 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
599 if (cardbus_convert_properties(dip) == DDI_FAILURE)
620 cardbus_err(dip, 6, "cardbus_configure failed\n");
626 ctrl.busno = cardbus_primary_busno(dip);
628 ctrl.dip = NULL;
632 * The child of the dip is the cardbus dip. The child of the
633 * cardbus dip is the device itself
636 cardbus_err(dip, 8, "cardbus_load_cardbus: calling cbus_configure\n");
638 ndi_devi_enter(dip, &circular_count);
639 ddi_walk_devs(ddi_get_child(dip), cbus_configure, (void *)&ctrl);
640 ndi_devi_exit(dip, circular_count);
643 cardbus_err(dip, 1,
645 ctrl.dip ? ddi_driver_name(ctrl.dip) : "Unknown",
646 ctrl.dip ? ddi_get_instance(ctrl.dip) : 0,
659 cardbus_err(dip, 7, "cardbus_load_cardbus: returning TRUE\n");
669 cardbus_unload_cardbus(dev_info_t *dip)
673 int prim_bus = cardbus_primary_busno(dip);
678 cardbus_err(dip, 6, "cardbus_unload_cardbus\n");
680 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
702 cardbus_err(dip, 8,
705 rval = cardbus_unconfigure_node(dip, prim_bus, B_TRUE);
708 cardbus_err(dip, 4,
716 ddi_get_name(dip), ddi_get_instance(dip));
728 if (ndi_event_retrieve_cookie(cbp->cb_ndi_event_hdl, dip,
731 dip, cookie, NULL);
735 cardbus_revert_properties(dip);
739 is_32bit_pccard(dev_info_t *dip)
745 if (ddi_prop_op(DDI_DEV_T_ANY, ddi_get_parent(dip),
761 cardbus_save_children(dev_info_t *dip)
763 for (; dip != NULL; dip = ddi_get_next_sibling(dip)) {
764 cardbus_save_children(ddi_get_child(dip));
766 if (strcmp("pcs", ddi_node_name(dip)) == 0)
768 if (!is_32bit_pccard(dip))
770 cardbus_err(dip, 1, "Saving device\n");
771 (void) pci_save_config_regs(dip);
777 cardbus_restore_children(dev_info_t *dip)
779 for (; dip != NULL; dip = ddi_get_next_sibling(dip)) {
780 cardbus_restore_children(ddi_get_child(dip));
782 if (strcmp("pcs", ddi_node_name(dip)) == 0)
784 if (!is_32bit_pccard(dip))
786 cardbus_err(dip, 1, "restoring device\n");
787 (void) pci_restore_config_regs(dip);
793 cardbus_convert_properties(dev_info_t *dip)
803 cardbus_err(dip, 6, "cardbus_convert_properties\n");
806 if (ndi_prop_update_int(DDI_DEV_T_NONE, dip,
808 cardbus_err(dip, 1, "cardbus_convert_properties: "
812 if (ndi_prop_update_int(DDI_DEV_T_NONE, dip,
814 cardbus_err(dip, 1, "cardbus_convert_properties: "
819 if (ddi_getlongprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS, "available",
821 cardbus_err(dip, 1, "cardbus_convert_properties: "
839 (void) ndi_prop_update_int_array(DDI_DEV_T_NONE, dip,
848 if (ddi_getlongprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS, "ranges",
850 cardbus_err(dip, 1, "cardbus_convert_properties: "
876 (void) ndi_prop_update_int_array(DDI_DEV_T_NONE, dip, "ranges",
888 cardbus_revert_properties(dev_info_t *dip)
891 cardbus_err(dip, 6, "cardbus_revert_properties\n");
894 (void) ndi_prop_remove(DDI_DEV_T_NONE, dip, "#address-cells");
896 (void) ndi_prop_remove(DDI_DEV_T_NONE, dip, "#size-cells");
898 (void) ndi_prop_remove(DDI_DEV_T_NONE, dip, "available");
902 cardbus_prop_op(dev_t dev, dev_info_t *dip, dev_info_t *ch_dip,
907 if ((ch_dip != dip) || (cardbus_debug >= 9))
908 cardbus_err(dip, 6,
909 "cardbus_prop_op(%s) (dip=0x%p, op=%d, name=%s)\n",
910 ddi_driver_name(ch_dip), (void *) dip, prop_op, name);
912 return (impl_ddi_bus_prop_op(dev, dip, ch_dip, prop_op,
917 cardbus_ctlops(dev_info_t *dip, dev_info_t *rdip,
922 const char *dname = ddi_driver_name(dip);
926 cardbus_err(dip, 6,
928 (void *)dip, (void *)rdip, ctlop, (void *)arg, (void *)result);
941 cardbus_err(dip, 8,
943 return (ddi_ctlops(dip, rdip, ctlop, arg, result));
979 return (cardbus_initchild(rdip, dip, (dev_info_t *)arg,
987 cardbus_err(dip, 1,
990 dname, ddi_get_name_addr(dip));
1002 cardbus_err(dip, 1, "%s%d at %s@%s\n",
1005 dname, ddi_get_name_addr(dip));
1058 cardbus_err(dip, 1, buf);
1078 cardbus_err(dip, 6,
1085 cardbus_err(dip, 6,
1209 cardbus_initchild(dev_info_t *rdip, dev_info_t *dip, dev_info_t *child,
1213 const char *dname = ddi_driver_name(dip);
1252 cop = DEVI(dip)->devi_ops->devo_cb_ops;
1363 cardbus_removechild(dev_info_t *dip)
1367 ddi_set_name_addr(dip, NULL);
1368 impl_rem_dev_props(dip);
1369 ppd = (struct cardbus_parent_private_data *)ddi_get_parent_data(dip);
1380 cardbus_err(dip, 5,
1382 ddi_set_parent_data(dip, NULL);
1854 cardbus_bus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp,
1857 register dev_info_t *pdip = (dev_info_t *)DEVI(dip)->devi_parent;
1860 cardbus_err(dip, 9,
1861 "cardbus_bus_map(dip=0x%p, rdip=0x%p)\n",
1862 (void *) dip, (void *) rdip);
1868 cardbus_err(dip, 9,
1878 /* rc = ddi_map(dip, mp, offset, len, vaddrp); */
1906 cardbus_dma_allochdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_attr_t *attr,
1910 dev_info_t *pdip = ddi_get_parent(dip);
1912 cardbus_err(dip, 10,
1913 "cardbus_dma_allochdl(dip=0x%p, rdip=0x%p)\n",
1914 (void *) dip, (void *) rdip);
1919 cardbus_err(dip, 11,
1924 return (ddi_dma_allochdl(dip, rdip, attr, waitfp, arg, handlep));
1928 cardbus_dma_freehdl(dev_info_t *dip, dev_info_t *rdip,
1931 dev_info_t *pdip = ddi_get_parent(dip);
1933 cardbus_err(dip, 10,
1934 "cardbus_dma_freehdl(dip=0x%p, rdip=0x%p)\n",
1935 (void *) dip, (void *) rdip);
1940 cardbus_err(dip, 11,
1945 return (ddi_dma_freehdl(dip, rdip, handle));
1949 cardbus_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip,
1953 dev_info_t *pdip = ddi_get_parent(dip);
1955 cardbus_err(dip, 10,
1956 "cardbus_dma_bindhdl(dip=0x%p, rdip=0x%p)\n",
1957 (void *) dip, (void *) rdip);
1962 cardbus_err(dip, 11,
1972 cardbus_dma_unbindhdl(dev_info_t *dip, dev_info_t *rdip,
1975 dev_info_t *pdip = ddi_get_parent(dip);
1977 cardbus_err(dip, 10,
1978 "cardbus_dma_unbindhdl(dip=0x%p, rdip=0x%p)\n",
1979 (void *) dip, (void *) rdip);
1984 cardbus_err(dip, 11,
1994 cardbus_dma_flush(dev_info_t *dip, dev_info_t *rdip,
1998 dev_info_t *pdip = ddi_get_parent(dip);
2000 cardbus_err(dip, 10,
2001 "cardbus_dma_flush(dip=0x%p, rdip=0x%p)\n",
2002 (void *) dip, (void *) rdip);
2007 cardbus_err(dip, 11,
2017 cardbus_dma_win(dev_info_t *dip, dev_info_t *rdip,
2021 dev_info_t *pdip = ddi_get_parent(dip);
2022 cardbus_err(dip, 6,
2023 "cardbus_dma_win(dip=0x%p, rdip=0x%p)\n",
2024 (void *) dip, (void *) rdip);
2029 cardbus_err(dip, 8,
2039 cardbus_dma_map(dev_info_t *dip, dev_info_t *rdip,
2042 dev_info_t *pdip = ddi_get_parent(dip);
2044 cardbus_err(dip, 10,
2045 "cardbus_dma_map(dip=0x%p, rdip=0x%p)\n",
2046 (void *) dip, (void *) rdip);
2051 cardbus_err(dip, 11,
2061 cardbus_get_eventcookie(dev_info_t *dip, dev_info_t *rdip,
2071 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
2076 cardbus_err(dip, 6, "cardbus_get_eventcookie %s\n", eventname);
2085 dev_info_t *pdip = ddi_get_parent(dip);
2086 cardbus_err(dip, 8,
2095 cardbus_err(dip, 8,
2101 cardbus_err(dip, 7,
2107 cardbus_add_eventcall(dev_info_t *dip, dev_info_t *rdip,
2108 ddi_eventcookie_t cookie, void (*callback)(dev_info_t *dip,
2119 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
2124 cardbus_err(dip, 6, "cardbus_add_eventcall\n");
2133 dev_info_t *pdip = ddi_get_parent(dip);
2134 cardbus_err(dip, 8,
2144 cardbus_err(dip, 8,
2149 cardbus_err(dip, 7,
2155 cardbus_remove_eventcall(dev_info_t *dip, ddi_callback_id_t cb_id)
2163 cb_instance = ddi_prop_get_int(DDI_DEV_T_ANY, dip,
2168 cardbus_err(dip, 6, "cardbus_remove_eventcall\n");
2177 dev_info_t *pdip = ddi_get_parent(dip);
2178 cardbus_err(dip, 8,
2191 cardbus_post_event(dev_info_t *dip, dev_info_t *rdip,
2195 cardbus_err(dip, 1, "cardbus_post_event()\n");
2199 static int cardbus_remove_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2201 static int cardbus_add_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2203 static int cardbus_enable_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2205 static int cardbus_disable_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2209 cardbus_get_pil(dev_info_t *dip)
2211 return ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS,
2216 cardbus_intr_ops(dev_info_t *dip, dev_info_t *rdip, ddi_intr_op_t intr_op,
2222 cardbus_err(dip, 8, "cardbus_intr_ops() intr_op=%d\n", (int)intr_op);
2236 hdlp->ih_pri : cardbus_get_pil(dip);
2243 cardbus_err(dip, 1, "Only fixed interrupts\n");
2248 ret = cardbus_enable_intr_impl(dip, rdip, hdlp);
2251 ret = cardbus_disable_intr_impl(dip, rdip, hdlp);
2273 cardbus_enable_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2276 anp_t *anp = (anp_t *)ddi_get_driver_private(dip);
2283 cardbus_err(dip, 9,
2291 cardbus_err(dip, 1, "Only fixed interrupts\n");
2300 sih.irq = cardbus_get_pil(dip);
2302 if ((*anp->an_if->pcif_set_interrupt)(dip, &sih) != SUCCESS)
2309 cardbus_disable_intr_impl(dev_info_t *dip, dev_info_t *rdip,
2312 anp_t *anp = (anp_t *)ddi_get_driver_private(dip);
2319 cardbus_err(dip, 9,
2327 cardbus_err(dip, 1, "Only fixed interrupts\n");
2335 if ((*anp->an_if->pcif_clr_interrupt)(dip, &cih) != SUCCESS)
2347 cardbus_err(dev_info_t *dip, int level, const char *fmt, ...)
2367 if (dip) {
2368 instance = ddi_get_instance(dip);
2369 /* name = ddi_binding_name(dip); */
2370 name = ddi_driver_name(dip);
2388 if (dip) {
2391 name, instance, (void *)dip,
2395 (void *)dip, buf, nl);
2399 if (dip) {
2402 name, instance, (void *)dip,
2406 name, (void *)dip, buf, nl);
2411 if (dip)
2420 static void cardbus_expand_busrange(dev_info_t *dip)
2426 pdip = ddi_get_parent(dip);
2475 "parent dip %u -> %u\n",
2501 cardbus_err(dip, 1, "cardbus_expand_busrange: "
2502 "cardbus dip base %u length %d\n",
2506 cardbus_err(dip, 1, "cardbus_expand_busrange: "
2513 if (ndi_ra_map_setup(dip, NDI_RA_TYPE_PCI_BUSNUM)
2515 cardbus_err(dip, 1, "cardbus_expand_busrange: "
2520 (void) ndi_ra_free(dip,
2528 "parent dip doesn't have busrange prop\n");