Lines Matching +full:0 +full:x000002a0
93 static int msi_disable = 0;
99 * set this to 0 or 1 to override the default.
113 "Atheros AR8151 v1.0 PCIe Gigabit Ethernet" },
115 "Atheros AR8151 v2.0 PCIe Gigabit Ethernet" },
119 "Atheros AR8152 v2.0 PCIe Fast Ethernet" },
134 { 0, 0, 0, NULL}
246 DRIVER_MODULE(alc, pci, alc_driver, 0, 0);
249 DRIVER_MODULE(miibus, alc, miibus_driver, 0, 0);
252 { SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE },
253 { -1, 0, 0 }
257 { SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE },
258 { -1, 0, 0 }
263 { -1, 0, 0 }
268 { -1, 0, 0 }
271 static uint32_t alc_dma_burst[] = { 128, 256, 512, 1024, 2048, 4096, 0, 0 };
280 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_miibus_readreg()
299 if ((sc->alc_flags & ALC_FLAG_FASTETHER) != 0 && in alc_mii_readreg_813x()
301 return (0); in alc_mii_readreg_813x()
305 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_mii_readreg_813x()
308 if ((v & (MDIO_OP_EXECUTE | MDIO_OP_BUSY)) == 0) in alc_mii_readreg_813x()
312 if (i == 0) { in alc_mii_readreg_813x()
314 return (0); in alc_mii_readreg_813x()
326 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) in alc_mii_readreg_816x()
332 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_mii_readreg_816x()
335 if ((v & MDIO_OP_BUSY) == 0) in alc_mii_readreg_816x()
339 if (i == 0) { in alc_mii_readreg_816x()
341 return (0); in alc_mii_readreg_816x()
354 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_miibus_writereg()
370 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_mii_writereg_813x()
373 if ((v & (MDIO_OP_EXECUTE | MDIO_OP_BUSY)) == 0) in alc_mii_writereg_813x()
377 if (i == 0) in alc_mii_writereg_813x()
380 return (0); in alc_mii_writereg_813x()
389 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) in alc_mii_writereg_816x()
396 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_mii_writereg_816x()
399 if ((v & MDIO_OP_BUSY) == 0) in alc_mii_writereg_816x()
403 if (i == 0) in alc_mii_writereg_816x()
406 return (0); in alc_mii_writereg_816x()
422 (if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0) in alc_miibus_statchg()
434 if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) in alc_miibus_statchg()
445 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) { in alc_miibus_statchg()
453 alc_aspm(sc, 0, IFM_SUBTYPE(mii->mii_media_active)); in alc_miibus_statchg()
485 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) in alc_miiext_readreg()
491 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_miiext_readreg()
494 if ((v & MDIO_OP_BUSY) == 0) in alc_miiext_readreg()
498 if (i == 0) { in alc_miiext_readreg()
501 return (0); in alc_miiext_readreg()
515 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) in alc_miiext_writereg()
522 for (i = ALC_PHY_TIMEOUT; i > 0; i--) { in alc_miiext_writereg()
525 if ((v & MDIO_OP_BUSY) == 0) in alc_miiext_writereg()
529 if (i == 0) in alc_miiext_writereg()
533 return (0); in alc_miiext_writereg()
541 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_dsp_fixup()
550 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) { in alc_dsp_fixup()
576 if ((sc->alc_flags & ALC_FLAG_LINK_WAR) != 0 && in alc_dsp_fixup()
596 if ((sc->alc_flags & ALC_FLAG_LINK_WAR) != 0 && in alc_dsp_fixup()
616 if ((if_getflags(ifp) & IFF_UP) == 0) { in alc_mediastatus()
693 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_get_macaddr()
706 eeprom = 0; in alc_get_macaddr_813x()
708 if ((CSR_READ_4(sc, ALC_MASTER_CFG) & MASTER_OTP_SEL) != 0 && in alc_get_macaddr_813x()
709 (CSR_READ_4(sc, ALC_TWSI_DEBUG) & TWSI_DEBUG_DEV_EXIST) != 0) { in alc_get_macaddr_813x()
718 if ((opt & OPT_CFG_CLK_ENB) == 0) { in alc_get_macaddr_813x()
730 ALC_MII_DBG_ADDR, 0x00); in alc_get_macaddr_813x()
734 ALC_MII_DBG_DATA, val & 0xFF7F); in alc_get_macaddr_813x()
736 ALC_MII_DBG_ADDR, 0x3B); in alc_get_macaddr_813x()
740 ALC_MII_DBG_DATA, val | 0x0008); in alc_get_macaddr_813x()
747 CSR_WRITE_4(sc, ALC_WOL_CFG, 0); in alc_get_macaddr_813x()
752 for (i = 100; i > 0; i--) { in alc_get_macaddr_813x()
755 TWSI_CFG_SW_LD_START) == 0) in alc_get_macaddr_813x()
758 if (i == 0) in alc_get_macaddr_813x()
765 if (eeprom != 0) { in alc_get_macaddr_813x()
769 if ((opt & OPT_CFG_CLK_ENB) != 0) { in alc_get_macaddr_813x()
781 ALC_MII_DBG_ADDR, 0x00); in alc_get_macaddr_813x()
785 ALC_MII_DBG_DATA, val | 0x0080); in alc_get_macaddr_813x()
787 ALC_MII_DBG_ADDR, 0x3B); in alc_get_macaddr_813x()
791 ALC_MII_DBG_DATA, val & 0xFFF7); in alc_get_macaddr_813x()
806 reloaded = 0; in alc_get_macaddr_816x()
808 for (i = 100; i > 0; i--) { in alc_get_macaddr_816x()
810 if ((reg & (SLD_PROGRESS | SLD_START)) == 0) in alc_get_macaddr_816x()
814 if (i != 0) { in alc_get_macaddr_816x()
816 for (i = 100; i > 0; i--) { in alc_get_macaddr_816x()
819 if ((reg & SLD_START) == 0) in alc_get_macaddr_816x()
822 if (i != 0) in alc_get_macaddr_816x()
830 if (reloaded == 0) { in alc_get_macaddr_816x()
833 EEPROM_LD_FLASH_EXIST)) != 0) { in alc_get_macaddr_816x()
834 for (i = 100; i > 0; i--) { in alc_get_macaddr_816x()
837 EEPROM_LD_START)) == 0) in alc_get_macaddr_816x()
841 if (i != 0) { in alc_get_macaddr_816x()
844 for (i = 100; i > 0; i--) { in alc_get_macaddr_816x()
847 if ((reg & EEPROM_LD_START) == 0) in alc_get_macaddr_816x()
864 ea[0] = CSR_READ_4(sc, ALC_PAR0); in alc_get_macaddr_par()
866 sc->alc_eaddr[0] = (ea[1] >> 8) & 0xFF; in alc_get_macaddr_par()
867 sc->alc_eaddr[1] = (ea[1] >> 0) & 0xFF; in alc_get_macaddr_par()
868 sc->alc_eaddr[2] = (ea[0] >> 24) & 0xFF; in alc_get_macaddr_par()
869 sc->alc_eaddr[3] = (ea[0] >> 16) & 0xFF; in alc_get_macaddr_par()
870 sc->alc_eaddr[4] = (ea[0] >> 8) & 0xFF; in alc_get_macaddr_par()
871 sc->alc_eaddr[5] = (ea[0] >> 0) & 0xFF; in alc_get_macaddr_par()
879 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_disable_l0s_l1()
895 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_phy_reset()
919 ALC_MII_DBG_ADDR, 0x000A); in alc_phy_reset_813x()
923 ALC_MII_DBG_DATA, data & 0xDFFF); in alc_phy_reset_813x()
930 ALC_MII_DBG_ADDR, 0x003B); in alc_phy_reset_813x()
934 ALC_MII_DBG_DATA, data & 0xFFF7); in alc_phy_reset_813x()
939 ALC_MII_DBG_ADDR, 0x0029); in alc_phy_reset_813x()
941 ALC_MII_DBG_DATA, 0x929D); in alc_phy_reset_813x()
948 ALC_MII_DBG_ADDR, 0x0029); in alc_phy_reset_813x()
950 ALC_MII_DBG_DATA, 0xB6DD); in alc_phy_reset_813x()
999 0x0029); in alc_phy_reset_813x()
1002 data &= ~0x8000; in alc_phy_reset_813x()
1007 0x000B); in alc_phy_reset_813x()
1010 data &= ~0x8000; in alc_phy_reset_813x()
1055 alc_miiext_writereg(sc, MII_EXT_ANEG, MII_EXT_ANEG_LOCAL_EEEADV, 0); in alc_phy_reset_816x()
1072 if ((sc->alc_flags & ALC_FLAG_LINK_WAR) != 0) { in alc_phy_reset_816x()
1114 * GPHY power down caused more problems on AR8151 v2.0. in alc_phy_down()
1118 * AR8151 v1.0 also requires this one though. I don't in alc_phy_down()
1119 * have AR8151 v1.0 controller in hand. in alc_phy_down()
1141 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_aspm()
1153 if ((sc->alc_flags & ALC_FLAG_LINK) == 0) in alc_aspm_813x()
1162 linkcfg = 0; in alc_aspm_813x()
1169 if ((sc->alc_flags & ALC_FLAG_APS) != 0) { in alc_aspm_813x()
1170 /* Disable extended sync except AR8152 B v1.0 */ in alc_aspm_813x()
1187 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) { in alc_aspm_813x()
1188 if ((sc->alc_flags & ALC_FLAG_L0S) != 0) in alc_aspm_813x()
1190 if ((sc->alc_flags & ALC_FLAG_L1S) != 0) in alc_aspm_813x()
1192 if ((sc->alc_flags & ALC_FLAG_APS) != 0) { in alc_aspm_813x()
1229 if ((sc->alc_flags & ALC_FLAG_L1S) != 0) in alc_aspm_813x()
1254 (sc->alc_rev & 0x01) != 0) in alc_aspm_816x()
1256 if ((sc->alc_flags & ALC_FLAG_LINK) != 0) { in alc_aspm_816x()
1261 if (init != 0) in alc_aspm_816x()
1264 else if ((if_getdrvflags(sc->alc_ifp) & IFF_DRV_RUNNING) != 0) in alc_aspm_816x()
1282 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_init_pcie()
1299 if ((cap & PCIEM_LINK_CAP_ASPM) != 0) { in alc_init_pcie()
1301 if ((ctl & PCIEM_LINK_CTL_RCB) != 0) in alc_init_pcie()
1314 state == 0 ? "disabled" : "enabled"); in alc_init_pcie()
1327 (sc->alc_rev & 0x01) != 0) { in alc_init_pcie()
1328 if ((val & MASTER_WAKEN_25M) == 0 || in alc_init_pcie()
1329 (val & MASTER_CLK_SEL_DIS) == 0) { in alc_init_pcie()
1334 if ((val & MASTER_WAKEN_25M) == 0 || in alc_init_pcie()
1335 (val & MASTER_CLK_SEL_DIS) != 0) { in alc_init_pcie()
1350 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_config_msi()
1361 if (mod == 0) in alc_config_msi()
1364 if ((sc->alc_flags & ALC_FLAG_MSIX) != 0) in alc_config_msi()
1367 else if ((sc->alc_flags & ALC_FLAG_MSI) != 0) in alc_config_msi()
1371 CSR_WRITE_4(sc, ALC_MSI_RETRANS_TIMER, 0); in alc_config_msi()
1383 error = 0; in alc_attach()
1390 callout_init_mtx(&sc->alc_tick_ch, &sc->alc_mtx, 0); in alc_attach()
1391 NET_TASK_INIT(&sc->alc_int_task, 0, alc_int_task, sc); in alc_attach()
1399 if (error != 0) { in alc_attach()
1430 pci_get_subdevice(dev) == 0x0091 && sc->alc_rev == 0) in alc_attach()
1462 msix_disable = 0; in alc_attach()
1480 device_printf(dev, "PCI device revision : 0x%04x\n", in alc_attach()
1482 device_printf(dev, "Chip id/revision : 0x%04x\n", in alc_attach()
1484 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_attach()
1485 device_printf(dev, "AR816x revision : 0x%x\n", in alc_attach()
1493 sc->alc_dma_rd_burst = 0; in alc_attach()
1494 sc->alc_dma_wr_burst = 0; in alc_attach()
1496 if (pci_find_cap(dev, PCIY_EXPRESS, &base) == 0) { in alc_attach()
1519 (ALC_FLAG_E2X00 | ALC_FLAG_AR816X_FAMILY)) != 0) in alc_attach()
1520 sc->alc_dma_wr_burst = 0; in alc_attach()
1548 if (msix_disable == 0 || msi_disable == 0) { in alc_attach()
1549 if (msix_disable == 0 && msixc > 0 && in alc_attach()
1550 pci_alloc_msix(dev, &msixc) == 0) { in alc_attach()
1559 if (msi_disable == 0 && (sc->alc_flags & ALC_FLAG_MSIX) == 0 && in alc_attach()
1560 msic > 0 && pci_alloc_msi(dev, &msic) == 0) { in alc_attach()
1572 if (error != 0) { in alc_attach()
1580 if ((error = alc_dma_alloc(sc)) != 0) in alc_attach()
1598 if_setcapabilitiesbit(ifp, IFCAP_WOL_MAGIC | IFCAP_WOL_MCAST, 0); in alc_attach()
1607 if (error != 0) { in alc_attach()
1616 IFCAP_VLAN_HWCSUM | IFCAP_VLAN_HWTSO, 0); in alc_attach()
1630 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_attach()
1631 if_setcapenablebit(ifp, 0, IFCAP_TXCSUM); in alc_attach()
1632 if_sethwassistbits(ifp, 0, ALC_CSUM_FEATURES); in alc_attach()
1645 if ((sc->alc_flags & ALC_FLAG_MSIX) != 0) in alc_attach()
1647 else if ((sc->alc_flags & ALC_FLAG_MSI) != 0) in alc_attach()
1651 for (i = 0; i < msic; i++) { in alc_attach()
1655 if (error != 0) in alc_attach()
1658 if (error != 0) { in alc_attach()
1670 if (error != 0) in alc_attach()
1709 if ((sc->alc_flags & ALC_FLAG_MSIX) != 0) in alc_detach()
1711 else if ((sc->alc_flags & ALC_FLAG_MSI) != 0) in alc_detach()
1715 for (i = 0; i < msic; i++) { in alc_detach()
1722 if (sc->alc_res[0] != NULL) in alc_detach()
1725 if ((sc->alc_flags & (ALC_FLAG_MSI | ALC_FLAG_MSIX)) != 0) in alc_detach()
1730 return (0); in alc_detach()
1734 SYSCTL_ADD_UINT(c, h, OID_AUTO, n, CTLFLAG_RD, p, 0, d)
1753 0, sysctl_hw_alc_int_mod, "I", "alc Rx interrupt moderation"); in alc_sysctl_node()
1756 0, sysctl_hw_alc_int_mod, "I", "alc Tx interrupt moderation"); in alc_sysctl_node()
1761 if (error == 0) { in alc_sysctl_node()
1773 if (error == 0) { in alc_sysctl_node()
1784 &sc->alc_process_limit, 0, sysctl_hw_alc_proc_limit, "I", in alc_sysctl_node()
1791 if (error == 0) { in alc_sysctl_node()
1927 if (error != 0) in alc_dmamap_cb()
1933 ctx->alc_busaddr = segs[0].ds_addr; in alc_dmamap_cb()
1969 return (0); in alc_check_boundary()
1988 1, 0, /* alignment, boundary */ in alc_dma_alloc()
1993 0, /* nsegments */ in alc_dma_alloc()
1995 0, /* flags */ in alc_dma_alloc()
1998 if (error != 0) { in alc_dma_alloc()
2007 ALC_TX_RING_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2014 0, /* flags */ in alc_dma_alloc()
2017 if (error != 0) { in alc_dma_alloc()
2026 ALC_RX_RING_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2033 0, /* flags */ in alc_dma_alloc()
2036 if (error != 0) { in alc_dma_alloc()
2044 ALC_RR_RING_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2051 0, /* flags */ in alc_dma_alloc()
2054 if (error != 0) { in alc_dma_alloc()
2063 ALC_CMB_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2070 0, /* flags */ in alc_dma_alloc()
2073 if (error != 0) { in alc_dma_alloc()
2081 ALC_SMB_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2088 0, /* flags */ in alc_dma_alloc()
2091 if (error != 0) { in alc_dma_alloc()
2102 if (error != 0) { in alc_dma_alloc()
2107 ctx.alc_busaddr = 0; in alc_dma_alloc()
2110 ALC_TX_RING_SZ, alc_dmamap_cb, &ctx, 0); in alc_dma_alloc()
2111 if (error != 0 || ctx.alc_busaddr == 0) { in alc_dma_alloc()
2123 if (error != 0) { in alc_dma_alloc()
2128 ctx.alc_busaddr = 0; in alc_dma_alloc()
2131 ALC_RX_RING_SZ, alc_dmamap_cb, &ctx, 0); in alc_dma_alloc()
2132 if (error != 0 || ctx.alc_busaddr == 0) { in alc_dma_alloc()
2144 if (error != 0) { in alc_dma_alloc()
2149 ctx.alc_busaddr = 0; in alc_dma_alloc()
2152 ALC_RR_RING_SZ, alc_dmamap_cb, &ctx, 0); in alc_dma_alloc()
2153 if (error != 0 || ctx.alc_busaddr == 0) { in alc_dma_alloc()
2165 if (error != 0) { in alc_dma_alloc()
2170 ctx.alc_busaddr = 0; in alc_dma_alloc()
2173 ALC_CMB_SZ, alc_dmamap_cb, &ctx, 0); in alc_dma_alloc()
2174 if (error != 0 || ctx.alc_busaddr == 0) { in alc_dma_alloc()
2186 if (error != 0) { in alc_dma_alloc()
2191 ctx.alc_busaddr = 0; in alc_dma_alloc()
2194 ALC_SMB_SZ, alc_dmamap_cb, &ctx, 0); in alc_dma_alloc()
2195 if (error != 0 || ctx.alc_busaddr == 0) { in alc_dma_alloc()
2204 (error = alc_check_boundary(sc)) != 0) { in alc_dma_alloc()
2225 1, 0, /* alignment, boundary */ in alc_dma_alloc()
2230 0, /* nsegments */ in alc_dma_alloc()
2232 0, /* flags */ in alc_dma_alloc()
2235 if (error != 0) { in alc_dma_alloc()
2244 1, 0, /* alignment, boundary */ in alc_dma_alloc()
2251 0, /* flags */ in alc_dma_alloc()
2254 if (error != 0) { in alc_dma_alloc()
2262 ALC_RX_BUF_ALIGN, 0, /* alignment, boundary */ in alc_dma_alloc()
2269 0, /* flags */ in alc_dma_alloc()
2272 if (error != 0) { in alc_dma_alloc()
2277 for (i = 0; i < ALC_TX_RING_CNT; i++) { in alc_dma_alloc()
2281 error = bus_dmamap_create(sc->alc_cdata.alc_tx_tag, 0, in alc_dma_alloc()
2283 if (error != 0) { in alc_dma_alloc()
2290 if ((error = bus_dmamap_create(sc->alc_cdata.alc_rx_tag, 0, in alc_dma_alloc()
2291 &sc->alc_cdata.alc_rx_sparemap)) != 0) { in alc_dma_alloc()
2296 for (i = 0; i < ALC_RX_RING_CNT; i++) { in alc_dma_alloc()
2300 error = bus_dmamap_create(sc->alc_cdata.alc_rx_tag, 0, in alc_dma_alloc()
2302 if (error != 0) { in alc_dma_alloc()
2322 for (i = 0; i < ALC_TX_RING_CNT; i++) { in alc_dma_free()
2335 for (i = 0; i < ALC_RX_RING_CNT; i++) { in alc_dma_free()
2353 if (sc->alc_rdata.alc_tx_ring_paddr != 0) in alc_dma_free()
2360 sc->alc_rdata.alc_tx_ring_paddr = 0; in alc_dma_free()
2367 if (sc->alc_rdata.alc_rx_ring_paddr != 0) in alc_dma_free()
2374 sc->alc_rdata.alc_rx_ring_paddr = 0; in alc_dma_free()
2381 if (sc->alc_rdata.alc_rr_ring_paddr != 0) in alc_dma_free()
2388 sc->alc_rdata.alc_rr_ring_paddr = 0; in alc_dma_free()
2395 if (sc->alc_rdata.alc_cmb_paddr != 0) in alc_dma_free()
2402 sc->alc_rdata.alc_cmb_paddr = 0; in alc_dma_free()
2409 if (sc->alc_rdata.alc_smb_paddr != 0) in alc_dma_free()
2416 sc->alc_rdata.alc_smb_paddr = 0; in alc_dma_free()
2462 aneg = 0; in alc_setlinkspeed()
2476 alc_miibus_writereg(sc->alc_dev, sc->alc_phyaddr, MII_100T2CR, 0); in alc_setlinkspeed()
2482 if (aneg != 0) { in alc_setlinkspeed()
2486 for (i = 0; i < MII_ANEGTICKS_GIGE; i++) { in alc_setlinkspeed()
2521 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_setwol()
2537 if ((sc->alc_flags & ALC_FLAG_PM) == 0) { in alc_setwol_813x()
2539 CSR_WRITE_4(sc, ALC_WOL_CFG, 0); in alc_setwol_813x()
2550 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { in alc_setwol_813x()
2551 if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) in alc_setwol_813x()
2557 pmcs = 0; in alc_setwol_813x()
2558 if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) in alc_setwol_813x()
2564 if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) in alc_setwol_813x()
2566 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) in alc_setwol_813x()
2573 if ((if_getcapenable(ifp) & IFCAP_WOL) == 0) { in alc_setwol_813x()
2580 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) in alc_setwol_813x()
2599 if ((sc->alc_flags & ALC_FLAG_PM) == 0) { in alc_setwol_816x()
2600 CSR_WRITE_4(sc, ALC_WOL_CFG, 0); in alc_setwol_816x()
2604 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) { in alc_setwol_816x()
2606 if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) in alc_setwol_816x()
2609 pmcs = 0; in alc_setwol_816x()
2610 if ((if_getcapenable(ifp) & IFCAP_WOL_MAGIC) != 0) in alc_setwol_816x()
2616 if ((if_getcapenable(ifp) & IFCAP_WOL_MCAST) != 0) in alc_setwol_816x()
2618 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) in alc_setwol_816x()
2637 if ((sc->alc_flags & ALC_FLAG_PM) != 0) { in alc_setwol_816x()
2639 if ((if_getcapenable(ifp) & IFCAP_WOL) != 0) in alc_setwol_816x()
2656 return (0); in alc_suspend()
2671 if ((if_getflags(ifp) & IFF_UP) != 0) { in alc_resume()
2672 if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); in alc_resume()
2677 return (0); in alc_resume()
2700 ip_off = poff = 0; in alc_encap()
2701 if ((m->m_pkthdr.csum_flags & (ALC_CSUM_FEATURES | CSUM_TSO)) != 0) { in alc_encap()
2712 if (M_WRITABLE(m) == 0) { in alc_encap()
2750 if ((m->m_pkthdr.csum_flags & CSUM_TSO) != 0) { in alc_encap()
2777 ip->ip_sum = 0; in alc_encap()
2790 *m_head, txsegs, &nsegs, 0); in alc_encap()
2800 *m_head, txsegs, &nsegs, 0); in alc_encap()
2801 if (error != 0) { in alc_encap()
2806 } else if (error != 0) in alc_encap()
2808 if (nsegs == 0) { in alc_encap()
2823 vtag = 0; in alc_encap()
2825 idx = 0; in alc_encap()
2827 if ((m->m_flags & M_VLANTAG) != 0) { in alc_encap()
2832 if ((m->m_pkthdr.csum_flags & CSUM_TSO) != 0) { in alc_encap()
2849 desc->addr = htole64(txsegs[0].ds_addr); in alc_encap()
2852 if (m->m_len - hdrlen > 0) { in alc_encap()
2858 desc->addr = htole64(txsegs[0].ds_addr + hdrlen); in alc_encap()
2864 } else if ((m->m_pkthdr.csum_flags & ALC_CSUM_FEATURES) != 0) { in alc_encap()
2875 if ((m->m_pkthdr.csum_flags & CSUM_IP) != 0) in alc_encap()
2877 if ((m->m_pkthdr.csum_flags & CSUM_TCP) != 0) in alc_encap()
2879 if ((m->m_pkthdr.csum_flags & CSUM_UDP) != 0) in alc_encap()
2909 return (0); in alc_encap()
2939 IFF_DRV_RUNNING || (sc->alc_flags & ALC_FLAG_LINK) == 0) in alc_start_locked()
2942 for (enq = 0; !if_sendq_empty(ifp); ) { in alc_start_locked()
2955 if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0); in alc_start_locked()
2967 if (enq > 0) in alc_start_locked()
2979 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_start_tx()
2998 if (sc->alc_watchdog_timer == 0 || --sc->alc_watchdog_timer) in alc_watchdog()
3002 if ((sc->alc_flags & ALC_FLAG_LINK) == 0) { in alc_watchdog()
3005 if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); in alc_watchdog()
3011 if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); in alc_watchdog()
3027 error = 0; in alc_ioctl()
3033 ((sc->alc_flags & ALC_FLAG_JUMBO) == 0 && in alc_ioctl()
3041 (if_getcapenable(ifp) & IFCAP_TSO4) != 0) { in alc_ioctl()
3042 if_setcapenablebit(ifp, 0, IFCAP_TSO4); in alc_ioctl()
3043 if_sethwassistbits(ifp, 0, CSUM_TSO); in alc_ioctl()
3051 if ((if_getflags(ifp) & IFF_UP) != 0) { in alc_ioctl()
3052 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in alc_ioctl()
3054 (IFF_PROMISC | IFF_ALLMULTI)) != 0) in alc_ioctl()
3058 } else if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in alc_ioctl()
3066 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in alc_ioctl()
3078 if ((mask & IFCAP_TXCSUM) != 0 && in alc_ioctl()
3079 (if_getcapabilities(ifp) & IFCAP_TXCSUM) != 0) { in alc_ioctl()
3081 if ((if_getcapenable(ifp) & IFCAP_TXCSUM) != 0) in alc_ioctl()
3082 if_sethwassistbits(ifp, ALC_CSUM_FEATURES, 0); in alc_ioctl()
3084 if_sethwassistbits(ifp, 0, ALC_CSUM_FEATURES); in alc_ioctl()
3086 if ((mask & IFCAP_TSO4) != 0 && in alc_ioctl()
3087 (if_getcapabilities(ifp) & IFCAP_TSO4) != 0) { in alc_ioctl()
3089 if ((if_getcapenable(ifp) & IFCAP_TSO4) != 0) { in alc_ioctl()
3092 if_setcapenablebit(ifp, 0, IFCAP_TSO4); in alc_ioctl()
3093 if_sethwassistbits(ifp, 0, CSUM_TSO); in alc_ioctl()
3095 if_sethwassistbits(ifp, CSUM_TSO, 0); in alc_ioctl()
3097 if_sethwassistbits(ifp, 0, CSUM_TSO); in alc_ioctl()
3099 if ((mask & IFCAP_WOL_MCAST) != 0 && in alc_ioctl()
3100 (if_getcapabilities(ifp) & IFCAP_WOL_MCAST) != 0) in alc_ioctl()
3102 if ((mask & IFCAP_WOL_MAGIC) != 0 && in alc_ioctl()
3103 (if_getcapabilities(ifp) & IFCAP_WOL_MAGIC) != 0) in alc_ioctl()
3105 if ((mask & IFCAP_VLAN_HWTAGGING) != 0 && in alc_ioctl()
3106 (if_getcapabilities(ifp) & IFCAP_VLAN_HWTAGGING) != 0) { in alc_ioctl()
3110 if ((mask & IFCAP_VLAN_HWCSUM) != 0 && in alc_ioctl()
3111 (if_getcapabilities(ifp) & IFCAP_VLAN_HWCSUM) != 0) in alc_ioctl()
3113 if ((mask & IFCAP_VLAN_HWTSO) != 0 && in alc_ioctl()
3114 (if_getcapabilities(ifp) & IFCAP_VLAN_HWTSO) != 0) in alc_ioctl()
3116 if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) == 0) in alc_ioctl()
3117 if_setcapenablebit(ifp, 0, in alc_ioctl()
3142 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0 || in alc_mac_config()
3157 if ((IFM_OPTIONS(mii->mii_media_active) & IFM_FDX) != 0) { in alc_mac_config()
3159 if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_TXPAUSE) != 0) in alc_mac_config()
3161 if ((IFM_OPTIONS(mii->mii_media_active) & IFM_ETH_RXPAUSE) != 0) in alc_mac_config()
3174 if ((sc->alc_flags & ALC_FLAG_SMB_BUG) == 0) { in alc_stats_clear()
3180 smb->updated = 0; in alc_stats_clear()
3185 for (reg = &sb.rx_frames, i = 0; reg <= &sb.rx_pkts_filtered; in alc_stats_clear()
3191 for (reg = &sb.tx_frames, i = 0; reg <= &sb.tx_mcast_bytes; in alc_stats_clear()
3212 if ((sc->alc_flags & ALC_FLAG_SMB_BUG) == 0) { in alc_stats_update()
3217 if (smb->updated == 0) in alc_stats_update()
3222 for (reg = &sb.rx_frames, i = 0; reg <= &sb.rx_pkts_filtered; in alc_stats_update()
3228 for (reg = &sb.tx_frames, i = 0; reg <= &sb.tx_mcast_bytes; in alc_stats_update()
3306 if ((sc->alc_flags & ALC_FLAG_SMB_BUG) == 0) { in alc_stats_update()
3308 smb->updated = 0; in alc_stats_update()
3329 if ((status & ALC_INTRS) == 0) in alc_intr()
3351 if (sc->alc_morework != 0) { in alc_int_task()
3352 sc->alc_morework = 0; in alc_int_task()
3355 if ((status & ALC_INTRS) == 0) in alc_int_task()
3361 more = 0; in alc_int_task()
3362 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in alc_int_task()
3363 if ((status & INTR_RX_PKT) != 0) { in alc_int_task()
3368 if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); in alc_int_task()
3375 INTR_TXQ_TO_RST)) != 0) { in alc_int_task()
3376 if ((status & INTR_DMA_RD_TO_RST) != 0) in alc_int_task()
3379 if ((status & INTR_DMA_WR_TO_RST) != 0) in alc_int_task()
3382 if ((status & INTR_TXQ_TO_RST) != 0) in alc_int_task()
3385 if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING); in alc_int_task()
3390 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0 && in alc_int_task()
3396 (CSR_READ_4(sc, ALC_INTR_STATUS) & ALC_INTRS) != 0) { in alc_int_task()
3403 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) { in alc_int_task()
3406 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0); in alc_int_task()
3408 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0x7FFFFFFF); in alc_int_task()
3424 if (sc->alc_cdata.alc_tx_cnt == 0) in alc_txeof()
3428 if ((sc->alc_flags & ALC_FLAG_CMB_BUG) == 0) { in alc_txeof()
3433 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_txeof()
3448 if (sc->alc_cdata.alc_tx_cnt <= 0) in alc_txeof()
3450 if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); in alc_txeof()
3464 if ((sc->alc_flags & ALC_FLAG_CMB_BUG) == 0) in alc_txeof()
3472 if (sc->alc_cdata.alc_tx_cnt == 0) in alc_txeof()
3473 sc->alc_watchdog_timer = 0; in alc_txeof()
3493 sc->alc_cdata.alc_rx_sparemap, m, segs, &nsegs, 0) != 0) { in alc_newbuf()
3510 rxd->rx_desc->addr = htole64(segs[0].ds_addr); in alc_newbuf()
3511 return (0); in alc_newbuf()
3529 for (prog = 0; (if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0;) { in alc_rxintr()
3530 if (count-- <= 0) in alc_rxintr()
3534 if ((status & RRD_VALID) == 0) in alc_rxintr()
3537 if (nsegs == 0) { in alc_rxintr()
3545 rrd->status = 0; in alc_rxintr()
3552 if (prog > 0) { in alc_rxintr()
3575 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_rxintr()
3583 return (count > 0 ? 0 : EAGAIN); in alc_rxintr()
3598 for (i = 0; i < (m->m_len / sizeof(uint16_t) + 1); i++) in alc_fixup_rx()
3641 if ((status & (RRD_ERR_SUM | RRD_ERR_LENGTH)) != 0) { in alc_rxeof()
3656 RRD_ERR_TRUNC | RRD_ERR_RUNT)) != 0) in alc_rxeof()
3660 for (count = 0; count < nsegs; count++, in alc_rxeof()
3665 if (alc_newbuf(sc, rxd) != 0) { in alc_rxeof()
3724 if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0 && in alc_rxeof()
3725 (status & RRD_VLAN_TAG) != 0) { in alc_rxeof()
3815 pmcfg = 0; in alc_reset()
3816 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_reset()
3820 (sc->alc_rev & 0x01) != 0) { in alc_reset()
3824 != 0) { in alc_reset()
3835 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_reset()
3836 for (i = ALC_RESET_TIMEOUT; i > 0; i--) { in alc_reset()
3838 if (CSR_READ_4(sc, ALC_MBOX_RD0_PROD_IDX) == 0) in alc_reset()
3841 if (i == 0) in alc_reset()
3844 for (i = ALC_RESET_TIMEOUT; i > 0; i--) { in alc_reset()
3846 if ((CSR_READ_4(sc, ALC_MASTER_CFG) & MASTER_RESET) == 0) in alc_reset()
3849 if (i == 0) in alc_reset()
3852 for (i = ALC_RESET_TIMEOUT; i > 0; i--) { in alc_reset()
3855 IDLE_STATUS_RXQ | IDLE_STATUS_TXQ)) == 0) in alc_reset()
3859 if (i == 0) in alc_reset()
3860 device_printf(sc->alc_dev, "reset timeout(0x%08x)!\n", reg); in alc_reset()
3862 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_reset()
3864 (sc->alc_rev & 0x01) != 0) { in alc_reset()
3870 != 0) in alc_reset()
3886 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0 || in alc_reset()
3917 if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0) in alc_init_locked()
3929 if (alc_init_rx_ring(sc) != 0) { in alc_init_locked()
3940 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
3949 CSR_WRITE_4(sc, ALC_CLK_GATING_CFG, 0); in alc_init_locked()
3955 CSR_WRITE_4(sc, ALC_PAR1, eaddr[0] << 8 | eaddr[1]); in alc_init_locked()
3961 CSR_WRITE_4(sc, ALC_WOL_CFG, 0); in alc_init_locked()
3967 CSR_WRITE_4(sc, ALC_TDH_HEAD_ADDR_LO, 0); in alc_init_locked()
3975 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_init_locked()
3977 CSR_WRITE_4(sc, ALC_RD1_HEAD_ADDR_LO, 0); in alc_init_locked()
3978 CSR_WRITE_4(sc, ALC_RD2_HEAD_ADDR_LO, 0); in alc_init_locked()
3979 CSR_WRITE_4(sc, ALC_RD3_HEAD_ADDR_LO, 0); in alc_init_locked()
4005 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_init_locked()
4007 CSR_WRITE_4(sc, ALC_RRD1_HEAD_ADDR_LO, 0); in alc_init_locked()
4008 CSR_WRITE_4(sc, ALC_RRD2_HEAD_ADDR_LO, 0); in alc_init_locked()
4009 CSR_WRITE_4(sc, ALC_RRD3_HEAD_ADDR_LO, 0); in alc_init_locked()
4022 CSR_WRITE_4(sc, ALC_SRAM_RX_FIFO_LEN, 0x000002A0); in alc_init_locked()
4023 CSR_WRITE_4(sc, ALC_SRAM_TX_FIFO_LEN, 0x00000100); in alc_init_locked()
4024 CSR_WRITE_4(sc, ALC_SRAM_RX_FIFO_ADDR, 0x029F0000); in alc_init_locked()
4025 CSR_WRITE_4(sc, ALC_SRAM_RD0_ADDR, 0x02BF02A0); in alc_init_locked()
4026 CSR_WRITE_4(sc, ALC_SRAM_TX_FIFO_ADDR, 0x03BF02C0); in alc_init_locked()
4027 CSR_WRITE_4(sc, ALC_SRAM_TD_ADDR, 0x03DF03C0); in alc_init_locked()
4028 CSR_WRITE_4(sc, ALC_TXF_WATER_MARK, 0x00000000); in alc_init_locked()
4029 CSR_WRITE_4(sc, ALC_RD_DMA_CFG, 0x00000000); in alc_init_locked()
4037 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) in alc_init_locked()
4047 if (ALC_USECS(sc->alc_int_rx_mod) != 0) in alc_init_locked()
4049 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0 && in alc_init_locked()
4050 ALC_USECS(sc->alc_int_tx_mod) != 0) in alc_init_locked()
4057 CSR_WRITE_4(sc, ALC_INTR_RETRIG_TIMER, ALC_USECS(0)); in alc_init_locked()
4059 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
4064 if ((sc->alc_flags & ALC_FLAG_CMB_BUG) == 0) { in alc_init_locked()
4068 CSR_WRITE_4(sc, ALC_CMB_TX_TIMER, ALC_USECS(0)); in alc_init_locked()
4076 CSR_WRITE_4(sc, ALC_SMB_STAT_TIMER, ALC_USECS(0)); in alc_init_locked()
4096 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_init_locked()
4098 CSR_WRITE_4(sc, ALC_HDS_CFG, 0); in alc_init_locked()
4129 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) in alc_init_locked()
4142 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
4168 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
4195 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_init_locked()
4197 CSR_WRITE_4(sc, ALC_RSS_IDT_TABLE0, 0); in alc_init_locked()
4198 CSR_WRITE_4(sc, ALC_RSS_CPU, 0); in alc_init_locked()
4205 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
4209 if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0) in alc_init_locked()
4212 if ((sc->alc_flags & ALC_FLAG_FASTETHER) == 0 && in alc_init_locked()
4221 if ((sc->alc_flags & ALC_FLAG_CMB_BUG) == 0) in alc_init_locked()
4223 if ((sc->alc_flags & ALC_FLAG_SMB_BUG) == 0) in alc_init_locked()
4235 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0) { in alc_init_locked()
4266 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0 || in alc_init_locked()
4271 if ((sc->alc_flags & ALC_FLAG_FASTETHER) != 0) in alc_init_locked()
4283 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0xFFFFFFFF); in alc_init_locked()
4284 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0); in alc_init_locked()
4286 if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0); in alc_init_locked()
4287 if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE); in alc_init_locked()
4310 if_setdrvflagbits(ifp, 0, (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)); in alc_stop()
4313 sc->alc_watchdog_timer = 0; in alc_stop()
4316 CSR_WRITE_4(sc, ALC_INTR_MASK, 0); in alc_stop()
4317 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0xFFFFFFFF); in alc_stop()
4327 CSR_WRITE_4(sc, ALC_INTR_STATUS, 0xFFFFFFFF); in alc_stop()
4329 alc_aspm(sc, 0, IFM_UNKNOWN); in alc_stop()
4337 for (i = 0; i < ALC_RX_RING_CNT; i++) { in alc_stop()
4348 for (i = 0; i < ALC_TX_RING_CNT; i++) { in alc_stop()
4370 if ((reg & (MAC_CFG_TX_ENB | MAC_CFG_RX_ENB)) != 0) { in alc_stop_mac()
4374 for (i = ALC_TIMEOUT; i > 0; i--) { in alc_stop_mac()
4376 if ((reg & (IDLE_STATUS_RXMAC | IDLE_STATUS_TXMAC)) == 0) in alc_stop_mac()
4380 if (i == 0) in alc_stop_mac()
4382 "could not disable Rx/Tx MAC(0x%08x)!\n", reg); in alc_stop_mac()
4389 0, in alc_start_queue()
4401 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_start_queue()
4421 if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) == 0) { in alc_stop_queue()
4422 if ((reg & RXQ_CFG_ENB) != 0) { in alc_stop_queue()
4427 if ((reg & RXQ_CFG_QUEUE0_ENB) != 0) { in alc_stop_queue()
4434 if ((reg & TXQ_CFG_ENB) != 0) { in alc_stop_queue()
4439 for (i = ALC_TIMEOUT; i > 0; i--) { in alc_stop_queue()
4441 if ((reg & (IDLE_STATUS_RXQ | IDLE_STATUS_TXQ)) == 0) in alc_stop_queue()
4445 if (i == 0) in alc_stop_queue()
4447 "could not disable RxQ/TxQ (0x%08x)!\n", reg); in alc_stop_queue()
4459 sc->alc_cdata.alc_tx_prod = 0; in alc_init_tx_ring()
4460 sc->alc_cdata.alc_tx_cons = 0; in alc_init_tx_ring()
4461 sc->alc_cdata.alc_tx_cnt = 0; in alc_init_tx_ring()
4465 for (i = 0; i < ALC_TX_RING_CNT; i++) { in alc_init_tx_ring()
4484 sc->alc_morework = 0; in alc_init_rx_ring()
4487 for (i = 0; i < ALC_RX_RING_CNT; i++) { in alc_init_rx_ring()
4491 if (alc_newbuf(sc, rxd) != 0) in alc_init_rx_ring()
4505 return (0); in alc_init_rx_ring()
4515 sc->alc_cdata.alc_rr_cons = 0; in alc_init_rr_ring()
4561 if ((if_getcapenable(ifp) & IFCAP_VLAN_HWTAGGING) != 0) in alc_rxvlan()
4575 mchash[crc >> 31] |= 1 << ((crc >> 26) & 0x1f); in alc_hash_maddr()
4594 if ((if_getflags(ifp) & IFF_BROADCAST) != 0) in alc_rxfilter()
4596 if ((if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)) != 0) { in alc_rxfilter()
4597 if ((if_getflags(ifp) & IFF_PROMISC) != 0) in alc_rxfilter()
4599 if ((if_getflags(ifp) & IFF_ALLMULTI) != 0) in alc_rxfilter()
4601 mchash[0] = 0xFFFFFFFF; in alc_rxfilter()
4602 mchash[1] = 0xFFFFFFFF; in alc_rxfilter()
4609 CSR_WRITE_4(sc, ALC_MAR0, mchash[0]); in alc_rxfilter()
4622 error = sysctl_handle_int(oidp, &value, 0, req); in sysctl_int_range()
4629 return (0); in sysctl_int_range()
4678 if (error == 0) in alc_debugnet_transmit()