Lines Matching defs:lldev

130 	xgelldev_t *lldev = xge_hal_device_private(data);
132 mutex_enter(&lldev->genlock);
133 if (lldev->is_initialized) {
135 lldev->timeout_id = timeout(xge_device_poll, data,
137 } else if (lldev->in_reset == 1) {
138 lldev->timeout_id = timeout(xge_device_poll, data,
141 lldev->timeout_id = 0;
143 mutex_exit(&lldev->genlock);
154 xgelldev_t *lldev = xge_hal_device_private(data);
156 mutex_enter(&lldev->genlock);
157 if (lldev->is_initialized) {
160 mutex_exit(&lldev->genlock);
171 xgelldev_t *lldev = (xgelldev_t *)userdata;
173 mac_link_update(lldev->mh, LINK_STATE_UP);
184 xgelldev_t *lldev = (xgelldev_t *)userdata;
186 mac_link_update(lldev->mh, LINK_STATE_DOWN);
269 xgelldev_t *lldev = ring->lldev;
284 if ((lldev->is_initialized != 0) && (ring->live) &&
309 xgelldev_t *lldev = ring->lldev;
322 hldev = (xge_hal_device_t *)lldev->devh;
327 XGELL_IFNAME, lldev->instance);
337 XGELL_IFNAME, lldev->instance);
344 XGELL_IFNAME, lldev->instance);
352 XGELL_IFNAME, lldev->instance);
358 XGELL_IFNAME, lldev->instance);
398 xgelldev_t *lldev = ring->lldev;
431 XGELL_IFNAME, lldev->instance);
476 xgelldev_t *lldev = ring->lldev;
485 hldev = (xge_hal_device_t *)lldev->devh;
492 bf_pool->post_hiwat = lldev->config.rx_buffer_post_hiwat;
508 for (i = 0; i < lldev->config.rx_buffer_total; i++) {
660 xgelldev_t *lldev = ring->lldev;
669 if (*copyit || pkt_length <= lldev->config.rx_dma_lowat) {
707 xgelldev_t *lldev = ring->lldev;
736 lldev->instance, (uint64_t)(uintptr_t)dtr, t_code);
751 XGELL_IFNAME, lldev->instance);
785 XGELL_IFNAME, lldev->instance);
827 if (++pkt_burst < lldev->config.rx_pkt_burst)
836 mac_rx_ring(lldev->mh, ring->ring_handle, mp_head,
857 mac_rx_ring(lldev->mh, ring->ring_handle, mp_head,
898 xgelldev_t *lldev = ring->lldev;
908 lldev->instance, (uint64_t)(uintptr_t)dtr, t_code);
936 mac_tx_ring_update(lldev->mh, ring->ring_handle);
946 xgelldev_t *lldev = ring->lldev;
947 xge_hal_device_t *hldev = lldev->devh;
962 if (!lldev->is_initialized || lldev->in_reset)
976 XGELL_IFNAME, lldev->instance,
988 lldev->instance,
995 lldev->instance,
1051 if (mblen < lldev->config.tx_dma_lowat &&
1052 (copied + mblen) < lldev->tx_copied_max) {
1071 ret = ddi_dma_alloc_handle(lldev->dev_info, &tx_dma_attr,
1076 lldev->instance);
1093 XGELL_IFNAME, lldev->instance);
1104 XGELL_IFNAME, lldev->instance);
1112 lldev->instance, ncookies, frag_cnt);
1143 XGELL_IFNAME, lldev->instance);
1216 xgelldev_t *lldev = ring->lldev;
1217 xge_hal_device_t *hldev = lldev->devh;
1250 xgelldev_t *lldev = ring->lldev;
1251 xge_hal_device_t *hldev = lldev->devh;
1257 mutex_enter(&lldev->genlock);
1260 mutex_exit(&lldev->genlock);
1275 if (xgell_maddr_set(lldev, slot_start + slot, (uint8_t *)mac_addr) !=
1277 mutex_exit(&lldev->genlock);
1296 mutex_exit(&lldev->genlock);
1305 xgelldev_t *lldev = ring->lldev;
1306 xge_hal_device_t *hldev = lldev->devh;
1333 mutex_enter(&lldev->genlock);
1335 mutex_exit(&lldev->genlock);
1341 XGELL_IFNAME, lldev->instance);
1347 mutex_exit(&lldev->genlock);
1363 mutex_exit(&lldev->genlock);
1442 xgelldev_t *lldev = (xgelldev_t *)arg;
1449 xge_assert(index < lldev->init_rx_rings);
1450 xge_assert(rg_index < lldev->init_rx_groups);
1455 if (lldev->init_rx_rings == lldev->init_rx_groups)
1456 rx_ring = lldev->rx_ring + rg_index;
1458 rx_ring = lldev->rx_ring + index;
1480 xge_assert((index >= 0) && (index < lldev->init_tx_rings));
1482 tx_ring = lldev->tx_ring + index;
1502 xgelldev_t *lldev = (xgelldev_t *)arg;
1508 xge_assert(index < lldev->init_rx_groups);
1510 rx_ring = lldev->rx_ring + index;
1519 infop->mgi_count = lldev->init_rx_rings / lldev->init_rx_groups;
1535 xgell_maddr_set(xgelldev_t *lldev, int index, uint8_t *macaddr)
1537 xge_hal_device_t *hldev = lldev->devh;
1551 XGELL_IFNAME, lldev->instance);
1590 xgelldev_t *lldev = rx_ring->lldev;
1591 xge_hal_device_t *hldev = lldev->devh;
1614 status = xge_hal_channel_open(lldev->devh, &attr, &rx_ring->channelh,
1618 " code %d", XGELL_IFNAME, lldev->instance, status);
1655 * @lldev: the link layer object
1660 xgell_rx_open(xgelldev_t *lldev)
1665 if (lldev->live_rx_rings != 0)
1668 lldev->live_rx_rings = 0;
1673 for (i = 0; i < lldev->init_rx_rings; i++) {
1674 rx_ring = &lldev->rx_ring[i];
1676 rx_ring->lldev = lldev;
1682 lldev->live_rx_rings++;
1689 xgell_rx_close(xgelldev_t *lldev)
1694 if (lldev->live_rx_rings == 0)
1700 for (i = 0; i < lldev->init_rx_rings; i++) {
1701 rx_ring = &lldev->rx_ring[i];
1705 lldev->live_rx_rings--;
1709 xge_assert(lldev->live_rx_rings == 0);
1755 xgelldev_t *lldev = tx_ring->lldev;
1770 status = xge_hal_channel_open(lldev->devh, &attr, &tx_ring->channelh,
1774 "code %d", XGELL_IFNAME, lldev->instance, status);
1794 * @lldev: the link layer object
1799 xgell_tx_open(xgelldev_t *lldev)
1804 if (lldev->live_tx_rings != 0)
1807 lldev->live_tx_rings = 0;
1812 for (i = 0; i < lldev->init_tx_rings; i++) {
1813 tx_ring = &lldev->tx_ring[i];
1815 tx_ring->lldev = lldev;
1821 lldev->live_tx_rings++;
1828 xgell_tx_close(xgelldev_t *lldev)
1833 if (lldev->live_tx_rings == 0)
1839 for (i = 0; i < lldev->init_tx_rings; i++) {
1840 tx_ring = &lldev->tx_ring[i];
1843 lldev->live_tx_rings--;
1849 xgell_initiate_start(xgelldev_t *lldev)
1852 xge_hal_device_t *hldev = lldev->devh;
1856 status = xge_hal_device_mtu_check(lldev->devh, maxpkt);
1859 XGELL_IFNAME, lldev->instance, maxpkt);
1864 status = xge_hal_device_mtu_set(lldev->devh, maxpkt);
1867 XGELL_IFNAME, lldev->instance, maxpkt);
1883 status = xge_hal_device_enable(lldev->devh);
1886 XGELL_IFNAME, lldev->instance);
1890 if (!xgell_rx_open(lldev)) {
1891 status = xge_hal_device_disable(lldev->devh);
1894 (void) xge_hal_device_status(lldev->devh,
1899 XGELL_IFNAME, lldev->instance,
1902 xgell_rx_close(lldev);
1907 if (!xgell_tx_open(lldev)) {
1908 status = xge_hal_device_disable(lldev->devh);
1911 (void) xge_hal_device_status(lldev->devh,
1916 XGELL_IFNAME, lldev->instance,
1919 xgell_tx_close(lldev);
1920 xgell_rx_close(lldev);
1926 (void) xge_enable_intrs(lldev);
1927 xge_hal_device_intr_enable(lldev->devh);
1929 lldev->is_initialized = 1;
1935 xgell_initiate_stop(xgelldev_t *lldev)
1939 lldev->is_initialized = 0;
1941 status = xge_hal_device_disable(lldev->devh);
1944 (void) xge_hal_device_status(lldev->devh, &adapter_status);
1947 XGELL_IFNAME, lldev->instance,
1950 xge_hal_device_intr_disable(lldev->devh);
1952 xge_disable_intrs(lldev);
1958 xge_queue_flush(xge_hal_device_queue(lldev->devh));
1960 xgell_rx_close(lldev);
1961 xgell_tx_close(lldev);
1976 xgelldev_t *lldev = arg;
1977 xge_hal_device_t *hldev = lldev->devh;
1981 lldev->instance);
1983 mutex_enter(&lldev->genlock);
1985 if (lldev->is_initialized) {
1987 XGELL_IFNAME, lldev->instance);
1988 mutex_exit(&lldev->genlock);
1993 if (ret = xgell_initiate_start(lldev)) {
1994 mutex_exit(&lldev->genlock);
1998 lldev->timeout_id = timeout(xge_device_poll, hldev, XGE_DEV_POLL_TICKS);
2000 mutex_exit(&lldev->genlock);
2017 xgelldev_t *lldev = arg;
2018 xge_hal_device_t *hldev = lldev->devh;
2022 mutex_enter(&lldev->genlock);
2023 if (!lldev->is_initialized) {
2025 mutex_exit(&lldev->genlock);
2030 xgell_initiate_stop(lldev);
2033 (void) xge_hal_device_reset(lldev->devh);
2035 mutex_exit(&lldev->genlock);
2037 if (lldev->timeout_id != 0) {
2038 (void) untimeout(lldev->timeout_id);
2046 * @lldev: pointer to xgelldev_t structure
2052 xgell_onerr_reset(xgelldev_t *lldev)
2056 if (!lldev->is_initialized) {
2058 XGELL_IFNAME, lldev->instance);
2062 lldev->in_reset = 1;
2063 xgell_initiate_stop(lldev);
2066 (void) xge_hal_device_reset(lldev->devh);
2068 rc = xgell_initiate_start(lldev);
2069 lldev->in_reset = 0;
2087 xgelldev_t *lldev = (xgelldev_t *)arg;
2088 xge_hal_device_t *hldev = lldev->devh;
2092 mutex_enter(&lldev->genlock);
2094 if (!lldev->is_initialized) {
2096 XGELL_IFNAME, lldev->instance);
2097 mutex_exit(&lldev->genlock);
2110 mutex_exit(&lldev->genlock);
2114 mutex_exit(&lldev->genlock);
2131 xgelldev_t *lldev = (xgelldev_t *)arg;
2132 xge_hal_device_t *hldev = lldev->devh;
2134 mutex_enter(&lldev->genlock);
2138 if (!lldev->is_initialized) {
2140 XGELL_IFNAME, lldev->instance);
2141 mutex_exit(&lldev->genlock);
2151 mutex_exit(&lldev->genlock);
2167 xgelldev_t *lldev = (xgelldev_t *)arg;
2168 xge_hal_device_t *hldev = lldev->devh;
2172 mutex_enter(&lldev->genlock);
2174 if (!lldev->is_initialized) {
2175 mutex_exit(&lldev->genlock);
2180 mutex_exit(&lldev->genlock);
2260 mutex_exit(&lldev->genlock);
2264 mutex_exit(&lldev->genlock);
2326 xgelldev_t *lldev;
2335 lldev = kmem_zalloc(sizeof (xgelldev_t), KM_SLEEP);
2337 lldev->devh = hldev;
2338 lldev->instance = instance;
2339 lldev->dev_info = dev_info;
2341 *lldev_out = lldev;
2352 xgell_device_free(xgelldev_t *lldev)
2355 XGELL_IFNAME, lldev->instance);
2357 kmem_free(lldev, sizeof (xgelldev_t));
2366 xgelldev_t *lldev = arg;
2412 ret = nd_getset(wq, lldev->ndp, mp);
2417 ret = nd_getset(wq, lldev->ndp, mp);
2441 xgelldev_t *lldev = arg;
2455 if (lldev->config.lso_enable) {
2469 cap_rings->mr_rnum = lldev->init_rx_rings;
2470 cap_rings->mr_gnum = lldev->init_rx_groups;
2476 cap_rings->mr_rnum = lldev->init_tx_rings;
2495 xgelldev_t *lldev = (xgelldev_t *)cp;
2505 status = xge_hal_aux_stats_tmac_read(lldev->devh, XGELL_STATS_BUFSIZE,
2514 status = xge_hal_aux_stats_rmac_read(lldev->devh,
2524 status = xge_hal_aux_stats_pci_read(lldev->devh,
2533 status = xge_hal_aux_stats_sw_dev_read(lldev->devh,
2542 status = xge_hal_aux_stats_hal_read(lldev->devh,
2561 xgelldev_t *lldev = (xgelldev_t *)cp;
2570 status = xge_hal_aux_pci_config_read(lldev->devh, XGELL_PCICONF_BUFSIZE,
2587 xgelldev_t *lldev = (xgelldev_t *)cp;
2596 status = xge_hal_aux_about_read(lldev->devh, XGELL_ABOUT_BUFSIZE,
2615 xgelldev_t *lldev = (xgelldev_t *)cp;
2624 status = xge_hal_aux_bar0_read(lldev->devh, bar0_offset,
2733 xgelldev_t *lldev = (xgelldev_t *)(void *)cp;
2742 status = xge_hal_aux_device_config_read(lldev->devh,
2766 xgell_device_register(xgelldev_t *lldev, xgell_config_t *config)
2769 xge_hal_device_t *hldev = (xge_hal_device_t *)lldev->devh;
2774 if (nd_load(&lldev->ndp, "pciconf", xgell_pciconf_get, NULL,
2775 (caddr_t)lldev) == B_FALSE)
2778 if (nd_load(&lldev->ndp, "about", xgell_about_get, NULL,
2779 (caddr_t)lldev) == B_FALSE)
2782 if (nd_load(&lldev->ndp, "stats", xgell_stats_get, NULL,
2783 (caddr_t)lldev) == B_FALSE)
2786 if (nd_load(&lldev->ndp, "bar0", xgell_bar0_get, xgell_bar0_set,
2787 (caddr_t)lldev) == B_FALSE)
2790 if (nd_load(&lldev->ndp, "debug_level", xgell_debug_level_get,
2791 xgell_debug_level_set, (caddr_t)lldev) == B_FALSE)
2794 if (nd_load(&lldev->ndp, "debug_module_mask",
2796 (caddr_t)lldev) == B_FALSE)
2799 if (nd_load(&lldev->ndp, "devconfig", xgell_devconfig_get, NULL,
2800 (caddr_t)lldev) == B_FALSE)
2803 bcopy(config, &lldev->config, sizeof (xgell_config_t));
2805 mutex_init(&lldev->genlock, NULL, MUTEX_DRIVER,
2811 macp->m_driver = lldev;
2812 macp->m_dip = lldev->dev_info;
2823 if (mac_register(macp, &lldev->mh) != 0)
2831 lldev->tx_copied_max = hldev->config.fifo.max_frags *
2836 XGELL_IFNAME, lldev->instance);
2841 nd_free(&lldev->ndp);
2848 nd_free(&lldev->ndp);
2849 mutex_destroy(&lldev->genlock);
2857 * @lldev: pointer to valid LL device.
2862 xgell_device_unregister(xgelldev_t *lldev)
2864 if (mac_unregister(lldev->mh) != 0) {
2866 XGELL_IFNAME, lldev->instance);
2870 mutex_destroy(&lldev->genlock);
2872 nd_free(&lldev->ndp);
2875 XGELL_IFNAME, lldev->instance);