Lines Matching refs:glddev

510 	glddev_t *glddev;  in gld_register()  local
563 glddev = gld_devlookup(major); in gld_register()
568 if (glddev == NULL) { in gld_register()
570 glddev = GLD_GETSTRUCT(glddev_t, 1); in gld_register()
571 if (glddev == NULL) { in gld_register()
575 (void) strncpy(glddev->gld_name, devname, in gld_register()
576 sizeof (glddev->gld_name) - 1); in gld_register()
577 glddev->gld_major = major; in gld_register()
578 glddev->gld_nextminor = GLD_MIN_CLONE_MINOR; in gld_register()
579 glddev->gld_mac_next = glddev->gld_mac_prev = in gld_register()
580 (gld_mac_info_t *)&glddev->gld_mac_next; in gld_register()
581 glddev->gld_str_next = glddev->gld_str_prev = in gld_register()
582 (gld_t *)&glddev->gld_str_next; in gld_register()
583 mutex_init(&glddev->gld_devlock, NULL, MUTEX_DRIVER, NULL); in gld_register()
586 glddev->gld_multisize = ddi_getprop(DDI_DEV_T_NONE, in gld_register()
595 glddev->gld_styles = ddi_getprop(DDI_DEV_T_NONE, devinfo, 0, in gld_register()
599 glddev->gld_type = macinfo->gldm_type; in gld_register()
600 glddev->gld_minsdu = macinfo->gldm_minpkt; in gld_register()
601 glddev->gld_saplen = macinfo->gldm_saplen; in gld_register()
602 glddev->gld_addrlen = macinfo->gldm_addrlen; in gld_register()
603 glddev->gld_broadcast = kmem_zalloc(macinfo->gldm_addrlen, in gld_register()
606 glddev->gld_broadcast, macinfo->gldm_addrlen); in gld_register()
607 glddev->gld_maxsdu = macinfo->gldm_maxpkt; in gld_register()
608 gldinsque(glddev, gld_device_list.gld_prev); in gld_register()
610 glddev->gld_ndevice++; in gld_register()
656 mac_pvt->major_dev = glddev; in gld_register()
686 mutex_enter(&glddev->gld_devlock); in gld_register()
704 if (glddev->gld_styles != -2) { in gld_register()
705 if (ddi_create_minor_node(devinfo, glddev->gld_name, S_IFCHR, in gld_register()
707 mutex_exit(&glddev->gld_devlock); in gld_register()
715 if (glddev->gld_styles != -1) { in gld_register()
716 (void) sprintf(minordev, "%s%d", glddev->gld_name, in gld_register()
721 mutex_exit(&glddev->gld_devlock); in gld_register()
727 gldinsque(macinfo, glddev->gld_mac_prev); in gld_register()
729 mutex_exit(&glddev->gld_devlock); in gld_register()
743 mutex_enter(&glddev->gld_devlock); in gld_register()
745 mutex_exit(&glddev->gld_devlock); in gld_register()
766 glddev->gld_name, in gld_register()
787 glddev->gld_ndevice--; in gld_register()
794 if (glddev->gld_ndevice == 0) { in gld_register()
796 ASSERT(glddev->gld_mac_next == in gld_register()
797 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_register()
798 ASSERT(glddev->gld_mac_prev == in gld_register()
799 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_register()
808 ASSERT(glddev->gld_str_next == (gld_t *)&glddev->gld_str_next); in gld_register()
809 ASSERT(glddev->gld_str_prev == (gld_t *)&glddev->gld_str_next); in gld_register()
811 gldremque(glddev); in gld_register()
812 mutex_destroy(&glddev->gld_devlock); in gld_register()
813 if (glddev->gld_broadcast != NULL) in gld_register()
814 kmem_free(glddev->gld_broadcast, glddev->gld_addrlen); in gld_register()
815 kmem_free(glddev, sizeof (glddev_t)); in gld_register()
831 glddev_t *glddev = mac_pvt->major_dev; in gld_unregister() local
833 int multisize = sizeof (gld_mcast_t) * glddev->gld_multisize; in gld_unregister()
835 mutex_enter(&glddev->gld_devlock); in gld_unregister()
840 mutex_exit(&glddev->gld_devlock); in gld_unregister()
865 mutex_exit(&glddev->gld_devlock); in gld_unregister()
884 glddev->gld_ndevice--; in gld_unregister()
885 if (glddev->gld_ndevice == 0) { in gld_unregister()
887 ASSERT(glddev->gld_mac_next == in gld_unregister()
888 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_unregister()
889 ASSERT(glddev->gld_mac_prev == in gld_unregister()
890 (gld_mac_info_t *)&glddev->gld_mac_next); in gld_unregister()
899 ASSERT(glddev->gld_str_next == (gld_t *)&glddev->gld_str_next); in gld_unregister()
900 ASSERT(glddev->gld_str_prev == (gld_t *)&glddev->gld_str_next); in gld_unregister()
903 gldremque(glddev); in gld_unregister()
904 mutex_destroy(&glddev->gld_devlock); in gld_unregister()
905 if (glddev->gld_broadcast != NULL) in gld_unregister()
906 kmem_free(glddev->gld_broadcast, glddev->gld_addrlen); in gld_unregister()
907 kmem_free(glddev, sizeof (glddev_t)); in gld_unregister()
923 glddev_t *glddev; in gld_initstats() local
927 glddev = mac_pvt->major_dev; in gld_initstats()
929 if ((ksp = kstat_create(glddev->gld_name, macinfo->gldm_ppa, in gld_initstats()
934 glddev->gld_name, macinfo->gldm_ppa); in gld_initstats()
1146 glddev_t *glddev; in gld_init_vlan_stats() local
1151 glddev = mac_pvt->major_dev; in gld_init_vlan_stats()
1152 name = glddev->gld_name; in gld_init_vlan_stats()
1400 glddev_t *glddev; in gld_open() local
1415 glddev = gld_devlookup(getmajor(*dev)); in gld_open()
1423 if (glddev == NULL) in gld_open()
1446 gld->gld_device = glddev; in gld_open()
1454 mutex_enter(&glddev->gld_devlock); in gld_open()
1457 gld->gld_minor = gld_findminor(glddev); in gld_open()
1459 mutex_exit(&glddev->gld_devlock); in gld_open()
1474 gldinsque(gld, glddev->gld_str_prev); in gld_open()
1488 for (macinfo = glddev->gld_mac_next; in gld_open()
1489 macinfo != (gld_mac_info_t *)(&glddev->gld_mac_next); in gld_open()
1515 mutex_exit(&glddev->gld_devlock); in gld_open()
1525 mutex_exit(&glddev->gld_devlock); in gld_open()
1547 mutex_exit(&glddev->gld_devlock); in gld_open()
1553 mutex_exit(&glddev->gld_devlock); in gld_open()
1569 glddev_t *glddev = gld->gld_device; in gld_close() local
1582 mutex_enter(&glddev->gld_devlock); in gld_close()
1594 mutex_exit(&glddev->gld_devlock); in gld_close()
1629 mutex_enter(&glddev->gld_devlock); in gld_close()
1631 mutex_exit(&glddev->gld_devlock); in gld_close()
4047 glddev_t *glddev; in gld_inforeq() local
4065 glddev = gld->gld_device; in gld_inforeq()
4066 ASSERT(glddev); in gld_inforeq()
4078 addr_length = glddev->gld_addrlen; in gld_inforeq()
4079 sap_length = glddev->gld_saplen; in gld_inforeq()
4080 brdcst_length = glddev->gld_addrlen; in gld_inforeq()
4178 dlp->dl_min_sdu = glddev->gld_minsdu; in gld_inforeq()
4179 dlp->dl_max_sdu = glddev->gld_maxsdu; in gld_inforeq()
4180 dlp->dl_mac_type = glddev->gld_type; in gld_inforeq()
4186 mac_copy((caddr_t)glddev->gld_broadcast, in gld_inforeq()
4297 glddev_t *glddev; in gldattach() local
4315 glddev = gld->gld_device; in gldattach()
4316 mutex_enter(&glddev->gld_devlock); in gldattach()
4317 for (macinfo = glddev->gld_mac_next; in gldattach()
4318 macinfo != (gld_mac_info_t *)&glddev->gld_mac_next; in gldattach()
4333 mutex_exit(&glddev->gld_devlock); in gldattach()
4342 mutex_exit(&glddev->gld_devlock); in gldattach()
4364 gldinsque(gld, glddev->gld_str_prev); in gldattach()
4365 mutex_exit(&glddev->gld_devlock); in gldattach()
4375 gldinsque(gld, glddev->gld_str_prev); in gldattach()
4376 mutex_exit(&glddev->gld_devlock); in gldattach()
4396 mutex_exit(&glddev->gld_devlock); in gldattach()
4400 mutex_exit(&glddev->gld_devlock); in gldattach()
4413 glddev_t *glddev = gld->gld_device; in gldunattach() local
4492 mutex_enter(&glddev->gld_devlock); in gldunattach()
4519 gldinsque(gld, glddev->gld_str_prev); in gldunattach()
4521 mutex_exit(&glddev->gld_devlock); in gldunattach()
4541 glddev_t *glddev; in gld_enable_multi() local
4574 glddev = mac_pvt->major_dev; in gld_enable_multi()
4575 ASSERT(glddev == gld->gld_device); in gld_enable_multi()
4593 glddev->gld_multisize); in gld_enable_multi()
4599 gld->gld_multicnt = glddev->gld_multisize; in gld_enable_multi()
4620 glddev->gld_multisize); in gld_enable_multi()
4627 for (i = 0; i < glddev->gld_multisize; i++) { in gld_enable_multi()
4638 for (i = 0; i < glddev->gld_multisize; i++) { in gld_enable_multi()