smc 333 arch/arm64/include/asm/insn.h __AARCH64_INSN_FUNCS(smc, 0xFFE0001F, 0xD4000003) smc 73 arch/powerpc/boot/cpm-serial.c static struct cpm_smc *smc; smc 113 arch/powerpc/boot/cpm-serial.c out_be16(&smc->smcmr, in_be16(&smc->smcmr) & ~3); smc 124 arch/powerpc/boot/cpm-serial.c out_be16(&smc->smcmr, in_be16(&smc->smcmr) | 3); smc 237 arch/powerpc/boot/cpm-serial.c smc = vreg[0]; smc 363 drivers/clk/zynq/clkc.c zynq_clk_register_periph_clk(smc, 0, clk_output_name[smc], NULL, smc 193 drivers/firmware/qcom_scm-32.c ret = smc(cmd_phys); smc 252 drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h struct smc_firmware_header_v1_0 smc; smc 190 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c static int arcturus_get_smu_msg_index(struct smu_context *smc, uint32_t index) smc 204 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c static int arcturus_get_smu_clk_index(struct smu_context *smc, uint32_t index) smc 220 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c static int arcturus_get_smu_feature_index(struct smu_context *smc, uint32_t index) smc 235 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c static int arcturus_get_smu_table_index(struct smu_context *smc, uint32_t index) smc 251 drivers/gpu/drm/amd/powerplay/arcturus_ppt.c static int arcturus_get_pwr_src_index(struct smu_context *smc, uint32_t index) smc 212 drivers/gpu/drm/amd/powerplay/navi10_ppt.c static int navi10_get_smu_msg_index(struct smu_context *smc, uint32_t index) smc 227 drivers/gpu/drm/amd/powerplay/navi10_ppt.c static int navi10_get_smu_clk_index(struct smu_context *smc, uint32_t index) smc 242 drivers/gpu/drm/amd/powerplay/navi10_ppt.c static int navi10_get_smu_feature_index(struct smu_context *smc, uint32_t index) smc 257 drivers/gpu/drm/amd/powerplay/navi10_ppt.c static int navi10_get_smu_table_index(struct smu_context *smc, uint32_t index) smc 272 drivers/gpu/drm/amd/powerplay/navi10_ppt.c static int navi10_get_pwr_src_index(struct smu_context *smc, uint32_t index) smc 113 drivers/gpu/drm/amd/powerplay/renoir_ppt.c static int renoir_get_smu_msg_index(struct smu_context *smc, uint32_t index) smc 127 drivers/gpu/drm/amd/powerplay/renoir_ppt.c static int renoir_get_smu_table_index(struct smu_context *smc, uint32_t index) smc 226 drivers/gpu/drm/amd/powerplay/vega20_ppt.c static int vega20_get_smu_table_index(struct smu_context *smc, uint32_t index) smc 241 drivers/gpu/drm/amd/powerplay/vega20_ppt.c static int vega20_get_pwr_src_index(struct smu_context *smc, uint32_t index) smc 256 drivers/gpu/drm/amd/powerplay/vega20_ppt.c static int vega20_get_smu_feature_index(struct smu_context *smc, uint32_t index) smc 271 drivers/gpu/drm/amd/powerplay/vega20_ppt.c static int vega20_get_smu_clk_index(struct smu_context *smc, uint32_t index) smc 286 drivers/gpu/drm/amd/powerplay/vega20_ppt.c static int vega20_get_smu_msg_index(struct smu_context *smc, uint32_t index) smc 213 drivers/gpu/drm/radeon/radeon_ucode.h struct smc_firmware_header_v1_0 smc; smc 57 drivers/memory/atmel-ebi.c } smc; smc 83 drivers/memory/atmel-ebi.c atmel_smc_cs_conf_get(ebid->ebi->smc.regmap, conf->cs, smc 90 drivers/memory/atmel-ebi.c atmel_hsmc_cs_conf_get(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, smc 286 drivers/memory/atmel-ebi.c atmel_smc_cs_conf_apply(ebid->ebi->smc.regmap, conf->cs, smc 293 drivers/memory/atmel-ebi.c atmel_hsmc_cs_conf_apply(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, smc 547 drivers/memory/atmel-ebi.c ebi->smc.regmap = syscon_node_to_regmap(smc_np); smc 548 drivers/memory/atmel-ebi.c if (IS_ERR(ebi->smc.regmap)) smc 549 drivers/memory/atmel-ebi.c return PTR_ERR(ebi->smc.regmap); smc 551 drivers/memory/atmel-ebi.c ebi->smc.layout = atmel_hsmc_get_reg_layout(smc_np); smc 552 drivers/memory/atmel-ebi.c if (IS_ERR(ebi->smc.layout)) smc 553 drivers/memory/atmel-ebi.c return PTR_ERR(ebi->smc.layout); smc 555 drivers/memory/atmel-ebi.c ebi->smc.clk = of_clk_get(smc_np, 0); smc 556 drivers/memory/atmel-ebi.c if (IS_ERR(ebi->smc.clk)) { smc 557 drivers/memory/atmel-ebi.c if (PTR_ERR(ebi->smc.clk) != -ENOENT) smc 558 drivers/memory/atmel-ebi.c return PTR_ERR(ebi->smc.clk); smc 560 drivers/memory/atmel-ebi.c ebi->smc.clk = NULL; smc 562 drivers/memory/atmel-ebi.c ret = clk_prepare_enable(ebi->smc.clk); smc 220 drivers/mtd/nand/raw/atmel/nand-controller.c struct regmap *smc; smc 289 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_read(nc->base.smc, ATMEL_HSMC_NFC_SR, &sr); smc 295 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_IDR, rcvd); smc 314 drivers/mtd/nand/raw/atmel/nand-controller.c ret = regmap_read_poll_timeout(nc->base.smc, smc 321 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_IER, smc 330 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_IDR, 0xffffffff); smc 513 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_read(nc->base.smc, ATMEL_HSMC_NFC_SR, &status); smc 529 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_CTRL, smc 537 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_update_bits(nc->base.smc, ATMEL_HSMC_NFC_CFG, smc 545 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_CTRL, smc 562 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_ADDR, *addrs++); smc 582 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_read(nc->base.smc, ATMEL_HSMC_NFC_SR, &val); smc 1420 drivers/mtd/nand/raw/atmel/nand-controller.c atmel_smc_cs_conf_apply(nc->smc, cs->id, &cs->smcconf); smc 1449 drivers/mtd/nand/raw/atmel/nand-controller.c atmel_hsmc_cs_conf_apply(nc->base.smc, nc->hsmc_layout, cs->id, smc 2014 drivers/mtd/nand/raw/atmel/nand-controller.c nc->smc = syscon_node_to_regmap(np); smc 2016 drivers/mtd/nand/raw/atmel/nand-controller.c if (IS_ERR(nc->smc)) { smc 2017 drivers/mtd/nand/raw/atmel/nand-controller.c ret = PTR_ERR(nc->smc); smc 2153 drivers/mtd/nand/raw/atmel/nand-controller.c nc->base.smc = devm_regmap_init_mmio(dev, iomem, ®map_conf); smc 2154 drivers/mtd/nand/raw/atmel/nand-controller.c if (IS_ERR(nc->base.smc)) { smc 2155 drivers/mtd/nand/raw/atmel/nand-controller.c ret = PTR_ERR(nc->base.smc); smc 2290 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_IDR, 0xffffffff); smc 2301 drivers/mtd/nand/raw/atmel/nand-controller.c regmap_write(nc->base.smc, ATMEL_HSMC_NFC_CFG, smc 304 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc; smc 313 drivers/net/ethernet/smsc/smc91c92_cs.c smc = netdev_priv(dev); smc 314 drivers/net/ethernet/smsc/smc91c92_cs.c smc->p_dev = link; smc 317 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_init(&smc->lock); smc 324 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.dev = dev; smc 325 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.mdio_read = mdio_read; smc 326 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.mdio_write = mdio_write; smc 327 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.phy_id_mask = 0x1f; smc 328 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.reg_num_mask = 0x1f; smc 381 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 385 drivers/net/ethernet/smsc/smc91c92_cs.c readb(smc->base+MEGAHERTZ_ISR); smc 387 drivers/net/ethernet/smsc/smc91c92_cs.c readb(smc->base+MEGAHERTZ_ISR); smc 393 drivers/net/ethernet/smsc/smc91c92_cs.c tmp = readb(smc->base + link->config_base + CISREG_COR); smc 395 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(tmp, smc->base + link->config_base + CISREG_COR); smc 424 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 445 drivers/net/ethernet/smsc/smc91c92_cs.c smc->base = ioremap(link->resource[2]->start, smc 447 drivers/net/ethernet/smsc/smc91c92_cs.c offset = (smc->manfid == MANFID_MOTOROLA) ? link->config_base : 0; smc 450 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->manfid == MANFID_MEGAHERTZ) && smc 451 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_MEGAHERTZ_EM3288)) smc 519 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 524 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(iouart & 0xff, smc->base + MOT_UART + CISREG_IOBASE_0); smc 525 drivers/net/ethernet/smsc/smc91c92_cs.c writeb((iouart >> 8) & 0xff, smc->base + MOT_UART + CISREG_IOBASE_1); smc 526 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(MOT_NORMAL, smc->base + MOT_UART + CISREG_COR); smc 529 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(ioaddr & 0xff, smc->base + MOT_LAN + CISREG_IOBASE_0); smc 530 drivers/net/ethernet/smsc/smc91c92_cs.c writeb((ioaddr >> 8) & 0xff, smc->base + MOT_LAN + CISREG_IOBASE_1); smc 531 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(MOT_NORMAL, smc->base + MOT_LAN + CISREG_COR); smc 722 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 725 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_MEGAHERTZ) && smc 726 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_MEGAHERTZ_EM3288)) smc 728 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->manfid == MANFID_MOTOROLA) smc 730 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 731 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) { smc 736 drivers/net/ethernet/smsc/smc91c92_cs.c if (((smc->manfid == MANFID_OSITECH) && smc 737 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_OSITECH_SEVEN)) || smc 738 drivers/net/ethernet/smsc/smc91c92_cs.c ((smc->manfid == MANFID_PSION) && smc 739 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_PSION_NET100))) { smc 808 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 816 drivers/net/ethernet/smsc/smc91c92_cs.c smc->manfid = link->manf_id; smc 817 drivers/net/ethernet/smsc/smc91c92_cs.c smc->cardid = link->card_id; smc 819 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 820 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) { smc 822 drivers/net/ethernet/smsc/smc91c92_cs.c } else if ((smc->manfid == MANFID_MOTOROLA) || smc 823 drivers/net/ethernet/smsc/smc91c92_cs.c ((smc->manfid == MANFID_MEGAHERTZ) && smc 824 drivers/net/ethernet/smsc/smc91c92_cs.c ((smc->cardid == PRODID_MEGAHERTZ_VARIOUS) || smc 825 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_MEGAHERTZ_EM3288)))) { smc 840 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->manfid == MANFID_MOTOROLA) smc 850 drivers/net/ethernet/smsc/smc91c92_cs.c switch (smc->manfid) { smc 853 drivers/net/ethernet/smsc/smc91c92_cs.c i = osi_setup(link, smc->manfid, smc->cardid); break; smc 870 drivers/net/ethernet/smsc/smc91c92_cs.c smc->duplex = 0; smc 871 drivers/net/ethernet/smsc/smc91c92_cs.c smc->rx_ovrn = 0; smc 895 drivers/net/ethernet/smsc/smc91c92_cs.c smc->cfg = inw(ioaddr + CONFIG) & ~CFG_AUI_SELECT; smc 896 drivers/net/ethernet/smsc/smc91c92_cs.c smc->cfg |= CFG_NO_WAIT | CFG_16BIT | CFG_STATIC; smc 897 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->manfid == MANFID_OSITECH) smc 898 drivers/net/ethernet/smsc/smc91c92_cs.c smc->cfg |= CFG_IRQ_SEL_1 | CFG_IRQ_SEL_0; smc 900 drivers/net/ethernet/smsc/smc91c92_cs.c smc->cfg |= CFG_MII_SELECT; smc 904 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 911 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.phy_id = (i < 32) ? i : -1; smc 932 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cfg & CFG_MII_SELECT) ? "MII" : if_names[dev->if_port]); smc 935 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 936 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->mii_if.phy_id != -1) { smc 938 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.phy_id, j); smc 958 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 959 drivers/net/ethernet/smsc/smc91c92_cs.c iounmap(smc->base); smc 1049 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1050 drivers/net/ethernet/smsc/smc91c92_cs.c struct pcmcia_device *link = smc->p_dev; smc 1069 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = NULL; smc 1070 drivers/net/ethernet/smsc/smc91c92_cs.c smc->packets_waiting = 0; smc 1073 drivers/net/ethernet/smsc/smc91c92_cs.c timer_setup(&smc->media, media_check, 0); smc 1074 drivers/net/ethernet/smsc/smc91c92_cs.c mod_timer(&smc->media, jiffies + HZ); smc 1083 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1084 drivers/net/ethernet/smsc/smc91c92_cs.c struct pcmcia_device *link = smc->p_dev; smc 1105 drivers/net/ethernet/smsc/smc91c92_cs.c del_timer_sync(&smc->media); smc 1120 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1121 drivers/net/ethernet/smsc/smc91c92_cs.c struct sk_buff *skb = smc->saved_skb; smc 1137 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = NULL; smc 1173 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = NULL; smc 1183 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1191 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = NULL; smc 1198 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1209 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->saved_skb) { smc 1215 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = skb; smc 1222 drivers/net/ethernet/smsc/smc91c92_cs.c smc->saved_skb = NULL; smc 1227 drivers/net/ethernet/smsc/smc91c92_cs.c smc->packets_waiting++; smc 1229 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1233 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->rx_ovrn) { smc 1235 drivers/net/ethernet/smsc/smc91c92_cs.c smc->rx_ovrn = 0; smc 1246 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1254 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1267 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1286 drivers/net/ethernet/smsc/smc91c92_cs.c smc->tx_err++; smc 1294 drivers/net/ethernet/smsc/smc91c92_cs.c outw(inw(ioaddr + TCR) | TCR_ENABLE | smc->duplex, ioaddr + TCR); smc 1300 drivers/net/ethernet/smsc/smc91c92_cs.c smc->packets_waiting--; smc 1309 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1329 drivers/net/ethernet/smsc/smc91c92_cs.c outw(inw(ioaddr + TCR) | TCR_ENABLE | smc->duplex, ioaddr + TCR); smc 1344 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1358 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock(&smc->lock); smc 1359 drivers/net/ethernet/smsc/smc91c92_cs.c smc->watchdog = 0; smc 1397 drivers/net/ethernet/smsc/smc91c92_cs.c dev->stats.tx_packets += smc->packets_waiting; smc 1398 drivers/net/ethernet/smsc/smc91c92_cs.c smc->packets_waiting = 0; smc 1415 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->duplex) smc 1416 drivers/net/ethernet/smsc/smc91c92_cs.c smc->rx_ovrn = 1; /* need MC_RESET outside smc_interrupt */ smc 1435 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 1436 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) { smc 1441 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->manfid == MANFID_MOTOROLA) { smc 1443 drivers/net/ethernet/smsc/smc91c92_cs.c cor = readb(smc->base + MOT_UART + CISREG_COR); smc 1444 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_UART + CISREG_COR); smc 1445 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(cor, smc->base + MOT_UART + CISREG_COR); smc 1446 drivers/net/ethernet/smsc/smc91c92_cs.c cor = readb(smc->base + MOT_LAN + CISREG_COR); smc 1447 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(cor & ~COR_IREQ_ENA, smc->base + MOT_LAN + CISREG_COR); smc 1448 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(cor, smc->base + MOT_LAN + CISREG_COR); smc 1451 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->base != NULL) && /* Megahertz MFC's */ smc 1452 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->manfid == MANFID_MEGAHERTZ) && smc 1453 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid == PRODID_MEGAHERTZ_EM3288)) { smc 1456 drivers/net/ethernet/smsc/smc91c92_cs.c tmp = readb(smc->base+MEGAHERTZ_ISR); smc 1457 drivers/net/ethernet/smsc/smc91c92_cs.c tmp = readb(smc->base+MEGAHERTZ_ISR); smc 1460 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(tmp, smc->base + MEGAHERTZ_ISR); smc 1461 drivers/net/ethernet/smsc/smc91c92_cs.c writeb(tmp, smc->base + MEGAHERTZ_ISR); smc 1464 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock(&smc->lock); smc 1495 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1514 drivers/net/ethernet/smsc/smc91c92_cs.c smc->last_rx = jiffies; smc 1546 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1571 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1578 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1589 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1591 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) smc 1614 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1621 drivers/net/ethernet/smsc/smc91c92_cs.c outw(smc->cfg | CFG_AUI_SELECT, ioaddr + CONFIG); smc 1622 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 1623 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) smc 1625 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media_status = ((dev->if_port == 0) ? 0x0001 : 0x0002); smc 1627 drivers/net/ethernet/smsc/smc91c92_cs.c outw(smc->cfg, ioaddr + CONFIG); smc 1628 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 1629 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) smc 1631 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media_status = ((dev->if_port == 0) ? 0x0012 : 0x4001); smc 1639 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1663 drivers/net/ethernet/smsc/smc91c92_cs.c if ((smc->manfid == MANFID_OSITECH) && smc 1664 drivers/net/ethernet/smsc/smc91c92_cs.c (smc->cardid != PRODID_OSITECH_SEVEN)) smc 1681 drivers/net/ethernet/smsc/smc91c92_cs.c outw(((smc->cfg & CFG_MII_SELECT) ? 0 : TCR_MONCSN) | smc 1682 drivers/net/ethernet/smsc/smc91c92_cs.c TCR_ENABLE | TCR_PAD_EN | smc->duplex, ioaddr + TCR); smc 1685 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 1689 drivers/net/ethernet/smsc/smc91c92_cs.c mdio_write(dev, smc->mii_if.phy_id, 0, 0x8000); smc 1692 drivers/net/ethernet/smsc/smc91c92_cs.c mdio_write(dev, smc->mii_if.phy_id, 4, 0x01e1); smc 1695 drivers/net/ethernet/smsc/smc91c92_cs.c mdio_write(dev, smc->mii_if.phy_id, 0, 0x0000); smc 1696 drivers/net/ethernet/smsc/smc91c92_cs.c mdio_write(dev, smc->mii_if.phy_id, 0, 0x1200); smc 1713 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = from_timer(smc, t, media); smc 1714 drivers/net/ethernet/smsc/smc91c92_cs.c struct net_device *dev = smc->mii_if.dev; smc 1720 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1730 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->rx_ovrn) { smc 1732 drivers/net/ethernet/smsc/smc91c92_cs.c smc->rx_ovrn = 0; smc 1741 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1745 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->watchdog++ && ((i>>8) & i)) { smc 1746 drivers/net/ethernet/smsc/smc91c92_cs.c if (!smc->fast_poll) smc 1751 drivers/net/ethernet/smsc/smc91c92_cs.c smc->fast_poll = HZ; smc 1753 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->fast_poll) { smc 1754 drivers/net/ethernet/smsc/smc91c92_cs.c smc->fast_poll--; smc 1755 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media.expires = jiffies + HZ/100; smc 1756 drivers/net/ethernet/smsc/smc91c92_cs.c add_timer(&smc->media); smc 1760 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1764 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 1765 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->mii_if.phy_id < 0) smc 1769 drivers/net/ethernet/smsc/smc91c92_cs.c link = mdio_read(dev, smc->mii_if.phy_id, 1); smc 1772 drivers/net/ethernet/smsc/smc91c92_cs.c smc->mii_if.phy_id = -1; smc 1777 drivers/net/ethernet/smsc/smc91c92_cs.c if (link != smc->link_status) { smc 1778 drivers/net/ethernet/smsc/smc91c92_cs.c u_short p = mdio_read(dev, smc->mii_if.phy_id, 5); smc 1780 drivers/net/ethernet/smsc/smc91c92_cs.c smc->duplex = (((p & 0x0100) || ((p & 0x1c0) == 0x40)) smc 1785 drivers/net/ethernet/smsc/smc91c92_cs.c (p & 0x0180) ? 100 : 10, smc->duplex ? 'F' : 'H'); smc 1788 drivers/net/ethernet/smsc/smc91c92_cs.c outw(inw(ioaddr + TCR) | smc->duplex, ioaddr + TCR); smc 1789 drivers/net/ethernet/smsc/smc91c92_cs.c smc->link_status = link; smc 1795 drivers/net/ethernet/smsc/smc91c92_cs.c if (time_after(jiffies, smc->last_rx + HZ)) { smc 1796 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->tx_err || (smc->media_status & EPH_16COL)) smc 1799 drivers/net/ethernet/smsc/smc91c92_cs.c smc->tx_err = 0; smc 1801 drivers/net/ethernet/smsc/smc91c92_cs.c if (media != smc->media_status) { smc 1802 drivers/net/ethernet/smsc/smc91c92_cs.c if ((media & smc->media_status & 1) && smc 1803 drivers/net/ethernet/smsc/smc91c92_cs.c ((smc->media_status ^ media) & EPH_LINK_OK)) smc 1805 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media_status & EPH_LINK_OK ? "lost" : "found"); smc 1806 drivers/net/ethernet/smsc/smc91c92_cs.c else if ((media & smc->media_status & 2) && smc 1807 drivers/net/ethernet/smsc/smc91c92_cs.c ((smc->media_status ^ media) & EPH_16COL)) smc 1823 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media_status = media; smc 1827 drivers/net/ethernet/smsc/smc91c92_cs.c smc->media.expires = jiffies + HZ; smc 1828 drivers/net/ethernet/smsc/smc91c92_cs.c add_timer(&smc->media); smc 1830 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1836 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1838 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 1839 drivers/net/ethernet/smsc/smc91c92_cs.c return mii_link_ok(&smc->mii_if); smc 1916 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1921 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1923 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) smc 1924 drivers/net/ethernet/smsc/smc91c92_cs.c mii_ethtool_get_link_ksettings(&smc->mii_if, ecmd); smc 1928 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1935 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1941 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1943 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) smc 1944 drivers/net/ethernet/smsc/smc91c92_cs.c ret = mii_ethtool_set_link_ksettings(&smc->mii_if, ecmd); smc 1948 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1954 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1960 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 1964 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 1970 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 1971 drivers/net/ethernet/smsc/smc91c92_cs.c if (smc->cfg & CFG_MII_SELECT) { smc 1977 drivers/net/ethernet/smsc/smc91c92_cs.c res = mii_nway_restart(&smc->mii_if); smc 1996 drivers/net/ethernet/smsc/smc91c92_cs.c struct smc_private *smc = netdev_priv(dev); smc 2006 drivers/net/ethernet/smsc/smc91c92_cs.c spin_lock_irqsave(&smc->lock, flags); smc 2009 drivers/net/ethernet/smsc/smc91c92_cs.c rc = generic_mii_ioctl(&smc->mii_if, mii, cmd, NULL); smc 2011 drivers/net/ethernet/smsc/smc91c92_cs.c spin_unlock_irqrestore(&smc->lock, flags); smc 47 drivers/net/fddi/skfp/cfm.c #define GO_STATE(x) (smc->mib.fddiSMTCF_State = (x)|AFLAG) smc 48 drivers/net/fddi/skfp/cfm.c #define ACTIONS_DONE() (smc->mib.fddiSMTCF_State &= ~AFLAG) smc 93 drivers/net/fddi/skfp/cfm.c static void cfm_fsm(struct s_smc *smc, int cmd); smc 99 drivers/net/fddi/skfp/cfm.c void cfm_init(struct s_smc *smc) smc 101 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTCF_State = ACTIONS(SC0_ISOLATED) ; smc 102 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = 0 ; smc 103 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = 0 ; smc 104 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = 0 ; smc 105 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = 0 ; smc 106 drivers/net/fddi/skfp/cfm.c smc->y[PA].cem_pst = CEM_PST_DOWN ; smc 107 drivers/net/fddi/skfp/cfm.c smc->y[PB].cem_pst = CEM_PST_DOWN ; smc 111 drivers/net/fddi/skfp/cfm.c #define THRU_ENABLED(smc) (smc->y[PA].pc_mode != PM_TREE && \ smc 112 drivers/net/fddi/skfp/cfm.c smc->y[PB].pc_mode != PM_TREE) smc 114 drivers/net/fddi/skfp/cfm.c static void selection_criteria (struct s_smc *smc, struct s_phy *phy) smc 119 drivers/net/fddi/skfp/cfm.c if ( !THRU_ENABLED(smc) && smc->y[PB].cf_join ) { smc 140 drivers/net/fddi/skfp/cfm.c void all_selection_criteria(struct s_smc *smc) smc 145 drivers/net/fddi/skfp/cfm.c for ( p = 0,phy = smc->y ; p < NUMPHYS; p++, phy++ ) { smc 147 drivers/net/fddi/skfp/cfm.c selection_criteria (smc,phy); smc 151 drivers/net/fddi/skfp/cfm.c static void cem_priv_state(struct s_smc *smc, int event) smc 158 drivers/net/fddi/skfp/cfm.c if (smc->s.sas != SMT_DAS ) smc 167 drivers/net/fddi/skfp/cfm.c if (smc->y[np].cf_join) { smc 168 drivers/net/fddi/skfp/cfm.c smc->y[np].cem_pst = CEM_PST_UP ; smc 169 drivers/net/fddi/skfp/cfm.c } else if (!smc->y[np].wc_flag) { smc 171 drivers/net/fddi/skfp/cfm.c smc->y[np].cem_pst = CEM_PST_DOWN ; smc 179 drivers/net/fddi/skfp/cfm.c if ( smc->y[i].cem_pst == CEM_PST_HOLD && !smc->y[i].wc_flag ) { smc 180 drivers/net/fddi/skfp/cfm.c smc->y[i].cem_pst = CEM_PST_DOWN; smc 181 drivers/net/fddi/skfp/cfm.c queue_event(smc,(int)(EVENT_PCM+i),PC_START) ; smc 183 drivers/net/fddi/skfp/cfm.c if ( smc->y[i].cem_pst == CEM_PST_UP && smc->y[i].wc_flag ) { smc 184 drivers/net/fddi/skfp/cfm.c smc->y[i].cem_pst = CEM_PST_HOLD; smc 185 drivers/net/fddi/skfp/cfm.c queue_event(smc,(int)(EVENT_PCM+i),PC_START) ; smc 187 drivers/net/fddi/skfp/cfm.c if ( smc->y[i].cem_pst == CEM_PST_DOWN && smc->y[i].wc_flag ) { smc 192 drivers/net/fddi/skfp/cfm.c smc->y[i].cem_pst = CEM_PST_HOLD; smc 207 drivers/net/fddi/skfp/cfm.c void cfm(struct s_smc *smc, int event) smc 219 drivers/net/fddi/skfp/cfm.c all_selection_criteria (smc); smc 223 drivers/net/fddi/skfp/cfm.c cem_priv_state (smc, event); smc 225 drivers/net/fddi/skfp/cfm.c oldstate = smc->mib.fddiSMTCF_State ; smc 228 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTCF_State & AFLAG ? "ACTIONS " : "", smc 229 drivers/net/fddi/skfp/cfm.c cfm_states[smc->mib.fddiSMTCF_State & ~AFLAG], smc 231 drivers/net/fddi/skfp/cfm.c state = smc->mib.fddiSMTCF_State ; smc 232 drivers/net/fddi/skfp/cfm.c cfm_fsm(smc,event) ; smc 234 drivers/net/fddi/skfp/cfm.c } while (state != smc->mib.fddiSMTCF_State) ; smc 241 drivers/net/fddi/skfp/cfm.c if ( (smc->mib.fddiSMTCF_State == SC9_C_WRAP_A && smc 242 drivers/net/fddi/skfp/cfm.c smc->y[PA].pc_mode == PM_PEER) || smc 243 drivers/net/fddi/skfp/cfm.c (smc->mib.fddiSMTCF_State == SC10_C_WRAP_B && smc 244 drivers/net/fddi/skfp/cfm.c smc->y[PB].pc_mode == PM_PEER) || smc 245 drivers/net/fddi/skfp/cfm.c (smc->mib.fddiSMTCF_State == SC11_C_WRAP_S && smc 246 drivers/net/fddi/skfp/cfm.c smc->y[PS].pc_mode == PM_PEER && smc 247 drivers/net/fddi/skfp/cfm.c smc->y[PS].mib->fddiPORTNeighborType != TS ) ) { smc 250 drivers/net/fddi/skfp/cfm.c if (cond != smc->mib.fddiSMTPeerWrapFlag) smc 251 drivers/net/fddi/skfp/cfm.c smt_srf_event(smc,SMT_COND_SMT_PEER_WRAP,0,cond) ; smc 261 drivers/net/fddi/skfp/cfm.c if (smc->mib.fddiSMTCF_State != oldstate) { smc 262 drivers/net/fddi/skfp/cfm.c smt_srf_event(smc,SMT_EVENT_MAC_PATH_CHANGE,INDEX_MAC,0) ; smc 270 drivers/net/fddi/skfp/cfm.c smc->mib.m[MAC0].fddiMACDownstreamPORTType = smc 271 drivers/net/fddi/skfp/cfm.c cf_to_ptype[smc->mib.fddiSMTCF_State] ; smc 272 drivers/net/fddi/skfp/cfm.c cfm_state_change(smc,(int)smc->mib.fddiSMTCF_State) ; smc 279 drivers/net/fddi/skfp/cfm.c static void cfm_fsm(struct s_smc *smc, int cmd) smc 281 drivers/net/fddi/skfp/cfm.c switch(smc->mib.fddiSMTCF_State) { smc 283 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTCurrentPath = MIB_PATH_ISOLATED ; smc 284 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTCurrentPath = MIB_PATH_ISOLATED ; smc 285 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTMACPlacement = 0 ; smc 286 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTMACPlacement = 0 ; smc 287 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_SEPA ; smc 288 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_ISOLATE) ; /* configure PHY Mux */ smc 289 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 290 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = FALSE ; smc 291 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 294 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 299 drivers/net/fddi/skfp/cfm.c if (smc->s.sas && (smc->y[PA].cf_join || smc->y[PA].cf_loop || smc 300 drivers/net/fddi/skfp/cfm.c smc->y[PB].cf_join || smc->y[PB].cf_loop)) { smc 305 drivers/net/fddi/skfp/cfm.c if ((smc->y[PA].cem_pst == CEM_PST_UP && smc->y[PA].cf_join && smc 306 drivers/net/fddi/skfp/cfm.c !smc->y[PA].wc_flag) || smc->y[PA].cf_loop) { smc 311 drivers/net/fddi/skfp/cfm.c if ((smc->y[PB].cem_pst == CEM_PST_UP && smc->y[PB].cf_join && smc 312 drivers/net/fddi/skfp/cfm.c !smc->y[PB].wc_flag) || smc->y[PB].cf_loop) { smc 318 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTCurrentPath = MIB_PATH_CONCATENATED ; smc 319 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTCurrentPath = MIB_PATH_ISOLATED ; smc 320 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTMACPlacement = INDEX_MAC ; smc 321 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTMACPlacement = 0 ; smc 322 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_CON ; smc 323 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_WRAPA) ; /* configure PHY mux */ smc 324 drivers/net/fddi/skfp/cfm.c if (smc->y[PA].cf_loop) { smc 325 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = FALSE ; smc 326 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = TRUE ; smc 327 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_LOOP) ;/* signal RMT */ smc 329 drivers/net/fddi/skfp/cfm.c if (smc->y[PA].cf_join) { smc 330 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 331 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = TRUE ; smc 332 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 335 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 339 drivers/net/fddi/skfp/cfm.c if ( (smc->y[PA].wc_flag || !smc->y[PA].cf_join) && smc 340 drivers/net/fddi/skfp/cfm.c !smc->y[PA].cf_loop ) { smc 345 drivers/net/fddi/skfp/cfm.c else if ( (smc->y[PB].cf_loop && smc->y[PA].cf_join && smc 346 drivers/net/fddi/skfp/cfm.c smc->y[PA].cem_pst == CEM_PST_UP) || smc 347 drivers/net/fddi/skfp/cfm.c ((smc->y[PB].cf_loop || smc 348 drivers/net/fddi/skfp/cfm.c (smc->y[PB].cf_join && smc 349 drivers/net/fddi/skfp/cfm.c smc->y[PB].cem_pst == CEM_PST_UP)) && smc 350 drivers/net/fddi/skfp/cfm.c (smc->y[PA].pc_mode == PM_TREE || smc 351 drivers/net/fddi/skfp/cfm.c smc->y[PB].pc_mode == PM_TREE))) { smc 352 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 357 drivers/net/fddi/skfp/cfm.c else if (!smc->s.attach_s && smc 358 drivers/net/fddi/skfp/cfm.c smc->y[PA].cf_join && smc 359 drivers/net/fddi/skfp/cfm.c smc->y[PA].cem_pst == CEM_PST_UP && smc 360 drivers/net/fddi/skfp/cfm.c smc->y[PA].pc_mode == PM_PEER && smc->y[PB].cf_join && smc 361 drivers/net/fddi/skfp/cfm.c smc->y[PB].cem_pst == CEM_PST_UP && smc 362 drivers/net/fddi/skfp/cfm.c smc->y[PB].pc_mode == PM_PEER) { smc 363 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 364 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 369 drivers/net/fddi/skfp/cfm.c else if ( smc->s.attach_s && smc 370 drivers/net/fddi/skfp/cfm.c smc->y[PA].cf_join && smc 371 drivers/net/fddi/skfp/cfm.c smc->y[PA].cem_pst == CEM_PST_UP && smc 372 drivers/net/fddi/skfp/cfm.c smc->y[PA].pc_mode == PM_PEER && smc 373 drivers/net/fddi/skfp/cfm.c smc->y[PB].cf_join && smc 374 drivers/net/fddi/skfp/cfm.c smc->y[PB].cem_pst == CEM_PST_UP && smc 375 drivers/net/fddi/skfp/cfm.c smc->y[PB].pc_mode == PM_PEER) { smc 376 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 377 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 383 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTCurrentPath = MIB_PATH_ISOLATED ; smc 384 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTCurrentPath = MIB_PATH_CONCATENATED ; smc 385 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTMACPlacement = 0 ; smc 386 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTMACPlacement = INDEX_MAC ; smc 387 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_CON ; smc 388 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_WRAPB) ; /* configure PHY mux */ smc 389 drivers/net/fddi/skfp/cfm.c if (smc->y[PB].cf_loop) { smc 390 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = FALSE ; smc 391 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = TRUE ; smc 392 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_LOOP) ;/* signal RMT */ smc 394 drivers/net/fddi/skfp/cfm.c if (smc->y[PB].cf_join) { smc 395 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 396 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = TRUE ; smc 397 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 400 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 404 drivers/net/fddi/skfp/cfm.c if ( !smc->y[PB].cf_join && !smc->y[PB].cf_loop ) { smc 409 drivers/net/fddi/skfp/cfm.c else if ( smc->y[PA].cf_loop && smc->y[PA].pc_mode == PM_PEER && smc 410 drivers/net/fddi/skfp/cfm.c smc->y[PB].cf_join && smc->y[PB].pc_mode == PM_PEER) { smc 411 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 416 drivers/net/fddi/skfp/cfm.c else if (!smc->s.attach_s && smc 417 drivers/net/fddi/skfp/cfm.c smc->y[PA].cf_join && smc->y[PA].pc_mode == PM_PEER && smc 418 drivers/net/fddi/skfp/cfm.c smc->y[PB].cf_join && smc->y[PB].pc_mode == PM_PEER) { smc 419 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 420 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 425 drivers/net/fddi/skfp/cfm.c else if ( smc->s.attach_s && smc 426 drivers/net/fddi/skfp/cfm.c smc->y[PA].cf_join && smc->y[PA].pc_mode == PM_PEER && smc 427 drivers/net/fddi/skfp/cfm.c smc->y[PB].cf_join && smc->y[PB].pc_mode == PM_PEER) { smc 428 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 429 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 435 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTCurrentPath = MIB_PATH_THRU ; smc 436 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTCurrentPath = MIB_PATH_THRU ; smc 437 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTMACPlacement = 0 ; smc 438 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTMACPlacement = INDEX_MAC ; smc 439 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_THRU ; smc 440 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_THRUA) ; /* configure PHY mux */ smc 441 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 442 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = TRUE ; smc 443 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 445 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 449 drivers/net/fddi/skfp/cfm.c if (smc->y[PB].wc_flag || !smc->y[PB].cf_join) { smc 450 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 455 drivers/net/fddi/skfp/cfm.c else if (!smc->y[PA].cf_join || smc->y[PA].wc_flag) { smc 456 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 461 drivers/net/fddi/skfp/cfm.c else if (smc->s.attach_s) { smc 462 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 468 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTCurrentPath = MIB_PATH_THRU ; smc 469 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTCurrentPath = MIB_PATH_THRU ; smc 470 drivers/net/fddi/skfp/cfm.c smc->mib.p[PA].fddiPORTMACPlacement = INDEX_MAC ; smc 471 drivers/net/fddi/skfp/cfm.c smc->mib.p[PB].fddiPORTMACPlacement = 0 ; smc 472 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_THRU ; smc 473 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_THRUB) ; /* configure PHY mux */ smc 474 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 475 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = TRUE ; smc 476 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 478 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 482 drivers/net/fddi/skfp/cfm.c if (!smc->y[PB].cf_join || smc->y[PB].wc_flag) { smc 483 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 488 drivers/net/fddi/skfp/cfm.c else if (!smc->y[PA].cf_join || smc->y[PA].wc_flag) { smc 489 drivers/net/fddi/skfp/cfm.c smc->y[PB].scrub = TRUE ; smc 494 drivers/net/fddi/skfp/cfm.c else if (!smc->s.attach_s) { smc 495 drivers/net/fddi/skfp/cfm.c smc->y[PA].scrub = TRUE ; smc 501 drivers/net/fddi/skfp/cfm.c smc->mib.p[PS].fddiPORTCurrentPath = MIB_PATH_CONCATENATED ; smc 502 drivers/net/fddi/skfp/cfm.c smc->mib.p[PS].fddiPORTMACPlacement = INDEX_MAC ; smc 503 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTStationStatus = MIB_SMT_STASTA_CON ; smc 504 drivers/net/fddi/skfp/cfm.c config_mux(smc,MUX_WRAPS) ; /* configure PHY mux */ smc 505 drivers/net/fddi/skfp/cfm.c if (smc->y[PA].cf_loop || smc->y[PB].cf_loop) { smc 506 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = FALSE ; smc 507 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = TRUE ; smc 508 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_LOOP) ;/* signal RMT */ smc 510 drivers/net/fddi/skfp/cfm.c if (smc->y[PA].cf_join || smc->y[PB].cf_join) { smc 511 drivers/net/fddi/skfp/cfm.c smc->r.rm_loop = FALSE ; smc 512 drivers/net/fddi/skfp/cfm.c smc->r.rm_join = TRUE ; smc 513 drivers/net/fddi/skfp/cfm.c queue_event(smc,EVENT_RMT,RM_JOIN) ;/* signal RMT */ smc 516 drivers/net/fddi/skfp/cfm.c DB_CFMN(1, "CFM : %s", cfm_states[smc->mib.fddiSMTCF_State]); smc 520 drivers/net/fddi/skfp/cfm.c if ( !smc->y[PA].cf_join && !smc->y[PA].cf_loop && smc 521 drivers/net/fddi/skfp/cfm.c !smc->y[PB].cf_join && !smc->y[PB].cf_loop) { smc 527 drivers/net/fddi/skfp/cfm.c SMT_PANIC(smc,SMT_E0106, SMT_E0106_MSG) ; smc 537 drivers/net/fddi/skfp/cfm.c int cfm_get_mac_input(struct s_smc *smc) smc 539 drivers/net/fddi/skfp/cfm.c return (smc->mib.fddiSMTCF_State == SC10_C_WRAP_B || smc 540 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTCF_State == SC5_THRU_B) ? PB : PA; smc 548 drivers/net/fddi/skfp/cfm.c int cfm_get_mac_output(struct s_smc *smc) smc 550 drivers/net/fddi/skfp/cfm.c return (smc->mib.fddiSMTCF_State == SC10_C_WRAP_B || smc 551 drivers/net/fddi/skfp/cfm.c smc->mib.fddiSMTCF_State == SC4_THRU_A) ? PB : PA; smc 588 drivers/net/fddi/skfp/cfm.c int cem_build_path(struct s_smc *smc, char *to, int path_index) smc 593 drivers/net/fddi/skfp/cfm.c switch (smc->mib.fddiSMTCF_State) { smc 596 drivers/net/fddi/skfp/cfm.c path = smc->s.sas ? path_iso_s : path_iso ; smc 597 drivers/net/fddi/skfp/cfm.c len = smc->s.sas ? sizeof(path_iso_s) : sizeof(path_iso) ; smc 64 drivers/net/fddi/skfp/drvfbi.c #define OEMID(smc,i) oem_id[ID_BYTE0 + i] smc 70 drivers/net/fddi/skfp/drvfbi.c #define OEMID(smc,i) smc->hw.oem_id->oi_id[i] smc 80 drivers/net/fddi/skfp/drvfbi.c static void smt_stop_watchdog(struct s_smc *smc); smc 85 drivers/net/fddi/skfp/drvfbi.c static void card_start(struct s_smc *smc) smc 93 drivers/net/fddi/skfp/drvfbi.c smt_stop_watchdog(smc) ; smc 101 drivers/net/fddi/skfp/drvfbi.c hwt_wait_time(smc,hwt_quick_read(smc),MS2BCLK(10)) ; smc 133 drivers/net/fddi/skfp/drvfbi.c smc->hw.hw_is_64bit = TRUE ; smc 135 drivers/net/fddi/skfp/drvfbi.c smc->hw.hw_is_64bit = FALSE ; smc 141 drivers/net/fddi/skfp/drvfbi.c if (!smc->hw.hw_is_64bit) { smc 154 drivers/net/fddi/skfp/drvfbi.c smc->hw.is_imask = ISR_MASK ; smc 155 drivers/net/fddi/skfp/drvfbi.c smc->hw.hw_state = STOPPED ; smc 160 drivers/net/fddi/skfp/drvfbi.c void card_stop(struct s_smc *smc) smc 162 drivers/net/fddi/skfp/drvfbi.c smt_stop_watchdog(smc) ; smc 163 drivers/net/fddi/skfp/drvfbi.c smc->hw.mac_ring_is_up = 0 ; /* ring down */ smc 171 drivers/net/fddi/skfp/drvfbi.c hwt_wait_time(smc,hwt_quick_read(smc),MS2BCLK(10)) ; smc 178 drivers/net/fddi/skfp/drvfbi.c smc->hw.hw_state = STOPPED ; smc 183 drivers/net/fddi/skfp/drvfbi.c void mac1_irq(struct s_smc *smc, u_short stu, u_short stl) smc 194 drivers/net/fddi/skfp/drvfbi.c SMT_PANIC(smc,SMT_E0134, SMT_E0134_MSG) ; smc 202 drivers/net/fddi/skfp/drvfbi.c SMT_PANIC(smc,SMT_E0133, SMT_E0133_MSG) ; smc 210 drivers/net/fddi/skfp/drvfbi.c formac_tx_restart(smc) ; /* init tx */ smc 225 drivers/net/fddi/skfp/drvfbi.c llc_restart_tx(smc) ; smc 232 drivers/net/fddi/skfp/drvfbi.c void plc1_irq(struct s_smc *smc) smc 236 drivers/net/fddi/skfp/drvfbi.c plc_irq(smc,PB,st) ; smc 243 drivers/net/fddi/skfp/drvfbi.c void plc2_irq(struct s_smc *smc) smc 247 drivers/net/fddi/skfp/drvfbi.c plc_irq(smc,PA,st) ; smc 254 drivers/net/fddi/skfp/drvfbi.c void timer_irq(struct s_smc *smc) smc 256 drivers/net/fddi/skfp/drvfbi.c hwt_restart(smc); smc 257 drivers/net/fddi/skfp/drvfbi.c smc->hw.t_stop = smc->hw.t_start; smc 258 drivers/net/fddi/skfp/drvfbi.c smt_timer_done(smc) ; smc 264 drivers/net/fddi/skfp/drvfbi.c int pcm_get_s_port(struct s_smc *smc) smc 266 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; smc 281 drivers/net/fddi/skfp/drvfbi.c void read_address(struct s_smc *smc, u_char *mac_addr) smc 289 drivers/net/fddi/skfp/drvfbi.c smc->hw.fddi_phys_addr.a[i] = smc 297 drivers/net/fddi/skfp/drvfbi.c smc->y[PA].pmd_type[PMD_SK_CONN] = smc 298 drivers/net/fddi/skfp/drvfbi.c smc->y[PB].pmd_type[PMD_SK_CONN] = ConnectorType ; smc 299 drivers/net/fddi/skfp/drvfbi.c smc->y[PA].pmd_type[PMD_SK_PMD ] = smc 300 drivers/net/fddi/skfp/drvfbi.c smc->y[PB].pmd_type[PMD_SK_PMD ] = PmdType ; smc 304 drivers/net/fddi/skfp/drvfbi.c smc->hw.fddi_canon_addr.a[i] = mac_addr[i] ; smc 305 drivers/net/fddi/skfp/drvfbi.c smc->hw.fddi_home_addr.a[i] = bitrev8(mac_addr[i]); smc 309 drivers/net/fddi/skfp/drvfbi.c smc->hw.fddi_home_addr = smc->hw.fddi_phys_addr ; smc 312 drivers/net/fddi/skfp/drvfbi.c smc->hw.fddi_canon_addr.a[i] = smc 313 drivers/net/fddi/skfp/drvfbi.c bitrev8(smc->hw.fddi_phys_addr.a[i]); smc 320 drivers/net/fddi/skfp/drvfbi.c void init_board(struct s_smc *smc, u_char *mac_addr) smc 322 drivers/net/fddi/skfp/drvfbi.c card_start(smc) ; smc 323 drivers/net/fddi/skfp/drvfbi.c read_address(smc,mac_addr) ; smc 326 drivers/net/fddi/skfp/drvfbi.c smc->s.sas = SMT_SAS ; /* Single att. station */ smc 328 drivers/net/fddi/skfp/drvfbi.c smc->s.sas = SMT_DAS ; /* Dual att. station */ smc 331 drivers/net/fddi/skfp/drvfbi.c smc->mib.fddiSMTBypassPresent = 0 ; smc 334 drivers/net/fddi/skfp/drvfbi.c smc->mib.fddiSMTBypassPresent = 1 ; smc 341 drivers/net/fddi/skfp/drvfbi.c void sm_pm_bypass_req(struct s_smc *smc, int mode) smc 346 drivers/net/fddi/skfp/drvfbi.c if (smc->s.sas != SMT_DAS) smc 364 drivers/net/fddi/skfp/drvfbi.c int sm_pm_bypass_present(struct s_smc *smc) smc 369 drivers/net/fddi/skfp/drvfbi.c void plc_clear_irq(struct s_smc *smc, int p) smc 373 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; smc 388 drivers/net/fddi/skfp/drvfbi.c static void led_indication(struct s_smc *smc, int led_event) smc 398 drivers/net/fddi/skfp/drvfbi.c phy = &smc->y[PA] ; smc 400 drivers/net/fddi/skfp/drvfbi.c phy = &smc->y[PB] ; smc 437 drivers/net/fddi/skfp/drvfbi.c void pcm_state_change(struct s_smc *smc, int plc, int p_state) smc 444 drivers/net/fddi/skfp/drvfbi.c DRV_PCM_STATE_CHANGE(smc,plc,p_state) ; smc 446 drivers/net/fddi/skfp/drvfbi.c led_indication(smc,0) ; smc 450 drivers/net/fddi/skfp/drvfbi.c void rmt_indication(struct s_smc *smc, int i) smc 453 drivers/net/fddi/skfp/drvfbi.c DRV_RMT_INDICATION(smc,i) ; smc 455 drivers/net/fddi/skfp/drvfbi.c led_indication(smc, i ? LED_Y_OFF : LED_Y_ON) ; smc 462 drivers/net/fddi/skfp/drvfbi.c void llc_recover_tx(struct s_smc *smc) smc 470 drivers/net/fddi/skfp/drvfbi.c smc->hw.n_a_send= 0 ; smc 472 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; smc 498 drivers/net/fddi/skfp/drvfbi.c int set_oi_id_def(struct s_smc *smc) smc 507 drivers/net/fddi/skfp/drvfbi.c smc->hw.oem_id = 0 ; smc 508 drivers/net/fddi/skfp/drvfbi.c smc->hw.oem_min_status = OI_STAT_ACTIVE ; smc 532 drivers/net/fddi/skfp/drvfbi.c smc->hw.oem_id = (struct s_oem_ids *) &oem_ids[sel_id] ; smc 537 drivers/net/fddi/skfp/drvfbi.c void driver_get_bia(struct s_smc *smc, struct fddi_addr *bia_addr) smc 542 drivers/net/fddi/skfp/drvfbi.c bia_addr->a[i] = bitrev8(smc->hw.fddi_phys_addr.a[i]); smc 545 drivers/net/fddi/skfp/drvfbi.c void smt_start_watchdog(struct s_smc *smc) smc 547 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; /* Make LINT happy. */ smc 552 drivers/net/fddi/skfp/drvfbi.c if (smc->hw.wdog_used) { smc 560 drivers/net/fddi/skfp/drvfbi.c static void smt_stop_watchdog(struct s_smc *smc) smc 562 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; /* Make LINT happy. */ smc 566 drivers/net/fddi/skfp/drvfbi.c if (smc->hw.wdog_used) { smc 576 drivers/net/fddi/skfp/drvfbi.c void mac_do_pci_fix(struct s_smc *smc) smc 578 drivers/net/fddi/skfp/drvfbi.c SK_UNUSED(smc) ; smc 51 drivers/net/fddi/skfp/ecm.c #define GO_STATE(x) (smc->mib.fddiSMTECMState = (x)|AFLAG) smc 52 drivers/net/fddi/skfp/ecm.c #define ACTIONS_DONE() (smc->mib.fddiSMTECMState &= ~AFLAG) smc 90 drivers/net/fddi/skfp/ecm.c static void ecm_fsm(struct s_smc *smc, int cmd); smc 91 drivers/net/fddi/skfp/ecm.c static void start_ecm_timer(struct s_smc *smc, u_long value, int event); smc 92 drivers/net/fddi/skfp/ecm.c static void stop_ecm_timer(struct s_smc *smc); smc 93 drivers/net/fddi/skfp/ecm.c static void prop_actions(struct s_smc *smc); smc 99 drivers/net/fddi/skfp/ecm.c void ecm_init(struct s_smc *smc) smc 101 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PASSED ; smc 102 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop = 0 ; smc 103 drivers/net/fddi/skfp/ecm.c smc->e.sb_flag = 0 ; smc 104 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTECMState = ACTIONS(EC0_OUT) ; smc 105 drivers/net/fddi/skfp/ecm.c smc->e.ecm_line_state = FALSE ; smc 117 drivers/net/fddi/skfp/ecm.c void ecm(struct s_smc *smc, int event) smc 123 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTECMState & AFLAG ? "ACTIONS " : "", smc 124 drivers/net/fddi/skfp/ecm.c ecm_states[smc->mib.fddiSMTECMState & ~AFLAG], smc 126 drivers/net/fddi/skfp/ecm.c state = smc->mib.fddiSMTECMState ; smc 127 drivers/net/fddi/skfp/ecm.c ecm_fsm(smc,event) ; smc 129 drivers/net/fddi/skfp/ecm.c } while (state != smc->mib.fddiSMTECMState) ; smc 130 drivers/net/fddi/skfp/ecm.c ecm_state_change(smc,(int)smc->mib.fddiSMTECMState) ; smc 136 drivers/net/fddi/skfp/ecm.c static void ecm_fsm(struct s_smc *smc, int cmd) smc 143 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTBypassPresent = sm_pm_bypass_present(smc) ; smc 145 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTRemoteDisconnectFlag = FALSE ; smc 150 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTRemoteDisconnectFlag == TRUE) smc 151 drivers/net/fddi/skfp/ecm.c AIX_EVENT (smc, (u_long) CIO_HARD_FAIL, (u_long) smc 152 drivers/net/fddi/skfp/ecm.c FDDI_REMOTE_DISCONNECT, smt_get_event_word(smc), smc 153 drivers/net/fddi/skfp/ecm.c smt_get_error_word(smc) ); smc 157 drivers/net/fddi/skfp/ecm.c smc->e.DisconnectFlag = FALSE ; smc 160 drivers/net/fddi/skfp/ecm.c smc->e.DisconnectFlag = TRUE ; smc 163 drivers/net/fddi/skfp/ecm.c switch(smc->mib.fddiSMTECMState) { smc 168 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PASSED ; smc 169 drivers/net/fddi/skfp/ecm.c smc->e.ecm_line_state = FALSE ; smc 170 drivers/net/fddi/skfp/ecm.c stop_ecm_timer(smc) ; smc 175 drivers/net/fddi/skfp/ecm.c if (cmd == EC_CONNECT && !smc->mib.fddiSMTBypassPresent smc 176 drivers/net/fddi/skfp/ecm.c && smc->e.path_test==PT_PASSED) { smc 181 drivers/net/fddi/skfp/ecm.c else if (cmd == EC_CONNECT && (smc->e.path_test==PT_PASSED) && smc 182 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTBypassPresent && smc 183 drivers/net/fddi/skfp/ecm.c (smc->s.sas == SMT_DAS)) { smc 189 drivers/net/fddi/skfp/ecm.c stop_ecm_timer(smc) ; smc 190 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop = 0 ; smc 191 drivers/net/fddi/skfp/ecm.c sm_ma_control(smc,MA_TREQ) ; smc 193 drivers/net/fddi/skfp/ecm.c if (smc->mib.p[p].fddiPORTHardwarePresent) smc 194 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCMA+p,PC_START) ; smc 200 drivers/net/fddi/skfp/ecm.c prop_actions(smc) ; smc 211 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,MIB2US(smc->mib.fddiSMTTrace_MaxExpiration), smc 218 drivers/net/fddi/skfp/ecm.c prop_actions(smc) ; smc 224 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_EXITING ; smc 229 drivers/net/fddi/skfp/ecm.c else if (smc->e.path_test == PT_PENDING) { smc 237 drivers/net/fddi/skfp/ecm.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, smc 239 drivers/net/fddi/skfp/ecm.c FDDI_TRACE_MAX, smt_get_error_word(smc)); smc 240 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PENDING ; smc 246 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_td_min,EC_TIMEOUT_TD) ; smc 248 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCMA+p,PC_STOP) ; smc 253 drivers/net/fddi/skfp/ecm.c if (cmd == EC_TIMEOUT_TD && !smc->mib.fddiSMTBypassPresent && smc 254 drivers/net/fddi/skfp/ecm.c (smc->e.path_test != PT_PENDING)) { smc 260 drivers/net/fddi/skfp/ecm.c (smc->e.path_test == PT_PENDING)) { smc 265 drivers/net/fddi/skfp/ecm.c else if (cmd == EC_CONNECT && smc->e.path_test == PT_PASSED) { smc 271 drivers/net/fddi/skfp/ecm.c smc->e.path_test == PT_PENDING) { smc 272 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_EXITING ; smc 279 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTBypassPresent && smc 280 drivers/net/fddi/skfp/ecm.c smc->e.path_test != PT_PENDING) { smc 286 drivers/net/fddi/skfp/ecm.c stop_ecm_timer(smc) ; smc 287 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_TESTING ; smc 288 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_test_done,EC_TEST_DONE) ; smc 295 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PASSED ; smc 297 drivers/net/fddi/skfp/ecm.c if (smc->e.path_test == PT_FAILED) smc 298 drivers/net/fddi/skfp/ecm.c RS_SET(smc,RS_PATHTEST) ; smc 301 drivers/net/fddi/skfp/ecm.c if (smc->e.path_test == PT_FAILED && smc 302 drivers/net/fddi/skfp/ecm.c !smc->mib.fddiSMTBypassPresent) { smc 308 drivers/net/fddi/skfp/ecm.c !smc->mib.fddiSMTBypassPresent) { smc 313 drivers/net/fddi/skfp/ecm.c else if (smc->e.path_test == PT_PASSED) { smc 318 drivers/net/fddi/skfp/ecm.c else if (smc->e.path_test == PT_FAILED && smc 319 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTBypassPresent) { smc 325 drivers/net/fddi/skfp/ecm.c smc->mib.fddiSMTBypassPresent) { smc 331 drivers/net/fddi/skfp/ecm.c sm_pm_bypass_req(smc,BP_INSERT); smc 332 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_in_max,EC_TIMEOUT_INMAX) ; smc 352 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_check_poll,0) ; smc 353 drivers/net/fddi/skfp/ecm.c smc->e.ecm_line_state = TRUE ; /* flag to pcm: report Q/HLS */ smc 357 drivers/net/fddi/skfp/ecm.c ls_a = sm_pm_get_ls(smc,PA) ; smc 358 drivers/net/fddi/skfp/ecm.c ls_b = sm_pm_get_ls(smc,PB) ; smc 363 drivers/net/fddi/skfp/ecm.c smc->e.sb_flag = FALSE ; smc 364 drivers/net/fddi/skfp/ecm.c smc->e.ecm_line_state = FALSE ; smc 369 drivers/net/fddi/skfp/ecm.c else if (!smc->e.sb_flag && smc 372 drivers/net/fddi/skfp/ecm.c smc->e.sb_flag = TRUE ; smc 374 drivers/net/fddi/skfp/ecm.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 376 drivers/net/fddi/skfp/ecm.c smt_get_error_word(smc)); smc 380 drivers/net/fddi/skfp/ecm.c smc->e.ecm_line_state = FALSE ; smc 388 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_check_poll,0) ; smc 392 drivers/net/fddi/skfp/ecm.c sm_pm_bypass_req(smc,BP_DEINSERT); smc 393 drivers/net/fddi/skfp/ecm.c start_ecm_timer(smc,smc->s.ecm_i_max,EC_TIMEOUT_IMAX) ; smc 403 drivers/net/fddi/skfp/ecm.c else if (cmd == EC_CONNECT && smc->e.path_test == PT_PASSED) { smc 409 drivers/net/fddi/skfp/ecm.c SMT_PANIC(smc,SMT_E0107, SMT_E0107_MSG) ; smc 418 drivers/net/fddi/skfp/ecm.c static void prop_actions(struct s_smc *smc) smc 423 drivers/net/fddi/skfp/ecm.c RS_SET(smc,RS_EVENT) ; smc 424 drivers/net/fddi/skfp/ecm.c switch (smc->s.sas) { smc 426 drivers/net/fddi/skfp/ecm.c port_in = port_out = pcm_get_s_port(smc) ; smc 429 drivers/net/fddi/skfp/ecm.c port_in = cfm_get_mac_input(smc) ; /* PA or PB */ smc 430 drivers/net/fddi/skfp/ecm.c port_out = cfm_get_mac_output(smc) ; /* PA or PB */ smc 433 drivers/net/fddi/skfp/ecm.c SMT_PANIC(smc,SMT_E0108, SMT_E0108_MSG) ; smc 437 drivers/net/fddi/skfp/ecm.c DB_ECM("ECM : prop_actions - trace_prop %lu", smc->e.trace_prop); smc 440 drivers/net/fddi/skfp/ecm.c if (smc->e.trace_prop & ENTITY_BIT(ENTITY_MAC)) { smc 443 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCM+port_in,PC_TRACE) ; smc 445 drivers/net/fddi/skfp/ecm.c else if ((smc->e.trace_prop & ENTITY_BIT(ENTITY_PHY(PA))) && smc 449 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCMB,PC_TRACE) ; smc 451 drivers/net/fddi/skfp/ecm.c else if ((smc->e.trace_prop & ENTITY_BIT(ENTITY_PHY(PB))) && smc 455 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCMA,PC_TRACE) ; smc 460 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PENDING ; smc 462 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop = 0 ; smc 468 drivers/net/fddi/skfp/ecm.c static void prop_actions(struct s_smc *smc) smc 474 drivers/net/fddi/skfp/ecm.c RS_SET(smc,RS_EVENT) ; smc 475 drivers/net/fddi/skfp/ecm.c while (smc->e.trace_prop) { smc 477 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop); smc 479 drivers/net/fddi/skfp/ecm.c if (smc->e.trace_prop & ENTITY_BIT(ENTITY_MAC)) { smc 481 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop &= ~ENTITY_BIT(ENTITY_MAC) ; smc 486 drivers/net/fddi/skfp/ecm.c if (smc->e.trace_prop & smc 491 drivers/net/fddi/skfp/ecm.c smc->e.trace_prop &= ~ENTITY_BIT(ENTITY_PHY(p)) ; smc 493 drivers/net/fddi/skfp/ecm.c upstream = cem_get_upstream(smc,initiator) ; smc 498 drivers/net/fddi/skfp/ecm.c smc->e.path_test = PT_PENDING ; smc 503 drivers/net/fddi/skfp/ecm.c queue_event(smc,EVENT_PCM+upstream,PC_TRACE) ; smc 514 drivers/net/fddi/skfp/ecm.c static void start_ecm_timer(struct s_smc *smc, u_long value, int event) smc 516 drivers/net/fddi/skfp/ecm.c smt_timer_start(smc,&smc->e.ecm_timer,value,EV_TOKEN(EVENT_ECM,event)); smc 523 drivers/net/fddi/skfp/ecm.c static void stop_ecm_timer(struct s_smc *smc) smc 525 drivers/net/fddi/skfp/ecm.c if (smc->e.ecm_timer.tm_active) smc 526 drivers/net/fddi/skfp/ecm.c smt_timer_stop(smc,&smc->e.ecm_timer) ; smc 79 drivers/net/fddi/skfp/ess.c static void ess_send_response(struct s_smc *smc, struct smt_header *sm, smc 81 drivers/net/fddi/skfp/ess.c static void ess_config_fifo(struct s_smc *smc); smc 82 drivers/net/fddi/skfp/ess.c static void ess_send_alc_req(struct s_smc *smc); smc 83 drivers/net/fddi/skfp/ess.c static void ess_send_frame(struct s_smc *smc, SMbuf *mb); smc 97 drivers/net/fddi/skfp/ess.c void ess_timer_poll(struct s_smc *smc); smc 98 drivers/net/fddi/skfp/ess.c void ess_para_change(struct s_smc *smc); smc 99 drivers/net/fddi/skfp/ess.c int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, smc 101 drivers/net/fddi/skfp/ess.c static int process_bw_alloc(struct s_smc *smc, long int payload, long int overhead); smc 113 drivers/net/fddi/skfp/ess.c int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, smc 132 drivers/net/fddi/skfp/ess.c if (!(p = (void *) sm_to_para(smc,sm,SMT_P0015))) { smc 141 drivers/net/fddi/skfp/ess.c if (!(cmd = (struct smt_p_0016 *) sm_to_para(smc,sm,SMT_P0016))) { smc 173 drivers/net/fddi/skfp/ess.c if (!local || smc->mib.fddiESSPayload) smc 176 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P0019) ; smc 187 drivers/net/fddi/skfp/ess.c smc->ess.alloc_trans_id = sm->smt_tid ; smc 189 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P320F) ; smc 191 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaPayload ; smc 192 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P3210) ; smc 194 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaOverhead ; smc 197 drivers/net/fddi/skfp/ess.c if (smc->ess.local_sba_active) smc 200 drivers/net/fddi/skfp/ess.c if (!(db = smt_get_mbuf(smc))) smc 207 drivers/net/fddi/skfp/ess.c dump_smt(smc, smc 210 drivers/net/fddi/skfp/ess.c smt_send_frame(smc,db,FC_SMT_INFO,0) ; smc 218 drivers/net/fddi/skfp/ess.c if (smt_check_para(smc,sm,plist_raf_alc_res)) { smc 233 drivers/net/fddi/skfp/ess.c if ((((struct smt_p_320b *)sm_to_para(smc,sm,SMT_P320B))->path_index smc 236 drivers/net/fddi/skfp/ess.c (((struct smt_p_reason *)sm_to_para(smc,sm,SMT_P0012))->rdf_reason smc 238 drivers/net/fddi/skfp/ess.c (sm->smt_tid != smc->ess.alloc_trans_id)) { smc 247 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P320F) ; smc 253 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P3210) ; smc 266 drivers/net/fddi/skfp/ess.c (void)process_bw_alloc(smc,(long)payload,(long)overhead) ; smc 286 drivers/net/fddi/skfp/ess.c if (smt_check_para(smc,sm,plist_raf_chg_req)) { smc 297 drivers/net/fddi/skfp/ess.c if ((((struct smt_p_320b *)sm_to_para(smc,sm,SMT_P320B))->path_index smc 306 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P320F) ; smc 308 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P3210) ; smc 319 drivers/net/fddi/skfp/ess.c if(!process_bw_alloc(smc,(long)payload,(long)overhead)) smc 325 drivers/net/fddi/skfp/ess.c ess_send_response(smc,sm,CHANGE_ALLOCATION) ; smc 356 drivers/net/fddi/skfp/ess.c ess_send_response(smc,sm,REPORT_ALLOCATION) ; smc 376 drivers/net/fddi/skfp/ess.c static int process_bw_alloc(struct s_smc *smc, long int payload, long int overhead) smc 436 drivers/net/fddi/skfp/ess.c if (smc->mib.fddiESSPayload && smc 437 drivers/net/fddi/skfp/ess.c ((u_long)payload != smc->mib.fddiESSPayload || smc 438 drivers/net/fddi/skfp/ess.c (u_long)overhead != smc->mib.fddiESSOverhead)) { smc 439 drivers/net/fddi/skfp/ess.c smc->ess.raf_act_timer_poll = TRUE ; smc 440 drivers/net/fddi/skfp/ess.c smc->ess.timer_count = 0 ; smc 448 drivers/net/fddi/skfp/ess.c smc->ess.sync_bw_available = TRUE ; smc 450 drivers/net/fddi/skfp/ess.c smc->ess.sync_bw = overhead - smc 451 drivers/net/fddi/skfp/ess.c (long)smc->mib.m[MAC0].fddiMACT_Neg * smc 456 drivers/net/fddi/skfp/ess.c smc->ess.sync_bw_available = FALSE ; smc 457 drivers/net/fddi/skfp/ess.c smc->ess.sync_bw = 0 ; smc 461 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaPayload = payload ; smc 462 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaOverhead = overhead ; smc 465 drivers/net/fddi/skfp/ess.c DB_ESSN(2, "tsync = %lx", smc->ess.sync_bw); smc 467 drivers/net/fddi/skfp/ess.c ess_config_fifo(smc) ; smc 468 drivers/net/fddi/skfp/ess.c set_formac_tsync(smc,smc->ess.sync_bw) ; smc 472 drivers/net/fddi/skfp/ess.c static void ess_send_response(struct s_smc *smc, struct smt_header *sm, smc 483 drivers/net/fddi/skfp/ess.c if (!(mb=smt_build_frame(smc,SMT_RAF,SMT_REPLY, smc 488 drivers/net/fddi/skfp/ess.c if (!(mb=smt_build_frame(smc,SMT_RAF,SMT_REPLY, smc 518 drivers/net/fddi/skfp/ess.c chg->payload.mib_payload = smc->mib.a[PATH0].fddiPATHSbaPayload ; smc 524 drivers/net/fddi/skfp/ess.c chg->overhead.mib_overhead = smc->mib.a[PATH0].fddiPATHSbaOverhead ; smc 530 drivers/net/fddi/skfp/ess.c p = (void *) sm_to_para(smc,sm,SMT_P001A) ; smc 533 drivers/net/fddi/skfp/ess.c dump_smt(smc,(struct smt_header *)chg,"RAF") ; smc 534 drivers/net/fddi/skfp/ess.c ess_send_frame(smc,mb) ; smc 537 drivers/net/fddi/skfp/ess.c void ess_timer_poll(struct s_smc *smc) smc 539 drivers/net/fddi/skfp/ess.c if (!smc->ess.raf_act_timer_poll) smc 544 drivers/net/fddi/skfp/ess.c smc->ess.timer_count++ ; smc 545 drivers/net/fddi/skfp/ess.c if (smc->ess.timer_count == 10) { smc 546 drivers/net/fddi/skfp/ess.c smc->ess.timer_count = 0 ; smc 547 drivers/net/fddi/skfp/ess.c ess_send_alc_req(smc) ; smc 551 drivers/net/fddi/skfp/ess.c static void ess_send_alc_req(struct s_smc *smc) smc 561 drivers/net/fddi/skfp/ess.c if (!smc->mib.fddiESSPayload) { smc 562 drivers/net/fddi/skfp/ess.c smc->mib.fddiESSOverhead = 0 ; smc 565 drivers/net/fddi/skfp/ess.c if (!smc->mib.fddiESSOverhead) smc 566 drivers/net/fddi/skfp/ess.c smc->mib.fddiESSOverhead = DEFAULT_OV ; smc 569 drivers/net/fddi/skfp/ess.c if (smc->mib.fddiESSOverhead == smc 570 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaOverhead && smc 571 drivers/net/fddi/skfp/ess.c smc->mib.fddiESSPayload == smc 572 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaPayload){ smc 573 drivers/net/fddi/skfp/ess.c smc->ess.raf_act_timer_poll = FALSE ; smc 574 drivers/net/fddi/skfp/ess.c smc->ess.timer_count = 7 ; /* next RAF alc req after 3 s */ smc 581 drivers/net/fddi/skfp/ess.c if (!(mb=smt_build_frame(smc,SMT_RAF,SMT_REQUEST, smc 585 drivers/net/fddi/skfp/ess.c req->smt.smt_tid = smc->ess.alloc_trans_id = smt_get_tid(smc) ; smc 613 drivers/net/fddi/skfp/ess.c req->pl_req.sba_pl_req = smc->mib.fddiESSPayload - smc 614 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaPayload ; smc 619 drivers/net/fddi/skfp/ess.c req->ov_req.sba_ov_req = smc->mib.fddiESSOverhead - smc 620 drivers/net/fddi/skfp/ess.c smc->mib.a[PATH0].fddiPATHSbaOverhead ; smc 626 drivers/net/fddi/skfp/ess.c req->payload.mib_payload = smc->mib.a[PATH0].fddiPATHSbaPayload ; smc 632 drivers/net/fddi/skfp/ess.c req->overhead.mib_overhead = smc->mib.a[PATH0].fddiPATHSbaOverhead ; smc 643 drivers/net/fddi/skfp/ess.c req->cat.category = smc->mib.fddiESSCategory ; smc 648 drivers/net/fddi/skfp/ess.c req->tneg.max_t_neg = smc->mib.fddiESSMaxTNeg ; smc 653 drivers/net/fddi/skfp/ess.c req->segm.min_seg_siz = smc->mib.fddiESSMinSegmentSize ; smc 655 drivers/net/fddi/skfp/ess.c dump_smt(smc,(struct smt_header *)req,"RAF") ; smc 656 drivers/net/fddi/skfp/ess.c ess_send_frame(smc,mb) ; smc 659 drivers/net/fddi/skfp/ess.c static void ess_send_frame(struct s_smc *smc, SMbuf *mb) smc 664 drivers/net/fddi/skfp/ess.c if (smc->ess.local_sba_active) { smc 669 drivers/net/fddi/skfp/ess.c if (!smc->ess.sba_reply_pend) smc 670 drivers/net/fddi/skfp/ess.c smc->ess.sba_reply_pend = mb ; smc 673 drivers/net/fddi/skfp/ess.c smt_free_mbuf(smc,mb) ; smc 681 drivers/net/fddi/skfp/ess.c smt_send_frame(smc,mb,FC_SMT_INFO,0) ; smc 685 drivers/net/fddi/skfp/ess.c void ess_para_change(struct s_smc *smc) smc 687 drivers/net/fddi/skfp/ess.c (void)process_bw_alloc(smc,(long)smc->mib.a[PATH0].fddiPATHSbaPayload, smc 688 drivers/net/fddi/skfp/ess.c (long)smc->mib.a[PATH0].fddiPATHSbaOverhead) ; smc 691 drivers/net/fddi/skfp/ess.c static void ess_config_fifo(struct s_smc *smc) smc 696 drivers/net/fddi/skfp/ess.c if (smc->mib.a[PATH0].fddiPATHSbaPayload) { smc 697 drivers/net/fddi/skfp/ess.c if (smc->hw.fp.fifo.fifo_config_mode & SYNC_TRAFFIC_ON && smc 698 drivers/net/fddi/skfp/ess.c (smc->hw.fp.fifo.fifo_config_mode&SEND_ASYNC_AS_SYNC) == smc 699 drivers/net/fddi/skfp/ess.c smc->mib.fddiESSSynchTxMode) { smc 704 drivers/net/fddi/skfp/ess.c if (!(smc->hw.fp.fifo.fifo_config_mode & SYNC_TRAFFIC_ON)) { smc 712 drivers/net/fddi/skfp/ess.c formac_reinit_tx(smc) ; smc 43 drivers/net/fddi/skfp/fplustm.c static void build_claim_beacon(struct s_smc *smc, u_long t_request); smc 44 drivers/net/fddi/skfp/fplustm.c static int init_mac(struct s_smc *smc, int all); smc 45 drivers/net/fddi/skfp/fplustm.c static void rtm_init(struct s_smc *smc); smc 46 drivers/net/fddi/skfp/fplustm.c static void smt_split_up_fifo(struct s_smc *smc); smc 53 drivers/net/fddi/skfp/fplustm.c #define DUMMY_READ() smc->hw.mc_dummy = (u_short) inp(ADDR(B0_RAP)) smc 58 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0130, SMT_E0130_MSG) ; \ smc 65 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0131, SMT_E0131_MSG) ; \ smc 80 drivers/net/fddi/skfp/fplustm.c #define MA smc->hw.fddi_canon_addr smc 82 drivers/net/fddi/skfp/fplustm.c #define MA smc->hw.fddi_home_addr smc 107 drivers/net/fddi/skfp/fplustm.c static u_long mac_get_tneg(struct s_smc *smc) smc 116 drivers/net/fddi/skfp/fplustm.c void mac_update_counter(struct s_smc *smc) smc 118 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACFrame_Ct = smc 119 drivers/net/fddi/skfp/fplustm.c (smc->mib.m[MAC0].fddiMACFrame_Ct & 0xffff0000L) smc 121 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACLost_Ct = smc 122 drivers/net/fddi/skfp/fplustm.c (smc->mib.m[MAC0].fddiMACLost_Ct & 0xffff0000L) smc 124 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACError_Ct = smc 125 drivers/net/fddi/skfp/fplustm.c (smc->mib.m[MAC0].fddiMACError_Ct & 0xffff0000L) smc 127 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACT_Neg = mac_get_tneg(smc) ; smc 134 drivers/net/fddi/skfp/fplustm.c smt_emulate_token_ct( smc, MAC0 ); smc 141 drivers/net/fddi/skfp/fplustm.c static void write_mdr(struct s_smc *smc, u_long val) smc 151 drivers/net/fddi/skfp/fplustm.c static u_long read_mdr(struct s_smc *smc, unsigned int addr) smc 170 drivers/net/fddi/skfp/fplustm.c static void init_ram(struct s_smc *smc) smc 174 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start = 0 ; smc 175 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_end = smc 176 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start + RBC_MEM_SIZE ; smc 178 drivers/net/fddi/skfp/fplustm.c MARW(smc->hw.fp.fifo.rbc_ram_start) ; smc 179 drivers/net/fddi/skfp/fplustm.c for (i = smc->hw.fp.fifo.rbc_ram_start; smc 180 drivers/net/fddi/skfp/fplustm.c i < (u_short) (smc->hw.fp.fifo.rbc_ram_end-1); i++) smc 181 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,0L) ; smc 183 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,0L) ; smc 189 drivers/net/fddi/skfp/fplustm.c static void set_recvptr(struct s_smc *smc) smc 194 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPR1),smc->hw.fp.fifo.rx1_fifo_start) ; /* RPR1 */ smc 195 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPR1),smc->hw.fp.fifo.rx1_fifo_start) ; /* SWPR1 */ smc 196 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPR1),smc->hw.fp.fifo.rx1_fifo_start) ; /* WPR1 */ smc 197 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EARV1),smc->hw.fp.fifo.tx_s_start-1) ; /* EARV1 */ smc 202 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.fifo.rx2_fifo_size) { smc 203 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPR2),smc->hw.fp.fifo.rx2_fifo_start) ; smc 204 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPR2),smc->hw.fp.fifo.rx2_fifo_start) ; smc 205 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPR2),smc->hw.fp.fifo.rx2_fifo_start) ; smc 206 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EARV2),smc->hw.fp.fifo.rbc_ram_end-1) ; smc 209 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPR2),smc->hw.fp.fifo.rbc_ram_end-1) ; smc 210 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPR2),smc->hw.fp.fifo.rbc_ram_end-1) ; smc 211 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPR2),smc->hw.fp.fifo.rbc_ram_end-1) ; smc 212 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EARV2),smc->hw.fp.fifo.rbc_ram_end-1) ; smc 219 drivers/net/fddi/skfp/fplustm.c static void set_txptr(struct s_smc *smc) smc 226 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPXA0),smc->hw.fp.fifo.tx_a0_start) ; /* RPXA0 */ smc 227 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPXA0),smc->hw.fp.fifo.tx_a0_start) ; /* SWPXA0 */ smc 228 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPXA0),smc->hw.fp.fifo.tx_a0_start) ; /* WPXA0 */ smc 229 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EAA0),smc->hw.fp.fifo.rx2_fifo_start-1) ; /* EAA0 */ smc 234 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.fifo.tx_s_size) { smc 235 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPXS),smc->hw.fp.fifo.tx_s_start) ; smc 236 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPXS),smc->hw.fp.fifo.tx_s_start) ; smc 237 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPXS),smc->hw.fp.fifo.tx_s_start) ; smc 238 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EAS),smc->hw.fp.fifo.tx_a0_start-1) ; smc 241 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_RPXS),smc->hw.fp.fifo.tx_a0_start-1) ; smc 242 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SWPXS),smc->hw.fp.fifo.tx_a0_start-1) ; smc 243 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_WPXS),smc->hw.fp.fifo.tx_a0_start-1) ; smc 244 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EAS),smc->hw.fp.fifo.tx_a0_start-1) ; smc 251 drivers/net/fddi/skfp/fplustm.c static void init_rbc(struct s_smc *smc) smc 258 drivers/net/fddi/skfp/fplustm.c rbc_ram_addr = smc->hw.fp.fifo.rx2_fifo_start - 1 ; smc 265 drivers/net/fddi/skfp/fplustm.c set_recvptr(smc) ; smc 266 drivers/net/fddi/skfp/fplustm.c set_txptr(smc) ; smc 272 drivers/net/fddi/skfp/fplustm.c static void init_rx(struct s_smc *smc) smc 279 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx[QUEUE_R1] = queue = &smc->hw.fp.rx_q[QUEUE_R1] ; smc 286 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx[QUEUE_R2] = queue = &smc->hw.fp.rx_q[QUEUE_R2] ; smc 294 drivers/net/fddi/skfp/fplustm.c void set_formac_tsync(struct s_smc *smc, long sync_bw) smc 302 drivers/net/fddi/skfp/fplustm.c static void init_tx(struct s_smc *smc) smc 309 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.tx[QUEUE_S] = queue = &smc->hw.fp.tx_q[QUEUE_S] ; smc 314 drivers/net/fddi/skfp/fplustm.c set_formac_tsync(smc,smc->ess.sync_bw) ; smc 320 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.tx[QUEUE_A0] = queue = &smc->hw.fp.tx_q[QUEUE_A0] ; smc 325 drivers/net/fddi/skfp/fplustm.c llc_recover_tx(smc) ; smc 328 drivers/net/fddi/skfp/fplustm.c static void mac_counter_init(struct s_smc *smc) smc 342 drivers/net/fddi/skfp/fplustm.c ec = (u_long *)&smc->hw.fp.err_stats ; smc 345 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACRingOp_Ct = 0 ; smc 351 drivers/net/fddi/skfp/fplustm.c static void set_formac_addr(struct s_smc *smc) smc 353 drivers/net/fddi/skfp/fplustm.c long t_requ = smc->mib.m[MAC0].fddiMACT_Req ; smc 356 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAIL),(unsigned short)((smc->hw.fddi_home_addr.a[4]<<8) + smc 357 drivers/net/fddi/skfp/fplustm.c smc->hw.fddi_home_addr.a[5])) ; smc 358 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAIC),(unsigned short)((smc->hw.fddi_home_addr.a[2]<<8) + smc 359 drivers/net/fddi/skfp/fplustm.c smc->hw.fddi_home_addr.a[3])) ; smc 360 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAIM),(unsigned short)((smc->hw.fddi_home_addr.a[0]<<8) + smc 361 drivers/net/fddi/skfp/fplustm.c smc->hw.fddi_home_addr.a[1])) ; smc 365 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAGL),(unsigned short)((smc->hw.fp.group_addr.a[4]<<8) + smc 366 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.group_addr.a[5])) ; smc 367 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAGC),(unsigned short)((smc->hw.fp.group_addr.a[2]<<8) + smc 368 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.group_addr.a[3])) ; smc 369 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_LAGM),(unsigned short)((smc->hw.fp.group_addr.a[0]<<8) + smc 370 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.group_addr.a[1])) ; smc 393 drivers/net/fddi/skfp/fplustm.c static void copy_tx_mac(struct s_smc *smc, u_long td, struct fddi_mac *mac, smc 412 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,le32_to_cpu(*p)) ; smc 417 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,td) ; /* write over memory data reg to buffer */ smc 442 drivers/net/fddi/skfp/fplustm.c static void directed_beacon(struct s_smc *smc) smc 453 drivers/net/fddi/skfp/fplustm.c memcpy((char *)a+1, (char *) &smc->mib.m[MAC0].fddiMACUpstreamNbr, ETH_ALEN); smc 457 drivers/net/fddi/skfp/fplustm.c MARW(smc->hw.fp.fifo.rbc_ram_start+DBEACON_FRAME_OFF+4) ; smc 458 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,le32_to_cpu(a[0])) ; smc 460 drivers/net/fddi/skfp/fplustm.c write_mdr(smc,le32_to_cpu(a[1])) ; smc 462 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SABC),smc->hw.fp.fifo.rbc_ram_start + DBEACON_FRAME_OFF) ; smc 471 drivers/net/fddi/skfp/fplustm.c static void build_claim_beacon(struct s_smc *smc, u_long t_request) smc 482 drivers/net/fddi/skfp/fplustm.c mac = &smc->hw.fp.mac_sfb ; smc 489 drivers/net/fddi/skfp/fplustm.c copy_tx_mac(smc,td,(struct fddi_mac *)mac, smc 490 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start + CLAIM_FRAME_OFF,len) ; smc 492 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SACL),smc->hw.fp.fifo.rbc_ram_start + CLAIM_FRAME_OFF) ; smc 504 drivers/net/fddi/skfp/fplustm.c copy_tx_mac(smc,td,(struct fddi_mac *)mac, smc 505 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start + BEACON_FRAME_OFF,len) ; smc 507 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_SABC),smc->hw.fp.fifo.rbc_ram_start + BEACON_FRAME_OFF) ; smc 522 drivers/net/fddi/skfp/fplustm.c copy_tx_mac(smc,td,(struct fddi_mac *)mac, smc 523 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start + DBEACON_FRAME_OFF,len) ; smc 526 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_EACB),smc->hw.fp.fifo.rx1_fifo_start-1) ; smc 532 drivers/net/fddi/skfp/fplustm.c static void formac_rcv_restart(struct s_smc *smc) smc 535 drivers/net/fddi/skfp/fplustm.c SETMASK(FM_A(FM_MDREG1),smc->hw.fp.rx_mode,FM_ADDRX) ; smc 540 drivers/net/fddi/skfp/fplustm.c void formac_tx_restart(struct s_smc *smc) smc 546 drivers/net/fddi/skfp/fplustm.c static void enable_formac(struct s_smc *smc) smc 586 drivers/net/fddi/skfp/fplustm.c void enable_tx_irq(struct s_smc *smc, u_short queue) smc 621 drivers/net/fddi/skfp/fplustm.c void disable_tx_irq(struct s_smc *smc, u_short queue) smc 637 drivers/net/fddi/skfp/fplustm.c static void disable_formac(struct s_smc *smc) smc 649 drivers/net/fddi/skfp/fplustm.c static void mac_ring_up(struct s_smc *smc, int up) smc 652 drivers/net/fddi/skfp/fplustm.c formac_rcv_restart(smc) ; /* enable receive function */ smc 653 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ring_is_up = TRUE ; smc 654 drivers/net/fddi/skfp/fplustm.c llc_restart_tx(smc) ; /* TX queue */ smc 663 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ring_is_up = FALSE ; smc 676 drivers/net/fddi/skfp/fplustm.c void mac2_irq(struct s_smc *smc, u_short code_s2u, u_short code_s2l) smc 685 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_TX_STATE_CHANGE) ; smc 688 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_TX_STATE_CHANGE) ; smc 694 drivers/net/fddi/skfp/fplustm.c change_s2l = smc->hw.fp.s2l ^ code_s2l ; smc 695 drivers/net/fddi/skfp/fplustm.c change_s2u = smc->hw.fp.s2u ^ code_s2u ; smc 698 drivers/net/fddi/skfp/fplustm.c (!smc->hw.mac_ring_is_up && ((code_s2l & FM_SRNGOP)))) { smc 700 drivers/net/fddi/skfp/fplustm.c mac_ring_up(smc,1) ; smc 701 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_RING_OP) ; smc 702 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACRingOp_Ct++ ; smc 705 drivers/net/fddi/skfp/fplustm.c mac_ring_up(smc,0) ; smc 706 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_RING_NON_OP) ; smc 711 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACNotCopied_Ct++ ; smc 715 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ct.mac_r_restart_counter++ ; smc 717 drivers/net/fddi/skfp/fplustm.c smt_stat_counter(smc,1) ; smc 721 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_OTHER_BEACON) ; smc 723 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_MY_BEACON) ; smc 732 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_MY_CLAIM) ; smc 742 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_VALID_CLAIM) ; smc 749 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_TRT_EXP) ; smc 756 drivers/net/fddi/skfp/fplustm.c smc->r.dup_addr_test = DA_FAILED ; smc 757 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_DUP_ADDR) ; smc 760 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_bec_stat++ ; smc 762 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_clm_stat++ ; smc 764 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACTvxExpired_Ct++ ; smc 766 drivers/net/fddi/skfp/fplustm.c if (!(change_s2l & FM_SRNGOP) && (smc->hw.fp.s2l & FM_SRNGOP)) { smc 767 drivers/net/fddi/skfp/fplustm.c mac_ring_up(smc,0) ; smc 768 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_RING_NON_OP) ; smc 770 drivers/net/fddi/skfp/fplustm.c mac_ring_up(smc,1) ; smc 771 drivers/net/fddi/skfp/fplustm.c queue_event(smc,EVENT_RMT,RM_RING_OP) ; smc 772 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACRingOp_Ct++ ; smc 776 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_phinv++ ; smc 778 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_sifg_det++ ; smc 780 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_tkiss++ ; smc 782 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.err_stats.err_tkerr++ ; smc 784 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACFrame_Ct += 0x10000L ; smc 786 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACError_Ct += 0x10000L ; smc 788 drivers/net/fddi/skfp/fplustm.c smc->mib.m[MAC0].fddiMACLost_Ct += 0x10000L ; smc 790 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0114, SMT_E0114_MSG) ; smc 794 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.s2l = code_s2l ; smc 795 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.s2u = code_s2u ; smc 802 drivers/net/fddi/skfp/fplustm.c void mac3_irq(struct s_smc *smc, u_short code_s3u, u_short code_s3l) smc 808 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ct.mac_r_restart_counter++ ; smc 809 drivers/net/fddi/skfp/fplustm.c smt_stat_counter(smc,1); smc 814 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0115, SMT_E0115_MSG) ; smc 817 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0116, SMT_E0116_MSG) ; smc 825 drivers/net/fddi/skfp/fplustm.c static void formac_offline(struct s_smc *smc) smc 835 drivers/net/fddi/skfp/fplustm.c disable_formac(smc) ; smc 836 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ring_is_up = FALSE ; smc 837 drivers/net/fddi/skfp/fplustm.c smc->hw.hw_state = STOPPED ; smc 843 drivers/net/fddi/skfp/fplustm.c static void formac_online(struct s_smc *smc) smc 845 drivers/net/fddi/skfp/fplustm.c enable_formac(smc) ; smc 847 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode, FM_MMODE | FM_SELRA | FM_ADDRX) ; smc 853 drivers/net/fddi/skfp/fplustm.c int init_fplus(struct s_smc *smc) smc 855 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.nsa_mode = FM_MRNNSAFNMA ; smc 856 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = FM_MDAMA ; smc 857 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.group_addr = fddi_broadcast ; smc 858 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.func_addr = 0 ; smc 859 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.frselreg_init = 0 ; smc 861 drivers/net/fddi/skfp/fplustm.c init_driver_fplus(smc) ; smc 862 drivers/net/fddi/skfp/fplustm.c if (smc->s.sas == SMT_DAS) smc 863 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.mdr3init |= FM_MENDAS ; smc 865 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ct.mac_nobuf_counter = 0 ; smc 866 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ct.mac_r_restart_counter = 0 ; smc 868 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st1u = (HW_PTR) ADDR(B0_ST1U) ; smc 869 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st1l = (HW_PTR) ADDR(B0_ST1L) ; smc 870 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st2u = (HW_PTR) ADDR(B0_ST2U) ; smc 871 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st2l = (HW_PTR) ADDR(B0_ST2L) ; smc 872 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st3u = (HW_PTR) ADDR(B0_ST3U) ; smc 873 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fm_st3l = (HW_PTR) ADDR(B0_ST3L) ; smc 875 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.s2l = smc->hw.fp.s2u = 0 ; smc 876 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_ring_is_up = 0 ; smc 878 drivers/net/fddi/skfp/fplustm.c mac_counter_init(smc) ; smc 881 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_pa.t_neg = (u_long)0 ; smc 882 drivers/net/fddi/skfp/fplustm.c smc->hw.mac_pa.t_pri = (u_long)0 ; smc 885 drivers/net/fddi/skfp/fplustm.c mac_do_pci_fix(smc) ; smc 887 drivers/net/fddi/skfp/fplustm.c return init_mac(smc, 1); smc 891 drivers/net/fddi/skfp/fplustm.c static int init_mac(struct s_smc *smc, int all) smc 900 drivers/net/fddi/skfp/fplustm.c set_formac_addr(smc) ; smc 903 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_MDREG2),smc->hw.fp.mdr2init) ; smc 906 drivers/net/fddi/skfp/fplustm.c init_ram(smc) ; smc 913 drivers/net/fddi/skfp/fplustm.c time = hwt_quick_read(smc) ; smc 919 drivers/net/fddi/skfp/fplustm.c smt_split_up_fifo(smc) ; smc 921 drivers/net/fddi/skfp/fplustm.c init_tx(smc) ; smc 922 drivers/net/fddi/skfp/fplustm.c init_rx(smc) ; smc 923 drivers/net/fddi/skfp/fplustm.c init_rbc(smc) ; smc 925 drivers/net/fddi/skfp/fplustm.c build_claim_beacon(smc,smc->mib.m[MAC0].fddiMACT_Req) ; smc 932 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_MDREG1),MDR1INIT | FM_SELRA | smc->hw.fp.rx_mode) ; smc 933 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_MDREG2),smc->hw.fp.mdr2init) ; smc 934 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_MDREG3),smc->hw.fp.mdr3init) ; smc 935 drivers/net/fddi/skfp/fplustm.c outpw(FM_A(FM_FRSELREG),smc->hw.fp.frselreg_init) ; smc 943 drivers/net/fddi/skfp/fplustm.c t_max = (u_short)(smc->mib.m[MAC0].fddiMACT_Max/32) ; smc 951 drivers/net/fddi/skfp/fplustm.c if (smc->mib.m[MAC0].fddiMACTvxValue < (u_long) (- US2BCLK(52))) { smc 955 drivers/net/fddi/skfp/fplustm.c (u_short)((smc->mib.m[MAC0].fddiMACTvxValue/255) & MB)) ; smc 965 drivers/net/fddi/skfp/fplustm.c rtm_init(smc) ; /* RT-Monitor */ smc 971 drivers/net/fddi/skfp/fplustm.c hwt_wait_time(smc,time,MS2BCLK(10)) ; smc 979 drivers/net/fddi/skfp/fplustm.c if (!smc->hw.hw_is_64bit) { smc 984 drivers/net/fddi/skfp/fplustm.c smc->hw.hw_state = STOPPED ; smc 985 drivers/net/fddi/skfp/fplustm.c mac_drv_repair_descr(smc) ; smc 987 drivers/net/fddi/skfp/fplustm.c smc->hw.hw_state = STARTED ; smc 996 drivers/net/fddi/skfp/fplustm.c void config_mux(struct s_smc *smc, int mux) smc 998 drivers/net/fddi/skfp/fplustm.c plc_config_mux(smc,mux) ; smc 1010 drivers/net/fddi/skfp/fplustm.c void sm_mac_check_beacon_claim(struct s_smc *smc) smc 1015 drivers/net/fddi/skfp/fplustm.c formac_rcv_restart(smc) ; smc 1016 drivers/net/fddi/skfp/fplustm.c process_receive(smc) ; smc 1023 drivers/net/fddi/skfp/fplustm.c void sm_ma_control(struct s_smc *smc, int mode) smc 1028 drivers/net/fddi/skfp/fplustm.c formac_offline(smc) ; smc 1031 drivers/net/fddi/skfp/fplustm.c (void)init_mac(smc,0) ; smc 1034 drivers/net/fddi/skfp/fplustm.c formac_online(smc) ; smc 1037 drivers/net/fddi/skfp/fplustm.c directed_beacon(smc) ; smc 1047 drivers/net/fddi/skfp/fplustm.c int sm_mac_get_tx_state(struct s_smc *smc) smc 1056 drivers/net/fddi/skfp/fplustm.c static struct s_fpmc* mac_get_mc_table(struct s_smc *smc, smc 1076 drivers/net/fddi/skfp/fplustm.c for (i = 0, tb = smc->hw.fp.mc.table ; i < FPMAX_MULTICAST ; i++, tb++){ smc 1100 drivers/net/fddi/skfp/fplustm.c void mac_clear_multicast(struct s_smc *smc) smc 1105 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.os_slots_used = 0 ; /* note the SMT addresses */ smc 1107 drivers/net/fddi/skfp/fplustm.c for (i = 0, tb = smc->hw.fp.mc.table ; i < FPMAX_MULTICAST ; i++, tb++){ smc 1142 drivers/net/fddi/skfp/fplustm.c int mac_add_multicast(struct s_smc *smc, struct fddi_addr *addr, int can) smc 1151 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.smt_slots_used >= SMT_MAX_MULTI) { smc 1156 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.os_slots_used >= FPMAX_MULTICAST-SMT_MAX_MULTI) { smc 1164 drivers/net/fddi/skfp/fplustm.c if (!(tb = mac_get_mc_table(smc,addr,&own,0,can & ~0x80))) smc 1171 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.smt_slots_used++ ; smc 1173 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.os_slots_used++ ; smc 1196 drivers/net/fddi/skfp/fplustm.c void mac_update_multicast(struct s_smc *smc) smc 1210 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.func_addr) { smc 1211 drivers/net/fddi/skfp/fplustm.c fu = (u_char *) &smc->hw.fp.func_addr ; smc 1230 drivers/net/fddi/skfp/fplustm.c for (i = 0, tb = smc->hw.fp.mc.table; i < FPMAX_MULTICAST; i++, tb++) { smc 1272 drivers/net/fddi/skfp/fplustm.c void mac_set_rx_mode(struct s_smc *smc, int mode) smc 1276 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_prom |= RX_MODE_ALL_MULTI ; smc 1279 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_prom &= ~RX_MODE_ALL_MULTI ; smc 1282 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_prom |= RX_MODE_PROM ; smc 1285 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_prom &= ~RX_MODE_PROM ; smc 1288 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.nsa_mode = FM_MDAMA ; smc 1289 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = (smc->hw.fp.rx_mode & ~FM_ADDET) | smc 1290 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.nsa_mode ; smc 1293 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.nsa_mode = FM_MRNNSAFNMA ; smc 1294 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = (smc->hw.fp.rx_mode & ~FM_ADDET) | smc 1295 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.nsa_mode ; smc 1298 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.rx_prom & RX_MODE_PROM) { smc 1299 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = FM_MLIMPROM ; smc 1301 drivers/net/fddi/skfp/fplustm.c else if (smc->hw.fp.rx_prom & RX_MODE_ALL_MULTI) { smc 1302 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = smc->hw.fp.nsa_mode | FM_EXGPA0 ; smc 1305 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.rx_mode = smc->hw.fp.nsa_mode ; smc 1306 drivers/net/fddi/skfp/fplustm.c SETMASK(FM_A(FM_MDREG1),smc->hw.fp.rx_mode,FM_ADDRX) ; smc 1307 drivers/net/fddi/skfp/fplustm.c mac_update_multicast(smc) ; smc 1328 drivers/net/fddi/skfp/fplustm.c void rtm_irq(struct s_smc *smc) smc 1334 drivers/net/fddi/skfp/fplustm.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, smc 1336 drivers/net/fddi/skfp/fplustm.c (u_long) FDDI_RTT, smt_get_event_word(smc)); smc 1341 drivers/net/fddi/skfp/fplustm.c static void rtm_init(struct s_smc *smc) smc 1347 drivers/net/fddi/skfp/fplustm.c void rtm_set_timer(struct s_smc *smc) smc 1353 drivers/net/fddi/skfp/fplustm.c (int)smc->mib.a[PATH0].fddiPATHT_Rmode); smc 1354 drivers/net/fddi/skfp/fplustm.c outpd(ADDR(B2_RTM_INI),smc->mib.a[PATH0].fddiPATHT_Rmode) ; smc 1357 drivers/net/fddi/skfp/fplustm.c static void smt_split_up_fifo(struct s_smc *smc) smc 1386 drivers/net/fddi/skfp/fplustm.c SMT_PANIC(smc,SMT_E0117, SMT_E0117_MSG) ; smc 1391 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_size = RX_FIFO_SPACE ; smc 1392 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx2_fifo_size = 0 ; smc 1397 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_size = RX_LARGE_FIFO ; smc 1398 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx2_fifo_size = RX_SMALL_FIFO ; smc 1401 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_size = RX_FIFO_SPACE * smc 1403 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx2_fifo_size = RX_FIFO_SPACE * smc 1430 drivers/net/fddi/skfp/fplustm.c if (smc->mib.a[PATH0].fddiPATHSbaPayload) { smc 1432 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.fifo_config_mode |= smc 1433 drivers/net/fddi/skfp/fplustm.c smc->mib.fddiESSSynchTxMode | SYNC_TRAFFIC_ON ; smc 1437 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.fifo_config_mode &= smc 1444 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.fifo.fifo_config_mode & SYNC_TRAFFIC_ON) { smc 1445 drivers/net/fddi/skfp/fplustm.c if (smc->hw.fp.fifo.fifo_config_mode & SEND_ASYNC_AS_SYNC) { smc 1446 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_s_size = TX_LARGE_FIFO ; smc 1447 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_size = TX_SMALL_FIFO ; smc 1450 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_s_size = TX_MEDIUM_FIFO ; smc 1451 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_size = TX_MEDIUM_FIFO ; smc 1455 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_s_size = 0 ; smc 1456 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_size = TX_FIFO_SPACE ; smc 1459 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_start = smc->hw.fp.fifo.rbc_ram_start + smc 1461 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_s_start = smc->hw.fp.fifo.rx1_fifo_start + smc 1462 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_size ; smc 1463 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_start = smc->hw.fp.fifo.tx_s_start + smc 1464 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_s_size ; smc 1465 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx2_fifo_start = smc->hw.fp.fifo.tx_a0_start + smc 1466 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_size ; smc 1468 drivers/net/fddi/skfp/fplustm.c DB_SMT("FIFO split: mode = %x", smc->hw.fp.fifo.fifo_config_mode); smc 1470 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rbc_ram_start, smc->hw.fp.fifo.rbc_ram_end); smc 1472 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.rx1_fifo_start, smc->hw.fp.fifo.tx_s_start); smc 1474 drivers/net/fddi/skfp/fplustm.c smc->hw.fp.fifo.tx_a0_start, smc->hw.fp.fifo.rx2_fifo_start); smc 1477 drivers/net/fddi/skfp/fplustm.c void formac_reinit_tx(struct s_smc *smc) smc 1484 drivers/net/fddi/skfp/fplustm.c if (!smc->hw.fp.fifo.tx_s_size && smc->mib.a[PATH0].fddiPATHSbaPayload){ smc 1485 drivers/net/fddi/skfp/fplustm.c (void)init_mac(smc,0) ; smc 61 drivers/net/fddi/skfp/h/cmtdef.h #define DB_TEST (smc->debug) smc 484 drivers/net/fddi/skfp/h/cmtdef.h void hwt_restart(struct s_smc *smc); /* hwt.c */ smc 485 drivers/net/fddi/skfp/h/cmtdef.h SMbuf *smt_build_frame(struct s_smc *smc, int class, int type, smc 487 drivers/net/fddi/skfp/h/cmtdef.h SMbuf *smt_get_mbuf(struct s_smc *smc); /* drvsr.c */ smc 488 drivers/net/fddi/skfp/h/cmtdef.h void *sm_to_para(struct s_smc *smc, struct smt_header *sm, smc 495 drivers/net/fddi/skfp/h/cmtdef.h void queue_event(struct s_smc *smc, int class, int event); smc 496 drivers/net/fddi/skfp/h/cmtdef.h void ecm(struct s_smc *smc, int event); smc 497 drivers/net/fddi/skfp/h/cmtdef.h void ecm_init(struct s_smc *smc); smc 498 drivers/net/fddi/skfp/h/cmtdef.h void rmt(struct s_smc *smc, int event); smc 499 drivers/net/fddi/skfp/h/cmtdef.h void rmt_init(struct s_smc *smc); smc 500 drivers/net/fddi/skfp/h/cmtdef.h void pcm(struct s_smc *smc, const int np, int event); smc 501 drivers/net/fddi/skfp/h/cmtdef.h void pcm_init(struct s_smc *smc); smc 502 drivers/net/fddi/skfp/h/cmtdef.h void cfm(struct s_smc *smc, int event); smc 503 drivers/net/fddi/skfp/h/cmtdef.h void cfm_init(struct s_smc *smc); smc 504 drivers/net/fddi/skfp/h/cmtdef.h void smt_timer_start(struct s_smc *smc, struct smt_timer *timer, u_long time, smc 506 drivers/net/fddi/skfp/h/cmtdef.h void smt_timer_stop(struct s_smc *smc, struct smt_timer *timer); smc 507 drivers/net/fddi/skfp/h/cmtdef.h void pcm_status_state(struct s_smc *smc, int np, int *type, int *state, smc 509 drivers/net/fddi/skfp/h/cmtdef.h void plc_config_mux(struct s_smc *smc, int mux); smc 510 drivers/net/fddi/skfp/h/cmtdef.h void sm_lem_evaluate(struct s_smc *smc); smc 511 drivers/net/fddi/skfp/h/cmtdef.h void mac_update_counter(struct s_smc *smc); smc 512 drivers/net/fddi/skfp/h/cmtdef.h void sm_ma_control(struct s_smc *smc, int mode); smc 513 drivers/net/fddi/skfp/h/cmtdef.h void sm_mac_check_beacon_claim(struct s_smc *smc); smc 514 drivers/net/fddi/skfp/h/cmtdef.h void config_mux(struct s_smc *smc, int mux); smc 515 drivers/net/fddi/skfp/h/cmtdef.h void smt_agent_init(struct s_smc *smc); smc 516 drivers/net/fddi/skfp/h/cmtdef.h void smt_timer_init(struct s_smc *smc); smc 517 drivers/net/fddi/skfp/h/cmtdef.h void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs); smc 518 drivers/net/fddi/skfp/h/cmtdef.h void smt_add_para(struct s_smc *smc, struct s_pcon *pcon, u_short para, smc 521 drivers/net/fddi/skfp/h/cmtdef.h void ev_init(struct s_smc *smc); smc 522 drivers/net/fddi/skfp/h/cmtdef.h void hwt_init(struct s_smc *smc); smc 523 drivers/net/fddi/skfp/h/cmtdef.h u_long hwt_read(struct s_smc *smc); smc 524 drivers/net/fddi/skfp/h/cmtdef.h void hwt_stop(struct s_smc *smc); smc 525 drivers/net/fddi/skfp/h/cmtdef.h void hwt_start(struct s_smc *smc, u_long time); smc 526 drivers/net/fddi/skfp/h/cmtdef.h void smt_send_mbuf(struct s_smc *smc, SMbuf *mb, int fc); smc 527 drivers/net/fddi/skfp/h/cmtdef.h void smt_free_mbuf(struct s_smc *smc, SMbuf *mb); smc 528 drivers/net/fddi/skfp/h/cmtdef.h void sm_pm_bypass_req(struct s_smc *smc, int mode); smc 529 drivers/net/fddi/skfp/h/cmtdef.h void rmt_indication(struct s_smc *smc, int i); smc 530 drivers/net/fddi/skfp/h/cmtdef.h void cfm_state_change(struct s_smc *smc, int c_state); smc 533 drivers/net/fddi/skfp/h/cmtdef.h void smt_panic(struct s_smc *smc, char *text); smc 535 drivers/net/fddi/skfp/h/cmtdef.h #define smt_panic(smc,text) smc 538 drivers/net/fddi/skfp/h/cmtdef.h void smt_stat_counter(struct s_smc *smc, int stat); smc 539 drivers/net/fddi/skfp/h/cmtdef.h void smt_timer_poll(struct s_smc *smc); smc 541 drivers/net/fddi/skfp/h/cmtdef.h u_long smt_get_tid(struct s_smc *smc); smc 542 drivers/net/fddi/skfp/h/cmtdef.h void smt_timer_done(struct s_smc *smc); smc 543 drivers/net/fddi/skfp/h/cmtdef.h void smt_fixup_mib(struct s_smc *smc); smc 544 drivers/net/fddi/skfp/h/cmtdef.h void smt_reset_defaults(struct s_smc *smc, int level); smc 545 drivers/net/fddi/skfp/h/cmtdef.h void smt_agent_task(struct s_smc *smc); smc 546 drivers/net/fddi/skfp/h/cmtdef.h int smt_check_para(struct s_smc *smc, struct smt_header *sm, smc 548 drivers/net/fddi/skfp/h/cmtdef.h void driver_get_bia(struct s_smc *smc, struct fddi_addr *bia_addr); smc 551 drivers/net/fddi/skfp/h/cmtdef.h void drv_reset_indication(struct s_smc *smc); smc 554 drivers/net/fddi/skfp/h/cmtdef.h void smt_start_watchdog(struct s_smc *smc); smc 555 drivers/net/fddi/skfp/h/cmtdef.h void smt_event(struct s_smc *smc, int event); smc 556 drivers/net/fddi/skfp/h/cmtdef.h void timer_event(struct s_smc *smc, u_long token); smc 557 drivers/net/fddi/skfp/h/cmtdef.h void ev_dispatcher(struct s_smc *smc); smc 558 drivers/net/fddi/skfp/h/cmtdef.h void pcm_get_state(struct s_smc *smc, struct smt_state *state); smc 559 drivers/net/fddi/skfp/h/cmtdef.h void ecm_state_change(struct s_smc *smc, int e_state); smc 560 drivers/net/fddi/skfp/h/cmtdef.h int sm_pm_bypass_present(struct s_smc *smc); smc 561 drivers/net/fddi/skfp/h/cmtdef.h void pcm_state_change(struct s_smc *smc, int plc, int p_state); smc 562 drivers/net/fddi/skfp/h/cmtdef.h void rmt_state_change(struct s_smc *smc, int r_state); smc 563 drivers/net/fddi/skfp/h/cmtdef.h int sm_pm_get_ls(struct s_smc *smc, int phy); smc 564 drivers/net/fddi/skfp/h/cmtdef.h int pcm_get_s_port(struct s_smc *smc); smc 565 drivers/net/fddi/skfp/h/cmtdef.h int pcm_rooted_station(struct s_smc *smc); smc 566 drivers/net/fddi/skfp/h/cmtdef.h int cfm_get_mac_input(struct s_smc *smc); smc 567 drivers/net/fddi/skfp/h/cmtdef.h int cfm_get_mac_output(struct s_smc *smc); smc 568 drivers/net/fddi/skfp/h/cmtdef.h int cem_build_path(struct s_smc *smc, char *to, int path_index); smc 569 drivers/net/fddi/skfp/h/cmtdef.h int sm_mac_get_tx_state(struct s_smc *smc); smc 570 drivers/net/fddi/skfp/h/cmtdef.h char *get_pcmstate(struct s_smc *smc, int np); smc 571 drivers/net/fddi/skfp/h/cmtdef.h int smt_action(struct s_smc *smc, int class, int code, int index); smc 572 drivers/net/fddi/skfp/h/cmtdef.h u_short smt_online(struct s_smc *smc, int on); smc 573 drivers/net/fddi/skfp/h/cmtdef.h void smt_force_irq(struct s_smc *smc); smc 574 drivers/net/fddi/skfp/h/cmtdef.h void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local); smc 575 drivers/net/fddi/skfp/h/cmtdef.h void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local); smc 576 drivers/net/fddi/skfp/h/cmtdef.h void smt_set_timestamp(struct s_smc *smc, u_char *p); smc 577 drivers/net/fddi/skfp/h/cmtdef.h void mac_set_rx_mode(struct s_smc *smc, int mode); smc 578 drivers/net/fddi/skfp/h/cmtdef.h int mac_add_multicast(struct s_smc *smc, struct fddi_addr *addr, int can); smc 579 drivers/net/fddi/skfp/h/cmtdef.h void mac_update_multicast(struct s_smc *smc); smc 580 drivers/net/fddi/skfp/h/cmtdef.h void mac_clear_multicast(struct s_smc *smc); smc 581 drivers/net/fddi/skfp/h/cmtdef.h void set_formac_tsync(struct s_smc *smc, long sync_bw); smc 582 drivers/net/fddi/skfp/h/cmtdef.h void formac_reinit_tx(struct s_smc *smc); smc 583 drivers/net/fddi/skfp/h/cmtdef.h void formac_tx_restart(struct s_smc *smc); smc 584 drivers/net/fddi/skfp/h/cmtdef.h void process_receive(struct s_smc *smc); smc 585 drivers/net/fddi/skfp/h/cmtdef.h void init_driver_fplus(struct s_smc *smc); smc 586 drivers/net/fddi/skfp/h/cmtdef.h void rtm_irq(struct s_smc *smc); smc 587 drivers/net/fddi/skfp/h/cmtdef.h void rtm_set_timer(struct s_smc *smc); smc 588 drivers/net/fddi/skfp/h/cmtdef.h void ring_status_indication(struct s_smc *smc, u_long status); smc 589 drivers/net/fddi/skfp/h/cmtdef.h void llc_recover_tx(struct s_smc *smc); smc 590 drivers/net/fddi/skfp/h/cmtdef.h void llc_restart_tx(struct s_smc *smc); smc 591 drivers/net/fddi/skfp/h/cmtdef.h void plc_clear_irq(struct s_smc *smc, int p); smc 592 drivers/net/fddi/skfp/h/cmtdef.h void plc_irq(struct s_smc *smc, int np, unsigned int cmd); smc 593 drivers/net/fddi/skfp/h/cmtdef.h int smt_set_mac_opvalues(struct s_smc *smc); smc 596 drivers/net/fddi/skfp/h/cmtdef.h void mac_do_pci_fix(struct s_smc *smc); smc 597 drivers/net/fddi/skfp/h/cmtdef.h void mac_drv_clear_tx_queue(struct s_smc *smc); smc 598 drivers/net/fddi/skfp/h/cmtdef.h void mac_drv_repair_descr(struct s_smc *smc); smc 599 drivers/net/fddi/skfp/h/cmtdef.h u_long hwt_quick_read(struct s_smc *smc); smc 600 drivers/net/fddi/skfp/h/cmtdef.h void hwt_wait_time(struct s_smc *smc, u_long start, long duration); smc 604 drivers/net/fddi/skfp/h/cmtdef.h int pnmi_init(struct s_smc* smc); smc 605 drivers/net/fddi/skfp/h/cmtdef.h int pnmi_process_ndis_id(struct s_smc *smc, u_long ndis_oid, void *buf, int len, smc 619 drivers/net/fddi/skfp/h/cmtdef.h int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, smc 621 drivers/net/fddi/skfp/h/cmtdef.h void ess_timer_poll(struct s_smc *smc); smc 622 drivers/net/fddi/skfp/h/cmtdef.h void ess_para_change(struct s_smc *smc); smc 626 drivers/net/fddi/skfp/h/cmtdef.h void smt_init_evc(struct s_smc *smc); smc 627 drivers/net/fddi/skfp/h/cmtdef.h void smt_srf_event(struct s_smc *smc, int code, int index, int cond); smc 629 drivers/net/fddi/skfp/h/cmtdef.h #define smt_init_evc(smc) smc 630 drivers/net/fddi/skfp/h/cmtdef.h #define smt_srf_event(smc,code,index,cond) smc 634 drivers/net/fddi/skfp/h/cmtdef.h void smt_emulate_token_ct(struct s_smc *smc, int mac_index); smc 638 drivers/net/fddi/skfp/h/cmtdef.h void dump_smt(struct s_smc *smc, struct smt_header *sm, char *text); smc 640 drivers/net/fddi/skfp/h/cmtdef.h #define dump_smt(smc,sm,text) smc 652 drivers/net/fddi/skfp/h/cmtdef.h #define PNMI_INIT(smc) /* Nothing */ smc 659 drivers/net/fddi/skfp/h/cmtdef.h #define SMT_PANIC(smc,nr,msg) smt_panic (smc, msg) smc 663 drivers/net/fddi/skfp/h/cmtdef.h #define SMT_ERR_LOG(smc,nr,msg) SMT_PANIC (smc, nr, msg) smc 162 drivers/net/fddi/skfp/h/hwmtm.h #define DB_P smc->debug smc 242 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_GET_TX_USED(smc,queue) (int) (smc)->hw.fp.tx_q[queue].tx_used smc 260 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_GET_CURR_TXD(smc,queue) (struct s_smt_fp_txd volatile *)\ smc 261 drivers/net/fddi/skfp/h/hwmtm.h (smc)->hw.fp.tx_q[queue].tx_curr_put smc 311 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_GET_RX_USED(smc) ((int)(smc)->hw.fp.rx_q[QUEUE_R1].rx_used) smc 325 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_GET_RX_FREE(smc) ((int)(smc)->hw.fp.rx_q[QUEUE_R1].rx_free-1) smc 340 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_GET_CURR_RXD(smc) (struct s_smt_fp_rxd volatile *)\ smc 341 drivers/net/fddi/skfp/h/hwmtm.h (smc)->hw.fp.rx_q[QUEUE_R1].rx_curr_put smc 358 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_RX_CHECK(smc,low_water) {\ smc 359 drivers/net/fddi/skfp/h/hwmtm.h if ((low_water) >= (smc)->hw.fp.rx_q[QUEUE_R1].rx_used) {\ smc 360 drivers/net/fddi/skfp/h/hwmtm.h mac_drv_fill_rxd(smc) ;\ smc 364 drivers/net/fddi/skfp/h/hwmtm.h #define HWM_RX_CHECK(smc,low_water) mac_drv_fill_rxd(smc) smc 48 drivers/net/fddi/skfp/h/osdef1st.h #define SMT_PANIC(smc, nr, msg) printk(KERN_INFO "SMT PANIC: code: %d, msg: %s\n",nr,msg) smc 702 drivers/net/fddi/skfp/h/skfbi.h #define ADDR(a) (char far *) smc->hw.iop+(a) smc 703 drivers/net/fddi/skfp/h/skfbi.h #define ADDRS(smc,a) (char far *) (smc)->hw.iop+(a) smc 705 drivers/net/fddi/skfp/h/skfbi.h #define ADDR(a) (((a)>>7) ? (outp(smc->hw.iop+B0_RAP,(a)>>7), \ smc 706 drivers/net/fddi/skfp/h/skfbi.h (smc->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0)))) : \ smc 707 drivers/net/fddi/skfp/h/skfbi.h (smc->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0)))) smc 708 drivers/net/fddi/skfp/h/skfbi.h #define ADDRS(smc,a) (((a)>>7) ? (outp((smc)->hw.iop+B0_RAP,(a)>>7), \ smc 709 drivers/net/fddi/skfp/h/skfbi.h ((smc)->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0)))) : \ smc 710 drivers/net/fddi/skfp/h/skfbi.h ((smc)->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0)))) smc 760 drivers/net/fddi/skfp/h/skfbi.h #define CLI_FBI(smc) outpd(ADDRS((smc),B0_IMSK),0) smc 764 drivers/net/fddi/skfp/h/skfbi.h #define STI_FBI() outpd(ADDR(B0_IMSK),smc->hw.is_imask) smc 766 drivers/net/fddi/skfp/h/skfbi.h #define STI_FBI(smc) outpd(ADDRS((smc),B0_IMSK),(smc)->hw.is_imask) smc 770 drivers/net/fddi/skfp/h/skfbi.h #define STI_FBI_SMP(smc,iop) outpd((iop)+B0_IMSK,(smc)->hw.is_imask) smc 84 drivers/net/fddi/skfp/h/skfbiinc.h #define DRV_PCM_STATE_CHANGE(smc,plc,p_state) /* nothing */ smc 89 drivers/net/fddi/skfp/h/skfbiinc.h #define DRV_RMT_INDICATION(smc,i) /* nothing */ smc 300 drivers/net/fddi/skfp/h/smc.h #define RS_SET(smc,bit) \ smc 301 drivers/net/fddi/skfp/h/smc.h ring_status_indication(smc,smc->srf.ring_status |= bit) smc 302 drivers/net/fddi/skfp/h/smc.h #define RS_CLEAR(smc,bit) \ smc 303 drivers/net/fddi/skfp/h/smc.h ring_status_indication(smc,smc->srf.ring_status &= ~bit) smc 310 drivers/net/fddi/skfp/h/smc.h #define AIX_EVENT(smc,opt0,opt1,opt2,opt3) /* nothing */ smc 468 drivers/net/fddi/skfp/h/smc.h void all_selection_criteria(struct s_smc *smc); smc 469 drivers/net/fddi/skfp/h/smc.h void card_stop(struct s_smc *smc); smc 470 drivers/net/fddi/skfp/h/smc.h void init_board(struct s_smc *smc, u_char *mac_addr); smc 471 drivers/net/fddi/skfp/h/smc.h int init_fplus(struct s_smc *smc); smc 472 drivers/net/fddi/skfp/h/smc.h void init_plc(struct s_smc *smc); smc 473 drivers/net/fddi/skfp/h/smc.h int init_smt(struct s_smc *smc, u_char *mac_addr); smc 474 drivers/net/fddi/skfp/h/smc.h void mac1_irq(struct s_smc *smc, u_short stu, u_short stl); smc 475 drivers/net/fddi/skfp/h/smc.h void mac2_irq(struct s_smc *smc, u_short code_s2u, u_short code_s2l); smc 476 drivers/net/fddi/skfp/h/smc.h void mac3_irq(struct s_smc *smc, u_short code_s3u, u_short code_s3l); smc 477 drivers/net/fddi/skfp/h/smc.h int pcm_status_twisted(struct s_smc *smc); smc 478 drivers/net/fddi/skfp/h/smc.h void plc1_irq(struct s_smc *smc); smc 479 drivers/net/fddi/skfp/h/smc.h void plc2_irq(struct s_smc *smc); smc 480 drivers/net/fddi/skfp/h/smc.h void read_address(struct s_smc *smc, u_char *mac_addr); smc 481 drivers/net/fddi/skfp/h/smc.h void timer_irq(struct s_smc *smc); smc 51 drivers/net/fddi/skfp/h/targetos.h #define ADDR(a) (smc->hw.iop+(a)) smc 53 drivers/net/fddi/skfp/h/targetos.h #define ADDR(a) (((a)>>7) ? (outp(smc->hw.iop+B0_RAP,(a)>>7), (smc->hw.iop+( ((a)&0x7F) | ((a)>>7 ? 0x80:0)) )) : (smc->hw.iop+(((a)&0x7F)|((a)>>7 ? 0x80:0)))) smc 74 drivers/net/fddi/skfp/hwmtm.c static void queue_llc_rx(struct s_smc *smc, SMbuf *mb); smc 75 drivers/net/fddi/skfp/hwmtm.c static void smt_to_llc(struct s_smc *smc, SMbuf *mb); smc 76 drivers/net/fddi/skfp/hwmtm.c static void init_txd_ring(struct s_smc *smc); smc 77 drivers/net/fddi/skfp/hwmtm.c static void init_rxd_ring(struct s_smc *smc); smc 78 drivers/net/fddi/skfp/hwmtm.c static void queue_txd_mb(struct s_smc *smc, SMbuf *mb); smc 79 drivers/net/fddi/skfp/hwmtm.c static u_long init_descr_ring(struct s_smc *smc, union s_fp_descr volatile *start, smc 81 drivers/net/fddi/skfp/hwmtm.c static u_long repair_txd_ring(struct s_smc *smc, struct s_smt_tx_queue *queue); smc 82 drivers/net/fddi/skfp/hwmtm.c static u_long repair_rxd_ring(struct s_smc *smc, struct s_smt_rx_queue *queue); smc 83 drivers/net/fddi/skfp/hwmtm.c static SMbuf* get_llc_rx(struct s_smc *smc); smc 84 drivers/net/fddi/skfp/hwmtm.c static SMbuf* get_txd_mb(struct s_smc *smc); smc 85 drivers/net/fddi/skfp/hwmtm.c static void mac_drv_clear_txd(struct s_smc *smc); smc 94 drivers/net/fddi/skfp/hwmtm.c extern void* mac_drv_get_space(struct s_smc *smc, unsigned int size); smc 95 drivers/net/fddi/skfp/hwmtm.c extern void* mac_drv_get_desc_mem(struct s_smc *smc, unsigned int size); smc 96 drivers/net/fddi/skfp/hwmtm.c extern void mac_drv_fill_rxd(struct s_smc *smc); smc 97 drivers/net/fddi/skfp/hwmtm.c extern void mac_drv_tx_complete(struct s_smc *smc, smc 99 drivers/net/fddi/skfp/hwmtm.c extern void mac_drv_rx_complete(struct s_smc *smc, smc 102 drivers/net/fddi/skfp/hwmtm.c extern void mac_drv_requeue_rxd(struct s_smc *smc, smc 105 drivers/net/fddi/skfp/hwmtm.c extern void mac_drv_clear_rxd(struct s_smc *smc, smc 117 drivers/net/fddi/skfp/hwmtm.c extern u_long mac_drv_virt2phys(struct s_smc *smc, void *virt); smc 118 drivers/net/fddi/skfp/hwmtm.c extern u_long dma_master(struct s_smc *smc, void *virt, int len, int flag); smc 123 drivers/net/fddi/skfp/hwmtm.c extern void dma_complete(struct s_smc *smc, volatile union s_fp_descr *descr, smc 127 drivers/net/fddi/skfp/hwmtm.c extern int mac_drv_rx_init(struct s_smc *smc, int len, int fc, char *look_ahead, smc 135 drivers/net/fddi/skfp/hwmtm.c void process_receive(struct s_smc *smc); smc 136 drivers/net/fddi/skfp/hwmtm.c void fddi_isr(struct s_smc *smc); smc 137 drivers/net/fddi/skfp/hwmtm.c void smt_free_mbuf(struct s_smc *smc, SMbuf *mb); smc 138 drivers/net/fddi/skfp/hwmtm.c void init_driver_fplus(struct s_smc *smc); smc 139 drivers/net/fddi/skfp/hwmtm.c void mac_drv_rx_mode(struct s_smc *smc, int mode); smc 140 drivers/net/fddi/skfp/hwmtm.c void init_fddi_driver(struct s_smc *smc, u_char *mac_addr); smc 141 drivers/net/fddi/skfp/hwmtm.c void mac_drv_clear_tx_queue(struct s_smc *smc); smc 142 drivers/net/fddi/skfp/hwmtm.c void mac_drv_clear_rx_queue(struct s_smc *smc); smc 143 drivers/net/fddi/skfp/hwmtm.c void hwm_tx_frag(struct s_smc *smc, char far *virt, u_long phys, int len, smc 145 drivers/net/fddi/skfp/hwmtm.c void hwm_rx_frag(struct s_smc *smc, char far *virt, u_long phys, int len, smc 148 drivers/net/fddi/skfp/hwmtm.c int mac_drv_init(struct s_smc *smc); smc 149 drivers/net/fddi/skfp/hwmtm.c int hwm_tx_init(struct s_smc *smc, u_char fc, int frag_count, int frame_len, smc 154 drivers/net/fddi/skfp/hwmtm.c SMbuf* smt_get_mbuf(struct s_smc *smc); smc 157 drivers/net/fddi/skfp/hwmtm.c void mac_drv_debug_lev(struct s_smc *smc, int flag, int lev); smc 174 drivers/net/fddi/skfp/hwmtm.c #define MA smc->hw.fddi_canon_addr.a smc 177 drivers/net/fddi/skfp/hwmtm.c #define MA smc->hw.fddi_home_addr.a smc 255 drivers/net/fddi/skfp/hwmtm.c int mac_drv_init(struct s_smc *smc) smc 258 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0001,HWM_E0001_MSG) ; smc 261 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0002,HWM_E0002_MSG) ; smc 267 drivers/net/fddi/skfp/hwmtm.c if (!(smc->os.hwm.descr_p = (union s_fp_descr volatile *) smc 268 drivers/net/fddi/skfp/hwmtm.c mac_drv_get_desc_mem(smc,(u_int) smc 277 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.mbuf_pool.mb_start=(SMbuf *)(&smc->os.hwm.mbuf_pool.mb[0]) ; smc 280 drivers/net/fddi/skfp/hwmtm.c if (!(smc->os.hwm.mbuf_pool.mb_start = (SMbuf *) mac_drv_get_space(smc, smc 286 drivers/net/fddi/skfp/hwmtm.c if (!(mb_start = (SMbuf *) mac_drv_get_space(smc, smc 305 drivers/net/fddi/skfp/hwmtm.c void init_driver_fplus(struct s_smc *smc) smc 307 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.mdr2init = FM_LSB | FM_BMMODE | FM_ENNPRQ | FM_ENHSRQ | 3 ; smc 310 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.mdr2init |= FM_CHKPAR | FM_PARITY ; smc 312 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.mdr3init = FM_MENRQAUNLCK | FM_MENRS ; smc 316 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.frselreg_init = FM_ENXMTADSWAP | FM_ENRCVADSWAP ; smc 320 drivers/net/fddi/skfp/hwmtm.c static u_long init_descr_ring(struct s_smc *smc, smc 335 drivers/net/fddi/skfp/hwmtm.c phys = mac_drv_virt2phys(smc,(void *)d1) ; smc 341 drivers/net/fddi/skfp/hwmtm.c phys = mac_drv_virt2phys(smc,(void *)start) ; smc 351 drivers/net/fddi/skfp/hwmtm.c static void init_txd_ring(struct s_smc *smc) smc 360 drivers/net/fddi/skfp/hwmtm.c ds = (struct s_smt_fp_txd volatile *) ((char *)smc->os.hwm.descr_p + smc 362 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[QUEUE_A0] ; smc 364 drivers/net/fddi/skfp/hwmtm.c (void)init_descr_ring(smc,(union s_fp_descr volatile *)ds, smc 376 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[QUEUE_S] ; smc 378 drivers/net/fddi/skfp/hwmtm.c (void)init_descr_ring(smc,(union s_fp_descr volatile *)ds, smc 388 drivers/net/fddi/skfp/hwmtm.c static void init_rxd_ring(struct s_smc *smc) smc 397 drivers/net/fddi/skfp/hwmtm.c ds = (struct s_smt_fp_rxd volatile *) smc->os.hwm.descr_p ; smc 398 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.rx[QUEUE_R1] ; smc 400 drivers/net/fddi/skfp/hwmtm.c (void)init_descr_ring(smc,(union s_fp_descr volatile *)ds, smc 418 drivers/net/fddi/skfp/hwmtm.c void init_fddi_driver(struct s_smc *smc, u_char *mac_addr) smc 423 drivers/net/fddi/skfp/hwmtm.c init_board(smc,mac_addr) ; smc 424 drivers/net/fddi/skfp/hwmtm.c (void)init_fplus(smc) ; smc 430 drivers/net/fddi/skfp/hwmtm.c mb = smc->os.hwm.mbuf_pool.mb_start ; smc 431 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.mbuf_pool.mb_free = (SMbuf *)NULL ; smc 434 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 443 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 453 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.llc_rx_pipe = smc->os.hwm.llc_rx_tail = (SMbuf *)NULL ; smc 454 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.txd_tx_pipe = smc->os.hwm.txd_tx_tail = NULL ; smc 455 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_SMT = smc->os.hwm.pass_NSA = smc->os.hwm.pass_DB = 0 ; smc 456 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_llc_promisc = TRUE ; smc 457 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.queued_rx_frames = smc->os.hwm.queued_txd_mb = 0 ; smc 458 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.detec_count = 0 ; smc 459 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_break = 0 ; smc 460 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_len_error = 0 ; smc 461 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.isr_flag = FALSE ; smc 466 drivers/net/fddi/skfp/hwmtm.c i = 16 - ((long)smc->os.hwm.descr_p & 0xf) ; smc 469 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.descr_p = (union s_fp_descr volatile *) smc 470 drivers/net/fddi/skfp/hwmtm.c ((char *)smc->os.hwm.descr_p+i) ; smc 472 drivers/net/fddi/skfp/hwmtm.c DB_GEN(3, "pt to descr area = %p", smc->os.hwm.descr_p); smc 474 drivers/net/fddi/skfp/hwmtm.c init_txd_ring(smc) ; smc 475 drivers/net/fddi/skfp/hwmtm.c init_rxd_ring(smc) ; smc 476 drivers/net/fddi/skfp/hwmtm.c mac_drv_fill_rxd(smc) ; smc 478 drivers/net/fddi/skfp/hwmtm.c init_plc(smc) ; smc 482 drivers/net/fddi/skfp/hwmtm.c SMbuf *smt_get_mbuf(struct s_smc *smc) smc 487 drivers/net/fddi/skfp/hwmtm.c mb = smc->os.hwm.mbuf_pool.mb_free ; smc 493 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.mbuf_pool.mb_free = mb->sm_next ; smc 504 drivers/net/fddi/skfp/hwmtm.c void smt_free_mbuf(struct s_smc *smc, SMbuf *mb) smc 518 drivers/net/fddi/skfp/hwmtm.c mb->sm_next = smc->os.hwm.mbuf_pool.mb_free ; smc 519 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.mbuf_pool.mb_free = mb ; smc 527 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0003,HWM_E0003_MSG) ; smc 550 drivers/net/fddi/skfp/hwmtm.c void mac_drv_repair_descr(struct s_smc *smc) smc 554 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.hw_state != STOPPED) { smc 556 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0013,HWM_E0013_MSG) ; smc 563 drivers/net/fddi/skfp/hwmtm.c phys = repair_txd_ring(smc,smc->hw.fp.tx[QUEUE_A0]) ; smc 565 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.fp.tx_q[QUEUE_A0].tx_used) { smc 568 drivers/net/fddi/skfp/hwmtm.c phys = repair_txd_ring(smc,smc->hw.fp.tx[QUEUE_S]) ; smc 570 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.fp.tx_q[QUEUE_S].tx_used) { smc 577 drivers/net/fddi/skfp/hwmtm.c phys = repair_rxd_ring(smc,smc->hw.fp.rx[QUEUE_R1]) ; smc 582 drivers/net/fddi/skfp/hwmtm.c static u_long repair_txd_ring(struct s_smc *smc, struct s_smt_tx_queue *queue) smc 590 drivers/net/fddi/skfp/hwmtm.c SK_UNUSED(smc) ; smc 634 drivers/net/fddi/skfp/hwmtm.c static u_long repair_rxd_ring(struct s_smc *smc, struct s_smt_rx_queue *queue) smc 642 drivers/net/fddi/skfp/hwmtm.c SK_UNUSED(smc) ; smc 705 drivers/net/fddi/skfp/hwmtm.c void fddi_isr(struct s_smc *smc) smc 716 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.rx_break) { smc 717 drivers/net/fddi/skfp/hwmtm.c mac_drv_fill_rxd(smc) ; smc 718 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.fp.rx_q[QUEUE_R1].rx_used > 0) { smc 719 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_break = 0 ; smc 720 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 723 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.detec_count = 0 ; smc 724 drivers/net/fddi/skfp/hwmtm.c smt_force_irq(smc) ; smc 728 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.isr_flag = TRUE ; smc 732 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.leave_isr) { smc 733 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.leave_isr = FALSE ; smc 734 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 745 drivers/net/fddi/skfp/hwmtm.c plc1_irq(smc) ; smc 748 drivers/net/fddi/skfp/hwmtm.c plc2_irq(smc) ; smc 754 drivers/net/fddi/skfp/hwmtm.c mac1_irq(smc,stu,stl) ; smc 761 drivers/net/fddi/skfp/hwmtm.c mac2_irq(smc,stu,stl) ; smc 767 drivers/net/fddi/skfp/hwmtm.c mac3_irq(smc,stu,stl) ; smc 770 drivers/net/fddi/skfp/hwmtm.c timer_irq(smc) ; smc 777 drivers/net/fddi/skfp/hwmtm.c if (++smc->os.hwm.detec_count > 4) { smc 781 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 785 drivers/net/fddi/skfp/hwmtm.c rtm_irq(smc) ; smc 790 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0004,HWM_E0004_MSG) ; smc 795 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0005,HWM_E0005_MSG) ; smc 800 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0006,HWM_E0006_MSG) ; smc 805 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0007,HWM_E0007_MSG) ; smc 820 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_txd(smc) ; smc 821 drivers/net/fddi/skfp/hwmtm.c llc_restart_tx(smc) ; smc 832 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 834 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 835 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.leave_isr) { smc 839 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 845 drivers/net/fddi/skfp/hwmtm.c while ((mb = get_llc_rx(smc))) { smc 846 drivers/net/fddi/skfp/hwmtm.c smt_to_llc(smc,mb) ; smc 852 drivers/net/fddi/skfp/hwmtm.c while (!offDepth && (mb = get_llc_rx(smc))) { smc 853 drivers/net/fddi/skfp/hwmtm.c smt_to_llc(smc,mb) ; smc 856 drivers/net/fddi/skfp/hwmtm.c if (!offDepth && smc->os.hwm.rx_break) { smc 857 drivers/net/fddi/skfp/hwmtm.c process_receive(smc) ; smc 860 drivers/net/fddi/skfp/hwmtm.c if (smc->q.ev_get != smc->q.ev_put) { smc 862 drivers/net/fddi/skfp/hwmtm.c ev_dispatcher(smc) ; smc 871 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.leave_isr) { smc 880 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.leave_isr && force_irq) { smc 881 drivers/net/fddi/skfp/hwmtm.c smt_force_irq(smc) ; smc 884 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.isr_flag = FALSE ; smc 988 drivers/net/fddi/skfp/hwmtm.c void mac_drv_rx_mode(struct s_smc *smc, int mode) smc 992 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_SMT = TRUE ; smc 995 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_SMT = FALSE ; smc 998 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_NSA = TRUE ; smc 1001 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_NSA = FALSE ; smc 1004 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_DB = TRUE ; smc 1007 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_DB = FALSE ; smc 1010 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_SMT = smc->os.hwm.pass_NSA = FALSE ; smc 1011 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_DB = FALSE ; smc 1012 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_llc_promisc = TRUE ; smc 1013 drivers/net/fddi/skfp/hwmtm.c mac_set_rx_mode(smc,RX_DISABLE_NSA) ; smc 1016 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_llc_promisc = FALSE ; smc 1019 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.pass_llc_promisc = TRUE ; smc 1028 drivers/net/fddi/skfp/hwmtm.c mac_set_rx_mode(smc,mode) ; smc 1037 drivers/net/fddi/skfp/hwmtm.c void process_receive(struct s_smc *smc) smc 1055 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.detec_count = 0 ; smc 1056 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.rx[QUEUE_R1] ; smc 1064 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.leave_isr) { smc 1070 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_break = 1 ; smc 1073 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_break = 0 ; smc 1076 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.rx_break) { smc 1096 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0009,HWM_E0009_MSG) ; smc 1100 drivers/net/fddi/skfp/hwmtm.c smc->hw.hw_state = STOPPED ; smc 1101 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_rx_queue(smc) ; smc 1102 drivers/net/fddi/skfp/hwmtm.c smc->hw.hw_state = STARTED ; smc 1103 drivers/net/fddi/skfp/hwmtm.c mac_drv_fill_rxd(smc) ; smc 1104 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.detec_count = 0 ; smc 1164 drivers/net/fddi/skfp/hwmtm.c dma_complete(smc,(union s_fp_descr volatile *)r,DMA_WR); smc 1166 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_valid++ ; smc 1167 drivers/net/fddi/skfp/hwmtm.c smc->mib.m[MAC0].fddiMACCopied_Ct++ ; smc 1179 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_abort++ ; smc 1186 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_e_indicator++ ; smc 1190 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_crc++ ; smc 1194 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_imp_frame++ ; smc 1200 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_too_long++ ; smc 1214 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.rx_len_error++ ; smc 1241 drivers/net/fddi/skfp/hwmtm.c if (!smc->os.hwm.pass_llc_promisc) { smc 1259 drivers/net/fddi/skfp/hwmtm.c mac_drv_rx_complete(smc,rxd,frag_count,len) ; smc 1262 drivers/net/fddi/skfp/hwmtm.c if (!(mb = smt_get_mbuf(smc))) { smc 1263 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_no_buf++ ; smc 1292 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_smt_frame++ ; smc 1295 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.pass_SMT) { smc 1297 drivers/net/fddi/skfp/hwmtm.c mac_drv_rx_complete(smc, rxd, smc 1302 drivers/net/fddi/skfp/hwmtm.c mac_drv_requeue_rxd(smc,rxd,frag_count); smc 1305 drivers/net/fddi/skfp/hwmtm.c smt_received_pack(smc,mb,(int)(rfsw>>25)) ; smc 1308 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_smt_frame++ ; smc 1314 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.pass_NSA || smc 1315 drivers/net/fddi/skfp/hwmtm.c (smc->os.hwm.pass_SMT && smc 1318 drivers/net/fddi/skfp/hwmtm.c mac_drv_rx_complete(smc, rxd, smc 1323 drivers/net/fddi/skfp/hwmtm.c mac_drv_requeue_rxd(smc,rxd,frag_count); smc 1326 drivers/net/fddi/skfp/hwmtm.c smt_received_pack(smc,mb,(int)(rfsw>>25)) ; smc 1329 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.pass_DB) { smc 1331 drivers/net/fddi/skfp/hwmtm.c mac_drv_rx_complete(smc, rxd, smc 1336 drivers/net/fddi/skfp/hwmtm.c mac_drv_requeue_rxd(smc,rxd,frag_count); smc 1338 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 1345 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 1347 drivers/net/fddi/skfp/hwmtm.c mac_drv_requeue_rxd(smc,rxd,frag_count) ; smc 1349 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_mac_frame++ ; smc 1351 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_imp_frame++ ; smc 1364 drivers/net/fddi/skfp/hwmtm.c mac_drv_requeue_rxd(smc,rxd,frag_count) ; smc 1371 drivers/net/fddi/skfp/hwmtm.c mac_drv_all_receives_complete(smc) ; smc 1376 drivers/net/fddi/skfp/hwmtm.c static void smt_to_llc(struct s_smc *smc, SMbuf *mb) smc 1381 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.r.len = mb->sm_len ; smc 1382 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.r.mb_pos = smtod(mb,char *) ; smc 1383 drivers/net/fddi/skfp/hwmtm.c fc = *smc->os.hwm.r.mb_pos ; smc 1384 drivers/net/fddi/skfp/hwmtm.c (void)mac_drv_rx_init(smc,(int)mb->sm_len,(int)fc, smc 1385 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.r.mb_pos,(int)mb->sm_len) ; smc 1386 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 1411 drivers/net/fddi/skfp/hwmtm.c void hwm_rx_frag(struct s_smc *smc, char far *virt, u_long phys, int len, smc 1419 drivers/net/fddi/skfp/hwmtm.c r = smc->hw.fp.rx_q[QUEUE_R1].rx_curr_put ; smc 1430 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.rx_q[QUEUE_R1].rx_free-- ; smc 1431 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.rx_q[QUEUE_R1].rx_used++ ; smc 1432 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.rx_q[QUEUE_R1].rx_curr_put = r->rxd_next ; smc 1459 drivers/net/fddi/skfp/hwmtm.c void mac_drv_clear_rx_queue(struct s_smc *smc) smc 1467 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.hw_state != STOPPED) { smc 1469 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0012,HWM_E0012_MSG) ; smc 1473 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.rx[QUEUE_R1] ; smc 1502 drivers/net/fddi/skfp/hwmtm.c dma_complete(smc,(union s_fp_descr volatile *)r,DMA_WR); smc 1507 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_rxd(smc,queue->rx_curr_get,frag_count) ; smc 1546 drivers/net/fddi/skfp/hwmtm.c int hwm_tx_init(struct s_smc *smc, u_char fc, int frag_count, int frame_len, smc 1550 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_p = smc->hw.fp.tx[frame_status & QUEUE_A0] ; smc 1551 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_descr = TX_DESCRIPTOR | (((u_long)(frame_len-1)&3)<<27) ; smc 1552 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_len = frame_len ; smc 1570 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0010,HWM_E0010_MSG) ; smc 1573 drivers/net/fddi/skfp/hwmtm.c if (!smc->hw.mac_ring_is_up) { smc 1578 drivers/net/fddi/skfp/hwmtm.c if (frag_count > smc->os.hwm.tx_p->tx_free) { smc 1580 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_txd(smc) ; smc 1581 drivers/net/fddi/skfp/hwmtm.c if (frag_count > smc->os.hwm.tx_p->tx_free) { smc 1593 drivers/net/fddi/skfp/hwmtm.c NDD_TRACE("THiE",frame_status,smc->os.hwm.tx_p->tx_free,0) ; smc 1624 drivers/net/fddi/skfp/hwmtm.c void hwm_tx_frag(struct s_smc *smc, char far *virt, u_long phys, int len, smc 1631 drivers/net/fddi/skfp/hwmtm.c queue = smc->os.hwm.tx_p ; smc 1646 drivers/net/fddi/skfp/hwmtm.c t->txd_txdscr = cpu_to_le32(smc->os.hwm.tx_descr) ; smc 1669 drivers/net/fddi/skfp/hwmtm.c smc->mib.m[MAC0].fddiMACTransmit_Ct++ ; smc 1675 drivers/net/fddi/skfp/hwmtm.c if(!(smc->os.hwm.tx_mb = smt_get_mbuf(smc))) { smc 1676 drivers/net/fddi/skfp/hwmtm.c smc->hw.fp.err_stats.err_no_buf++ ; smc 1680 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_data = smc 1681 drivers/net/fddi/skfp/hwmtm.c smtod(smc->os.hwm.tx_mb,char *) - 1 ; smc 1684 drivers/net/fddi/skfp/hwmtm.c hwm_cpy_txd2mb(t,smc->os.hwm.tx_data, smc 1685 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_len) ; smc 1690 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.tx_mb) { smc 1693 drivers/net/fddi/skfp/hwmtm.c memcpy(smc->os.hwm.tx_data,virt,len) ; smc 1694 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_data += len ; smc 1706 drivers/net/fddi/skfp/hwmtm.c hwm_cpy_txd2mb(t,smc->os.hwm.tx_data, smc 1707 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_len) ; smc 1710 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_data = smc 1711 drivers/net/fddi/skfp/hwmtm.c smtod(smc->os.hwm.tx_mb,char *) - 1 ; smc 1712 drivers/net/fddi/skfp/hwmtm.c *(char *)smc->os.hwm.tx_mb->sm_data = smc 1713 drivers/net/fddi/skfp/hwmtm.c *smc->os.hwm.tx_data ; smc 1714 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_data++ ; smc 1715 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_mb->sm_len = smc 1716 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.tx_len - 1 ; smc 1718 drivers/net/fddi/skfp/hwmtm.c smt_received_pack(smc,smc->os.hwm.tx_mb, smc 1730 drivers/net/fddi/skfp/hwmtm.c static void queue_llc_rx(struct s_smc *smc, SMbuf *mb) smc 1733 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.queued_rx_frames++ ; smc 1735 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.llc_rx_pipe == NULL) { smc 1736 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.llc_rx_pipe = mb ; smc 1739 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.llc_rx_tail->sm_next = mb ; smc 1741 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.llc_rx_tail = mb ; smc 1746 drivers/net/fddi/skfp/hwmtm.c if (!smc->os.hwm.isr_flag) { smc 1747 drivers/net/fddi/skfp/hwmtm.c smt_force_irq(smc) ; smc 1754 drivers/net/fddi/skfp/hwmtm.c static SMbuf *get_llc_rx(struct s_smc *smc) smc 1758 drivers/net/fddi/skfp/hwmtm.c if ((mb = smc->os.hwm.llc_rx_pipe)) { smc 1759 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.queued_rx_frames-- ; smc 1760 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.llc_rx_pipe = mb->sm_next ; smc 1770 drivers/net/fddi/skfp/hwmtm.c static void queue_txd_mb(struct s_smc *smc, SMbuf *mb) smc 1773 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.queued_txd_mb++ ; smc 1775 drivers/net/fddi/skfp/hwmtm.c if (smc->os.hwm.txd_tx_pipe == NULL) { smc 1776 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.txd_tx_pipe = mb ; smc 1779 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.txd_tx_tail->sm_next = mb ; smc 1781 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.txd_tx_tail = mb ; smc 1787 drivers/net/fddi/skfp/hwmtm.c static SMbuf *get_txd_mb(struct s_smc *smc) smc 1791 drivers/net/fddi/skfp/hwmtm.c if ((mb = smc->os.hwm.txd_tx_pipe)) { smc 1792 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.queued_txd_mb-- ; smc 1793 drivers/net/fddi/skfp/hwmtm.c smc->os.hwm.txd_tx_pipe = mb->sm_next ; smc 1802 drivers/net/fddi/skfp/hwmtm.c void smt_send_mbuf(struct s_smc *smc, SMbuf *mb, int fc) smc 1848 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[QUEUE_A0] ; smc 1854 drivers/net/fddi/skfp/hwmtm.c if ((smc->os.hwm.pass_NSA &&(fc == FC_SMT_NSA)) || smc 1855 drivers/net/fddi/skfp/hwmtm.c (smc->os.hwm.pass_SMT &&(fc == FC_SMT_INFO))) smc 1859 drivers/net/fddi/skfp/hwmtm.c if (!smc->hw.mac_ring_is_up || frag_count > queue->tx_free) { smc 1866 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 1887 drivers/net/fddi/skfp/hwmtm.c phys = dma_master(smc, (void far *)virt[i], smc 1906 drivers/net/fddi/skfp/hwmtm.c smc->mib.m[MAC0].fddiMACTransmit_Ct++ ; smc 1907 drivers/net/fddi/skfp/hwmtm.c queue_txd_mb(smc,mb) ; smc 1912 drivers/net/fddi/skfp/hwmtm.c queue_llc_rx(smc,mb) ; smc 1919 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_txd(smc) ; smc 1937 drivers/net/fddi/skfp/hwmtm.c static void mac_drv_clear_txd(struct s_smc *smc) smc 1950 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[i] ; smc 1973 drivers/net/fddi/skfp/hwmtm.c dma_complete(smc, smc 1982 drivers/net/fddi/skfp/hwmtm.c mb = get_txd_mb(smc) ; smc 1983 drivers/net/fddi/skfp/hwmtm.c smt_free_mbuf(smc,mb) ; smc 1988 drivers/net/fddi/skfp/hwmtm.c mac_drv_tx_complete(smc,t2) ; smc 1992 drivers/net/fddi/skfp/hwmtm.c mac_drv_tx_complete(smc,queue->tx_curr_get) ; smc 2027 drivers/net/fddi/skfp/hwmtm.c void mac_drv_clear_tx_queue(struct s_smc *smc) smc 2034 drivers/net/fddi/skfp/hwmtm.c if (smc->hw.hw_state != STOPPED) { smc 2036 drivers/net/fddi/skfp/hwmtm.c SMT_PANIC(smc,HWM_E0011,HWM_E0011_MSG) ; smc 2041 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[i] ; smc 2062 drivers/net/fddi/skfp/hwmtm.c mac_drv_clear_txd(smc) ; smc 2065 drivers/net/fddi/skfp/hwmtm.c queue = smc->hw.fp.tx[i] ; smc 2119 drivers/net/fddi/skfp/hwmtm.c void mac_drv_debug_lev(struct s_smc *smc, int flag, int lev) smc 59 drivers/net/fddi/skfp/hwt.c void hwt_start(struct s_smc *smc, u_long time) smc 66 drivers/net/fddi/skfp/hwt.c smc->hw.t_start = time ; smc 67 drivers/net/fddi/skfp/hwt.c smc->hw.t_stop = 0L ; smc 80 drivers/net/fddi/skfp/hwt.c smc->hw.timer_activ = TRUE ; smc 97 drivers/net/fddi/skfp/hwt.c void hwt_stop(struct s_smc *smc) smc 102 drivers/net/fddi/skfp/hwt.c smc->hw.timer_activ = FALSE ; smc 119 drivers/net/fddi/skfp/hwt.c void hwt_init(struct s_smc *smc) smc 121 drivers/net/fddi/skfp/hwt.c smc->hw.t_start = 0 ; smc 122 drivers/net/fddi/skfp/hwt.c smc->hw.t_stop = 0 ; smc 123 drivers/net/fddi/skfp/hwt.c smc->hw.timer_activ = FALSE ; smc 125 drivers/net/fddi/skfp/hwt.c hwt_restart(smc) ; smc 142 drivers/net/fddi/skfp/hwt.c void hwt_restart(struct s_smc *smc) smc 144 drivers/net/fddi/skfp/hwt.c hwt_stop(smc) ; smc 160 drivers/net/fddi/skfp/hwt.c u_long hwt_read(struct s_smc *smc) smc 165 drivers/net/fddi/skfp/hwt.c if (smc->hw.timer_activ) { smc 166 drivers/net/fddi/skfp/hwt.c hwt_stop(smc) ; smc 171 drivers/net/fddi/skfp/hwt.c if ((tr > smc->hw.t_start) || (is & IS_TIMINT)) { smc 172 drivers/net/fddi/skfp/hwt.c hwt_restart(smc) ; smc 173 drivers/net/fddi/skfp/hwt.c smc->hw.t_stop = smc->hw.t_start ; smc 176 drivers/net/fddi/skfp/hwt.c smc->hw.t_stop = smc->hw.t_start - tr ; smc 178 drivers/net/fddi/skfp/hwt.c return smc->hw.t_stop; smc 195 drivers/net/fddi/skfp/hwt.c u_long hwt_quick_read(struct s_smc *smc) smc 223 drivers/net/fddi/skfp/hwt.c void hwt_wait_time(struct s_smc *smc, u_long start, long int duration) smc 232 drivers/net/fddi/skfp/hwt.c if (smc->hw.timer_activ == FALSE || smc 233 drivers/net/fddi/skfp/hwt.c hwt_quick_read(smc) == hwt_quick_read(smc)) { smc 240 drivers/net/fddi/skfp/hwt.c diff = (long)(start - hwt_quick_read(smc)) ; smc 251 drivers/net/fddi/skfp/hwt.c if (hwt_quick_read(smc) >= start) { smc 257 drivers/net/fddi/skfp/hwt.c if (hwt_quick_read(smc) < start) { smc 55 drivers/net/fddi/skfp/pcmplc.c struct s_smc * smc, int type, int index smc 62 drivers/net/fddi/skfp/pcmplc.c struct s_smc *smc , smc 195 drivers/net/fddi/skfp/pcmplc.c static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd); smc 196 drivers/net/fddi/skfp/pcmplc.c static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy); smc 197 drivers/net/fddi/skfp/pcmplc.c static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy); smc 199 drivers/net/fddi/skfp/pcmplc.c static void plc_init(struct s_smc *smc, int p); smc 200 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_lem_start(struct s_smc *smc, int np, int threshold); smc 201 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_lem_stop(struct s_smc *smc, int np); smc 202 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_linestate(struct s_smc *smc, int phy, int ls); smc 203 drivers/net/fddi/skfp/pcmplc.c static void real_init_plc(struct s_smc *smc); smc 209 drivers/net/fddi/skfp/pcmplc.c static void start_pcm_timer0(struct s_smc *smc, u_long value, int event, smc 213 drivers/net/fddi/skfp/pcmplc.c smt_timer_start(smc,&phy->pcm_timer0,value, smc 220 drivers/net/fddi/skfp/pcmplc.c static void stop_pcm_timer0(struct s_smc *smc, struct s_phy *phy) smc 223 drivers/net/fddi/skfp/pcmplc.c smt_timer_stop(smc,&phy->pcm_timer0) ; smc 230 drivers/net/fddi/skfp/pcmplc.c void pcm_init(struct s_smc *smc) smc 237 drivers/net/fddi/skfp/pcmplc.c for (np = 0,phy = smc->y ; np < NUMPHYS ; np++,phy++) { smc 242 drivers/net/fddi/skfp/pcmplc.c switch (smc->s.sas) { smc 260 drivers/net/fddi/skfp/pcmplc.c smc->y[PA].mib->fddiPORTPCMState = PC0_OFF ; smc 262 drivers/net/fddi/skfp/pcmplc.c smc->y[PB].mib->fddiPORTPCMState = PC0_OFF ; smc 391 drivers/net/fddi/skfp/pcmplc.c real_init_plc(smc) ; smc 394 drivers/net/fddi/skfp/pcmplc.c void init_plc(struct s_smc *smc) smc 396 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 407 drivers/net/fddi/skfp/pcmplc.c static void real_init_plc(struct s_smc *smc) smc 412 drivers/net/fddi/skfp/pcmplc.c plc_init(smc,p) ; smc 415 drivers/net/fddi/skfp/pcmplc.c static void plc_init(struct s_smc *smc, int p) smc 435 drivers/net/fddi/skfp/pcmplc.c if (smc->y[p].pmd_scramble) { smc 458 drivers/net/fddi/skfp/pcmplc.c plc_clear_irq(smc,p) ; smc 469 drivers/net/fddi/skfp/pcmplc.c if ((smc->s.sas == SMT_SAS) && (p == PS)) { smc 478 drivers/net/fddi/skfp/pcmplc.c static void plc_go_state(struct s_smc *smc, int p, int state) smc 483 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 494 drivers/net/fddi/skfp/pcmplc.c int sm_pm_get_ls(struct s_smc *smc, int phy) smc 499 drivers/net/fddi/skfp/pcmplc.c if (!plc_is_installed(smc,phy)) smc 527 drivers/net/fddi/skfp/pcmplc.c static int plc_send_bits(struct s_smc *smc, struct s_phy *phy, int len) smc 533 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 551 drivers/net/fddi/skfp/pcmplc.c if (smc->debug.d_plc & 0x80) smc 564 drivers/net/fddi/skfp/pcmplc.c void plc_config_mux(struct s_smc *smc, int mux) smc 566 drivers/net/fddi/skfp/pcmplc.c if (smc->s.sas != SMT_DAS) smc 588 drivers/net/fddi/skfp/pcmplc.c void pcm(struct s_smc *smc, const int np, int event) smc 599 drivers/net/fddi/skfp/pcmplc.c if ((np != PS) && (smc->s.sas == SMT_SAS)) smc 602 drivers/net/fddi/skfp/pcmplc.c phy = &smc->y[np] ; smc 612 drivers/net/fddi/skfp/pcmplc.c pcm_fsm(smc,phy,event) ; smc 632 drivers/net/fddi/skfp/pcmplc.c smt_srf_event(smc,SMT_EVENT_PORT_PATH_CHANGE, smc 645 drivers/net/fddi/skfp/pcmplc.c snmp_fddi_trap (smc, 1, (int) mib->fddiPORTIndex ); smc 648 drivers/net/fddi/skfp/pcmplc.c snmp_fddi_trap (smc, 2, (int) mib->fddiPORTIndex ); smc 652 drivers/net/fddi/skfp/pcmplc.c snmp_fddi_trap (smc, 3, (int) mib->fddiPORTIndex ); smc 655 drivers/net/fddi/skfp/pcmplc.c snmp_fddi_trap (smc, 4, (int) mib->fddiPORTIndex ); smc 660 drivers/net/fddi/skfp/pcmplc.c pcm_state_change(smc,np,state) ; smc 666 drivers/net/fddi/skfp/pcmplc.c static void pcm_fsm(struct s_smc *smc, struct s_phy *phy, int cmd) smc 687 drivers/net/fddi/skfp/pcmplc.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 689 drivers/net/fddi/skfp/pcmplc.c smt_get_port_event_word(smc)); smc 700 drivers/net/fddi/skfp/pcmplc.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 702 drivers/net/fddi/skfp/pcmplc.c smt_get_port_event_word(smc)); smc 706 drivers/net/fddi/skfp/pcmplc.c stop_pcm_timer0(smc,phy) ; smc 714 drivers/net/fddi/skfp/pcmplc.c stop_pcm_timer0(smc,phy) ; smc 718 drivers/net/fddi/skfp/pcmplc.c sm_ph_lem_stop(smc,np) ; /* disable LEM */ smc 721 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_CFM,CF_JOIN+np) ; smc 722 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_STOP) ; smc 735 drivers/net/fddi/skfp/pcmplc.c stop_pcm_timer0(smc,phy) ; smc 737 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,0) ; smc 740 drivers/net/fddi/skfp/pcmplc.c sm_ph_lem_stop(smc,np) ; /* disable LEM */ smc 746 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_STOP) ; smc 753 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_STOP) ; smc 759 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_CFM,CF_JOIN+np) ; smc 764 drivers/net/fddi/skfp/pcmplc.c pc_tcode_actions(smc,i,phy) ; smc 786 drivers/net/fddi/skfp/pcmplc.c if (plc_send_bits(smc,phy,3)) { smc 806 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_START) ; smc 823 drivers/net/fddi/skfp/pcmplc.c (void) plc_send_bits(smc,phy,3) ; smc 838 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_TRACE) ; smc 857 drivers/net/fddi/skfp/pcmplc.c pc_rcode_actions(smc,i,phy) ; smc 858 drivers/net/fddi/skfp/pcmplc.c pc_tcode_actions(smc,3,phy) ; smc 863 drivers/net/fddi/skfp/pcmplc.c if (plc_send_bits(smc,phy,1)) { smc 868 drivers/net/fddi/skfp/pcmplc.c pc_rcode_actions(smc,3,phy) ; smc 870 drivers/net/fddi/skfp/pcmplc.c pc_tcode_actions(smc,i,phy) ; smc 875 drivers/net/fddi/skfp/pcmplc.c if (plc_send_bits(smc,phy,3)) { smc 881 drivers/net/fddi/skfp/pcmplc.c pc_rcode_actions(smc,i,phy) ; smc 886 drivers/net/fddi/skfp/pcmplc.c sm_ph_lem_start(smc,np,(int)smc->s.lct_short) ; /* enable LEM */ smc 894 drivers/net/fddi/skfp/pcmplc.c pc_tcode_actions(smc,7,phy) ; smc 902 drivers/net/fddi/skfp/pcmplc.c if (plc_send_bits(smc,phy,1)) { smc 908 drivers/net/fddi/skfp/pcmplc.c pc_rcode_actions(smc,7,phy) ; smc 910 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_STOP) ; smc 915 drivers/net/fddi/skfp/pcmplc.c pc_tcode_actions(smc,i,phy) ; smc 920 drivers/net/fddi/skfp/pcmplc.c if (plc_send_bits(smc,phy,2)) { smc 926 drivers/net/fddi/skfp/pcmplc.c pc_rcode_actions(smc,i,phy) ; smc 937 drivers/net/fddi/skfp/pcmplc.c if (smc->s.sas == SMT_DAS && np == PB && smc 938 drivers/net/fddi/skfp/pcmplc.c (smc->y[PA].pc_mode == PM_TREE || smc 939 drivers/net/fddi/skfp/pcmplc.c smc->y[PB].pc_mode == PM_TREE)) { smc 956 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_CFM,CF_JOIN+np) ; smc 976 drivers/net/fddi/skfp/pcmplc.c sm_ph_lem_start(smc,(int)phy->np,LCT_LEM_MAX) ; smc 997 drivers/net/fddi/skfp/pcmplc.c stop_pcm_timer0(smc,phy) ; smc 1001 drivers/net/fddi/skfp/pcmplc.c sm_ph_lem_stop(smc,np) ; /* disable LEM */ smc 1004 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_CFM,CF_JOIN+np) ; smc 1005 drivers/net/fddi/skfp/pcmplc.c plc_go_state(smc,np,PL_PCM_STOP) ; smc 1008 drivers/net/fddi/skfp/pcmplc.c sm_ph_linestate(smc,np,(int) MIB2LS(mib->fddiPORTMaint_LS)) ; smc 1022 drivers/net/fddi/skfp/pcmplc.c SMT_PANIC(smc,SMT_E0118, SMT_E0118_MSG) ; smc 1030 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_linestate(struct s_smc *smc, int phy, int ls) smc 1034 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 1070 drivers/net/fddi/skfp/pcmplc.c static void lem_evaluate(struct s_smc *smc, struct s_phy *phy) smc 1136 drivers/net/fddi/skfp/pcmplc.c smt_ler_alarm_check(smc,phy,cond) ; smc 1139 drivers/net/fddi/skfp/pcmplc.c smt_srf_event(smc,SMT_COND_PORT_LER, smc 1159 drivers/net/fddi/skfp/pcmplc.c smt_port_off_event(smc,phy->np); smc 1161 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ; smc 1169 drivers/net/fddi/skfp/pcmplc.c void sm_lem_evaluate(struct s_smc *smc) smc 1174 drivers/net/fddi/skfp/pcmplc.c lem_evaluate(smc,&smc->y[np]) ; smc 1177 drivers/net/fddi/skfp/pcmplc.c static void lem_check_lct(struct s_smc *smc, struct s_phy *phy) smc 1192 drivers/net/fddi/skfp/pcmplc.c if (lem->lem_errors >= smc->s.lct_short) smc 1196 drivers/net/fddi/skfp/pcmplc.c if (lem->lem_errors >= smc->s.lct_medium) smc 1200 drivers/net/fddi/skfp/pcmplc.c if (lem->lem_errors >= smc->s.lct_long) smc 1204 drivers/net/fddi/skfp/pcmplc.c if (lem->lem_errors >= smc->s.lct_extended) smc 1221 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_lem_start(struct s_smc *smc, int np, int threshold) smc 1223 drivers/net/fddi/skfp/pcmplc.c struct lem_counter *lem = &smc->y[np].lem ; smc 1239 drivers/net/fddi/skfp/pcmplc.c static void sm_ph_lem_stop(struct s_smc *smc, int np) smc 1241 drivers/net/fddi/skfp/pcmplc.c struct lem_counter *lem = &smc->y[np].lem ; smc 1256 drivers/net/fddi/skfp/pcmplc.c static void pc_rcode_actions(struct s_smc *smc, int bit, struct s_phy *phy) smc 1286 drivers/net/fddi/skfp/pcmplc.c RS_SET(smc,RS_EVENT) ; smc 1297 drivers/net/fddi/skfp/pcmplc.c all_selection_criteria (smc); smc 1305 drivers/net/fddi/skfp/pcmplc.c RS_SET(smc,RS_EVENT) ; smc 1335 drivers/net/fddi/skfp/pcmplc.c phy->t_next[7] = smc->s.pcm_lc_short ; smc 1339 drivers/net/fddi/skfp/pcmplc.c phy->t_next[7] = smc->s.pcm_lc_medium ; smc 1343 drivers/net/fddi/skfp/pcmplc.c phy->t_next[7] = smc->s.pcm_lc_long ; smc 1347 drivers/net/fddi/skfp/pcmplc.c phy->t_next[7] = smc->s.pcm_lc_extended ; smc 1350 drivers/net/fddi/skfp/pcmplc.c if (phy->t_next[7] > smc->s.pcm_lc_medium) { smc 1351 drivers/net/fddi/skfp/pcmplc.c start_pcm_timer0(smc,phy->t_next[7],PC_TIMEOUT_LCT,phy); smc 1354 drivers/net/fddi/skfp/pcmplc.c phy->t_next[9] = smc->s.pcm_t_next_9 ; smc 1367 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,(int)(EVENT_PCM+phy->np),PC_START) ; smc 1393 drivers/net/fddi/skfp/pcmplc.c static void pc_tcode_actions(struct s_smc *smc, const int bit, struct s_phy *phy) smc 1423 drivers/net/fddi/skfp/pcmplc.c policy = smc->mib.fddiSMTConnectionPolicy ; smc 1470 drivers/net/fddi/skfp/pcmplc.c smt_srf_event(smc,SMT_EVENT_PORT_CONNECTION, smc 1513 drivers/net/fddi/skfp/pcmplc.c lem_check_lct(smc,phy) ; smc 1527 drivers/net/fddi/skfp/pcmplc.c ((smc->s.sas == SMT_DAS) && (phy->wc_flag))) { smc 1528 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_PCM+np,PC_START) ; smc 1532 drivers/net/fddi/skfp/pcmplc.c switch (smc->s.sas) { smc 1539 drivers/net/fddi/skfp/pcmplc.c (smc->y[PB].mib->fddiPORTConnectState != smc 1571 drivers/net/fddi/skfp/pcmplc.c int pcm_status_twisted(struct s_smc *smc) smc 1574 drivers/net/fddi/skfp/pcmplc.c if (smc->s.sas != SMT_DAS) smc 1576 drivers/net/fddi/skfp/pcmplc.c if (smc->y[PA].twisted && (smc->y[PA].mib->fddiPORTPCMState == PC8_ACTIVE)) smc 1578 drivers/net/fddi/skfp/pcmplc.c if (smc->y[PB].twisted && (smc->y[PB].mib->fddiPORTPCMState == PC8_ACTIVE)) smc 1590 drivers/net/fddi/skfp/pcmplc.c void pcm_status_state(struct s_smc *smc, int np, int *type, int *state, smc 1593 drivers/net/fddi/skfp/pcmplc.c struct s_phy *phy = &smc->y[np] ; smc 1614 drivers/net/fddi/skfp/pcmplc.c int pcm_rooted_station(struct s_smc *smc) smc 1619 drivers/net/fddi/skfp/pcmplc.c if (smc->y[n].mib->fddiPORTPCMState == PC8_ACTIVE && smc 1620 drivers/net/fddi/skfp/pcmplc.c smc->y[n].mib->fddiPORTNeighborType == TM) smc 1629 drivers/net/fddi/skfp/pcmplc.c void plc_irq(struct s_smc *smc, int np, unsigned int cmd) smc 1632 drivers/net/fddi/skfp/pcmplc.c struct s_phy *phy = &smc->y[np] ; smc 1640 drivers/net/fddi/skfp/pcmplc.c if (np >= smc->s.numphys) { smc 1688 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_ECM,EC_DISCONNECT) ; smc 1693 drivers/net/fddi/skfp/pcmplc.c SMT_ERR_LOG(smc,SMT_E0136, SMT_E0136_MSG) ; smc 1698 drivers/net/fddi/skfp/pcmplc.c drv_reset_indication(smc) ; smc 1768 drivers/net/fddi/skfp/pcmplc.c DB_PCMN(1, "PLC %d: MDcF = %x", np, smc->e.DisconnectFlag); smc 1769 drivers/net/fddi/skfp/pcmplc.c if (smc->e.DisconnectFlag == FALSE) { smc 1771 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_PCM+np,PC_START) ; smc 1783 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_PCM+np,PC_SIGNAL) ; smc 1791 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_PCM+np,PC_JOIN) ; smc 1797 drivers/net/fddi/skfp/pcmplc.c np, smc->mib.fddiSMTECMState); smc 1799 drivers/net/fddi/skfp/pcmplc.c smc->e.trace_prop |= ENTITY_BIT(ENTITY_PHY(np)) ; smc 1800 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_ECM,EC_TRACE_PROP) ; smc 1809 drivers/net/fddi/skfp/pcmplc.c if (smc->e.path_test == PT_PASSED) { smc 1811 drivers/net/fddi/skfp/pcmplc.c get_pcmstate(smc, np), smc 1814 drivers/net/fddi/skfp/pcmplc.c smc->e.path_test = PT_PENDING ; smc 1815 drivers/net/fddi/skfp/pcmplc.c queue_event(smc,EVENT_ECM,EC_PATH_TEST) ; smc 1824 drivers/net/fddi/skfp/pcmplc.c queue_event(smc, EVENT_PCM + np, PC_START); smc 1850 drivers/net/fddi/skfp/pcmplc.c void pcm_get_state(struct s_smc *smc, struct smt_state *state) smc 1860 drivers/net/fddi/skfp/pcmplc.c for (i = 0, phy = smc->y, pcs = state->pcm_state ; i < NUMPHYS ; smc 1870 drivers/net/fddi/skfp/pcmplc.c pcs->pcm_ls_rx = LS2MIB(sm_pm_get_ls(smc,i)) ; smc 1884 drivers/net/fddi/skfp/pcmplc.c int get_pcm_state(struct s_smc *smc, int np) smc 1888 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 1906 drivers/net/fddi/skfp/pcmplc.c char *get_linestate(struct s_smc *smc, int np) smc 1910 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 1928 drivers/net/fddi/skfp/pcmplc.c char *get_pcmstate(struct s_smc *smc, int np) smc 1932 drivers/net/fddi/skfp/pcmplc.c SK_UNUSED(smc) ; smc 1950 drivers/net/fddi/skfp/pcmplc.c void list_phy(struct s_smc *smc) smc 1956 drivers/net/fddi/skfp/pcmplc.c plc = &smc->y[np].plc ; smc 1961 drivers/net/fddi/skfp/pcmplc.c plc->parity_err,plc->b_tpc,get_linestate(smc,np)) ; smc 1965 drivers/net/fddi/skfp/pcmplc.c plc->phyinv,plc->b_qls,get_pcmstate(smc,np)) ; smc 1972 drivers/net/fddi/skfp/pcmplc.c printf("\tLEM_err : %ld\n",smc->y[np].lem.lem_errors) ; smc 1978 drivers/net/fddi/skfp/pcmplc.c void pcm_lem_dump(struct s_smc *smc) smc 1988 drivers/net/fddi/skfp/pcmplc.c for (i = 0,phy = smc->y ; i < NUMPHYS ; i++,phy++) { smc 1989 drivers/net/fddi/skfp/pcmplc.c if (!plc_is_installed(smc,i)) smc 1993 drivers/net/fddi/skfp/pcmplc.c entostring(smc,ENTITY_PHY(i)), smc 31 drivers/net/fddi/skfp/pmf.c static int smt_authorize(struct s_smc *smc, struct smt_header *sm); smc 32 drivers/net/fddi/skfp/pmf.c static int smt_check_set_count(struct s_smc *smc, struct smt_header *sm); smc 34 drivers/net/fddi/skfp/pmf.c static int smt_mib_phys(struct s_smc *smc); smc 35 drivers/net/fddi/skfp/pmf.c static int smt_set_para(struct s_smc *smc, struct smt_para *pa, int index, smc 37 drivers/net/fddi/skfp/pmf.c void smt_add_para(struct s_smc *smc, struct s_pcon *pcon, u_short para, smc 39 drivers/net/fddi/skfp/pmf.c static SMbuf *smt_build_pmf_response(struct s_smc *smc, struct smt_header *req, smc 41 drivers/net/fddi/skfp/pmf.c static int port_to_mib(struct s_smc *smc, int p); smc 277 drivers/net/fddi/skfp/pmf.c void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local) smc 285 drivers/net/fddi/skfp/pmf.c dump_smt(smc,sm,"PMF Received") ; smc 291 drivers/net/fddi/skfp/pmf.c smt_start_watchdog(smc) ; smc 295 drivers/net/fddi/skfp/pmf.c reply = smt_build_pmf_response(smc,sm, smc 300 drivers/net/fddi/skfp/pmf.c dump_smt(smc,sm,"PMF Reply") ; smc 302 drivers/net/fddi/skfp/pmf.c smt_send_frame(smc,reply,FC_SMT_INFO,local) ; smc 307 drivers/net/fddi/skfp/pmf.c static SMbuf *smt_build_pmf_response(struct s_smc *smc, struct smt_header *req, smc 326 drivers/net/fddi/skfp/pmf.c if (!(mb = smt_get_mbuf(smc))) smc 351 drivers/net/fddi/skfp/pmf.c if (!local && smt_authorize(smc,req)) smc 353 drivers/net/fddi/skfp/pmf.c else if (smt_check_set_count(smc,req)) smc 360 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,(u_short) SMT_P_REASON,0,0) ; smc 361 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,(u_short) SMT_P1033,0,0) ; smc 364 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,(u_short) SMT_P1035,0,0) ; smc 365 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,(u_short) SMT_P1036,0,0) ; smc 404 drivers/net/fddi/skfp/pmf.c if (smc->s.sas == SMT_SAS) smc 432 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,pt->p_num, smc 446 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,pa->p_type, smc 450 drivers/net/fddi/skfp/pmf.c st = smt_set_para(smc,pa,index,local,1); smc 454 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,pa->p_type, smc 463 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&pcon,pa->p_type, smc 486 drivers/net/fddi/skfp/pmf.c smc->mib.fddiSMTSetCount.count++ ; smc 487 drivers/net/fddi/skfp/pmf.c smt_set_timestamp(smc,smc->mib.fddiSMTSetCount.timestamp) ; smc 488 drivers/net/fddi/skfp/pmf.c smc->mib.fddiSMTLastSetStationId = req->smt_sid ; smc 489 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&set_pcon,(u_short) SMT_P1035,0,0) ; smc 490 drivers/net/fddi/skfp/pmf.c smt_add_para(smc,&set_pcon,(u_short) SMT_P1036,0,0) ; smc 495 drivers/net/fddi/skfp/pmf.c static int smt_authorize(struct s_smc *smc, struct smt_header *sm) smc 504 drivers/net/fddi/skfp/pmf.c p = (char *) &smc->mib.fddiPRPMFStation ; smc 509 drivers/net/fddi/skfp/pmf.c (char *) &smc->mib.fddiPRPMFStation,8)) smc 515 drivers/net/fddi/skfp/pmf.c p = (char *) smc->mib.fddiPRPMFPasswd ; smc 519 drivers/net/fddi/skfp/pmf.c pa = (struct smt_para *) sm_to_para(smc,sm,SMT_P_AUTHOR) ; smc 524 drivers/net/fddi/skfp/pmf.c if (memcmp((char *)(pa+1),(char *)smc->mib.fddiPRPMFPasswd,8)) smc 530 drivers/net/fddi/skfp/pmf.c static int smt_check_set_count(struct s_smc *smc, struct smt_header *sm) smc 535 drivers/net/fddi/skfp/pmf.c pa = (struct smt_para *) sm_to_para(smc,sm,SMT_P1035) ; smc 538 drivers/net/fddi/skfp/pmf.c if ((smc->mib.fddiSMTSetCount.count != sc->count) || smc 539 drivers/net/fddi/skfp/pmf.c memcmp((char *) smc->mib.fddiSMTSetCount.timestamp, smc 546 drivers/net/fddi/skfp/pmf.c void smt_add_para(struct s_smc *smc, struct s_pcon *pcon, u_short para, smc 608 drivers/net/fddi/skfp/pmf.c mib_addr = (char *) (&smc->mib) ; smc 615 drivers/net/fddi/skfp/pmf.c mib_addr = (char *) (&smc->mib.m[mac]) ; smc 623 drivers/net/fddi/skfp/pmf.c mib_addr = (char *) (&smc->mib.a[path]) ; smc 626 drivers/net/fddi/skfp/pmf.c if (port < 0 || port >= smt_mib_phys(smc)) { smc 630 drivers/net/fddi/skfp/pmf.c mib_addr = (char *) (&smc->mib.p[port_to_mib(smc,port)]) ; smc 665 drivers/net/fddi/skfp/pmf.c mac_update_counter(smc) ; smc 669 drivers/net/fddi/skfp/pmf.c sm_pm_get_ls(smc,port_to_mib(smc,port))) ; smc 676 drivers/net/fddi/skfp/pmf.c smt_set_timestamp(smc,smc->mib.fddiSMTTimeStamp) ; smc 684 drivers/net/fddi/skfp/pmf.c if (smc->s.sas == SMT_SAS) smc 699 drivers/net/fddi/skfp/pmf.c sp_len = cem_build_path(smc,to,path) ; smc 706 drivers/net/fddi/skfp/pmf.c sp->p1048_flag = smc->mib.fddiSMTPeerWrapFlag ; smc 707 drivers/net/fddi/skfp/pmf.c sp->p1048_cf_state = smc->mib.fddiSMTCF_State ; smc 716 drivers/net/fddi/skfp/pmf.c smc->mib.m[MAC0].fddiMACDuplicateAddressCond ; smc 1029 drivers/net/fddi/skfp/pmf.c SMT_PANIC(smc,SMT_E0119, SMT_E0119_MSG) ; smc 1071 drivers/net/fddi/skfp/pmf.c static int smt_set_para(struct s_smc *smc, struct smt_para *pa, int index, smc 1100 drivers/net/fddi/skfp/pmf.c mib = &smc->mib ; smc 1110 drivers/net/fddi/skfp/pmf.c mib_m = &smc->mib.m[mac] ; smc 1119 drivers/net/fddi/skfp/pmf.c mib_a = &smc->mib.a[path] ; smc 1125 drivers/net/fddi/skfp/pmf.c if (port < 0 || port >= smt_mib_phys(smc)) { smc 1128 drivers/net/fddi/skfp/pmf.c mib_p = &smc->mib.p[port_to_mib(smc,port)] ; smc 1288 drivers/net/fddi/skfp/pmf.c SMT_PANIC(smc,SMT_E0120, SMT_E0120_MSG) ; smc 1329 drivers/net/fddi/skfp/pmf.c if (set && smc->mib.fddiESSPayload != long_val) { smc 1330 drivers/net/fddi/skfp/pmf.c smc->ess.raf_act_timer_poll = TRUE ; smc 1331 drivers/net/fddi/skfp/pmf.c smc->mib.fddiESSPayload = long_val ; smc 1337 drivers/net/fddi/skfp/pmf.c if (set && smc->mib.fddiESSPayload && smc 1338 drivers/net/fddi/skfp/pmf.c smc->mib.fddiESSOverhead != long_val) { smc 1339 drivers/net/fddi/skfp/pmf.c smc->ess.raf_act_timer_poll = TRUE ; smc 1340 drivers/net/fddi/skfp/pmf.c smc->mib.fddiESSOverhead = long_val ; smc 1395 drivers/net/fddi/skfp/pmf.c queue_event(smc,EVENT_RMT,RM_ENABLE_FLAG) ; smc 1407 drivers/net/fddi/skfp/pmf.c ess_para_change(smc) ; smc 1420 drivers/net/fddi/skfp/pmf.c ess_para_change(smc) ; smc 1429 drivers/net/fddi/skfp/pmf.c rtm_set_timer(smc) ; smc 1451 drivers/net/fddi/skfp/pmf.c if (set && smt_set_mac_opvalues(smc)) { smc 1452 drivers/net/fddi/skfp/pmf.c RS_SET(smc,RS_EVENT) ; smc 1453 drivers/net/fddi/skfp/pmf.c smc->sm.please_reconnect = 1 ; smc 1454 drivers/net/fddi/skfp/pmf.c queue_event(smc,EVENT_ECM,EC_DISCONNECT) ; smc 1487 drivers/net/fddi/skfp/pmf.c if (smt_action(smc,SMT_STATION_ACTION, (int) word_val, 0)) smc 1491 drivers/net/fddi/skfp/pmf.c if (smt_action(smc,SMT_PORT_ACTION, (int) word_val, smc 1492 drivers/net/fddi/skfp/pmf.c port_to_mib(smc,port))) smc 1527 drivers/net/fddi/skfp/pmf.c static int smt_mib_phys(struct s_smc *smc) smc 1530 drivers/net/fddi/skfp/pmf.c SK_UNUSED(smc) ; smc 1534 drivers/net/fddi/skfp/pmf.c if (smc->s.sas == SMT_SAS) smc 1540 drivers/net/fddi/skfp/pmf.c static int port_to_mib(struct s_smc *smc, int p) smc 1543 drivers/net/fddi/skfp/pmf.c SK_UNUSED(smc) ; smc 1547 drivers/net/fddi/skfp/pmf.c if (smc->s.sas == SMT_SAS) smc 1556 drivers/net/fddi/skfp/pmf.c void dump_smt(struct s_smc *smc, struct smt_header *sm, char *text) smc 1567 drivers/net/fddi/skfp/pmf.c SK_UNUSED(smc) ; smc 1570 drivers/net/fddi/skfp/pmf.c if (smc->debug.d_smtf < 2) smc 30 drivers/net/fddi/skfp/queue.c void ev_init(struct s_smc *smc) smc 32 drivers/net/fddi/skfp/queue.c smc->q.ev_put = smc->q.ev_get = smc->q.ev_queue ; smc 38 drivers/net/fddi/skfp/queue.c void queue_event(struct s_smc *smc, int class, int event) smc 41 drivers/net/fddi/skfp/queue.c smc->q.ev_put->class = class ; smc 42 drivers/net/fddi/skfp/queue.c smc->q.ev_put->event = event ; smc 43 drivers/net/fddi/skfp/queue.c if (++smc->q.ev_put == &smc->q.ev_queue[MAX_EVENT]) smc 44 drivers/net/fddi/skfp/queue.c smc->q.ev_put = smc->q.ev_queue ; smc 46 drivers/net/fddi/skfp/queue.c if (smc->q.ev_put == smc->q.ev_get) { smc 47 drivers/net/fddi/skfp/queue.c SMT_ERR_LOG(smc,SMT_E0137, SMT_E0137_MSG) ; smc 54 drivers/net/fddi/skfp/queue.c void timer_event(struct s_smc *smc, u_long token) smc 59 drivers/net/fddi/skfp/queue.c queue_event(smc,EV_T_CLASS(token),EV_T_EVENT(token)); smc 69 drivers/net/fddi/skfp/queue.c void ev_dispatcher(struct s_smc *smc) smc 74 drivers/net/fddi/skfp/queue.c ev = smc->q.ev_get ; smc 75 drivers/net/fddi/skfp/queue.c PRINTF("dispatch get %x put %x\n",ev,smc->q.ev_put) ; smc 76 drivers/net/fddi/skfp/queue.c while (ev != smc->q.ev_put) { smc 80 drivers/net/fddi/skfp/queue.c ecm(smc,(int)ev->event) ; smc 83 drivers/net/fddi/skfp/queue.c cfm(smc,(int)ev->event) ; smc 86 drivers/net/fddi/skfp/queue.c rmt(smc,(int)ev->event) ; smc 89 drivers/net/fddi/skfp/queue.c smt_event(smc,(int)ev->event) ; smc 93 drivers/net/fddi/skfp/queue.c timer_test_event(smc,(int)ev->event) ; smc 101 drivers/net/fddi/skfp/queue.c pcm(smc,class - EVENT_PCMA,(int)ev->event) ; smc 104 drivers/net/fddi/skfp/queue.c SMT_PANIC(smc,SMT_E0121, SMT_E0121_MSG) ; smc 108 drivers/net/fddi/skfp/queue.c if (++ev == &smc->q.ev_queue[MAX_EVENT]) smc 109 drivers/net/fddi/skfp/queue.c ev = smc->q.ev_queue ; smc 112 drivers/net/fddi/skfp/queue.c smc->q.ev_get = ev; smc 123 drivers/net/fddi/skfp/queue.c u_short smt_online(struct s_smc *smc, int on) smc 125 drivers/net/fddi/skfp/queue.c queue_event(smc,EVENT_ECM,on ? EC_CONNECT : EC_DISCONNECT) ; smc 126 drivers/net/fddi/skfp/queue.c ev_dispatcher(smc) ; smc 127 drivers/net/fddi/skfp/queue.c return smc->mib.fddiSMTCF_State; smc 137 drivers/net/fddi/skfp/queue.c void do_smt_flag(struct s_smc *smc, char *flag, int value) smc 142 drivers/net/fddi/skfp/queue.c SK_UNUSED(smc) ; smc 145 drivers/net/fddi/skfp/queue.c deb = &smc->debug; smc 56 drivers/net/fddi/skfp/rmt.c #define GO_STATE(x) (smc->mib.m[MAC0].fddiMACRMTState = (x)|AFLAG) smc 57 drivers/net/fddi/skfp/rmt.c #define ACTIONS_DONE() (smc->mib.m[MAC0].fddiMACRMTState &= ~AFLAG) smc 99 drivers/net/fddi/skfp/rmt.c static void rmt_fsm(struct s_smc *smc, int cmd); smc 100 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer0(struct s_smc *smc, u_long value, int event); smc 101 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer1(struct s_smc *smc, u_long value, int event); smc 102 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer2(struct s_smc *smc, u_long value, int event); smc 103 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer0(struct s_smc *smc); smc 104 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer1(struct s_smc *smc); smc 105 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer2(struct s_smc *smc); smc 106 drivers/net/fddi/skfp/rmt.c static void rmt_dup_actions(struct s_smc *smc); smc 107 drivers/net/fddi/skfp/rmt.c static void rmt_reinsert_actions(struct s_smc *smc); smc 108 drivers/net/fddi/skfp/rmt.c static void rmt_leave_actions(struct s_smc *smc); smc 109 drivers/net/fddi/skfp/rmt.c static void rmt_new_dup_actions(struct s_smc *smc); smc 119 drivers/net/fddi/skfp/rmt.c void rmt_init(struct s_smc *smc) smc 121 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACRMTState = ACTIONS(RM0_ISOLATED) ; smc 122 drivers/net/fddi/skfp/rmt.c smc->r.dup_addr_test = DA_NONE ; smc 123 drivers/net/fddi/skfp/rmt.c smc->r.da_flag = 0 ; smc 124 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 125 drivers/net/fddi/skfp/rmt.c smc->r.sm_ma_avail = FALSE ; smc 126 drivers/net/fddi/skfp/rmt.c smc->r.loop_avail = 0 ; smc 127 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = 0 ; smc 128 drivers/net/fddi/skfp/rmt.c smc->r.jm_flag = 0 ; smc 129 drivers/net/fddi/skfp/rmt.c smc->r.no_flag = TRUE ; smc 141 drivers/net/fddi/skfp/rmt.c void rmt(struct s_smc *smc, int event) smc 147 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACRMTState & AFLAG ? "ACTIONS " : "", smc 148 drivers/net/fddi/skfp/rmt.c rmt_states[smc->mib.m[MAC0].fddiMACRMTState & ~AFLAG], smc 150 drivers/net/fddi/skfp/rmt.c state = smc->mib.m[MAC0].fddiMACRMTState ; smc 151 drivers/net/fddi/skfp/rmt.c rmt_fsm(smc,event) ; smc 153 drivers/net/fddi/skfp/rmt.c } while (state != smc->mib.m[MAC0].fddiMACRMTState) ; smc 154 drivers/net/fddi/skfp/rmt.c rmt_state_change(smc,(int)smc->mib.m[MAC0].fddiMACRMTState) ; smc 160 drivers/net/fddi/skfp/rmt.c static void rmt_fsm(struct s_smc *smc, int cmd) smc 165 drivers/net/fddi/skfp/rmt.c if (!smc->r.rm_join && !smc->r.rm_loop && smc 166 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACRMTState != ACTIONS(RM0_ISOLATED) && smc 167 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACRMTState != RM0_ISOLATED) { smc 168 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_NORINGOP) ; smc 169 drivers/net/fddi/skfp/rmt.c rmt_indication(smc,0) ; smc 174 drivers/net/fddi/skfp/rmt.c switch(smc->mib.m[MAC0].fddiMACRMTState) { smc 176 drivers/net/fddi/skfp/rmt.c stop_rmt_timer0(smc) ; smc 177 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 178 drivers/net/fddi/skfp/rmt.c stop_rmt_timer2(smc) ; smc 183 drivers/net/fddi/skfp/rmt.c sm_ma_control(smc,MA_OFFLINE) ; smc 184 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 185 drivers/net/fddi/skfp/rmt.c smc->r.loop_avail = FALSE ; smc 186 drivers/net/fddi/skfp/rmt.c smc->r.sm_ma_avail = FALSE ; smc 187 drivers/net/fddi/skfp/rmt.c smc->r.no_flag = TRUE ; smc 193 drivers/net/fddi/skfp/rmt.c if (smc->r.rm_join || smc->r.rm_loop) { smc 200 drivers/net/fddi/skfp/rmt.c sm_ma_control(smc,MA_RESET) ; smc 206 drivers/net/fddi/skfp/rmt.c start_rmt_timer0(smc,smc->s.rmt_t_non_op,RM_TIMEOUT_NON_OP) ; smc 207 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 208 drivers/net/fddi/skfp/rmt.c stop_rmt_timer2(smc) ; smc 209 drivers/net/fddi/skfp/rmt.c sm_ma_control(smc,MA_BEACON) ; smc 211 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_NORINGOP) ; smc 212 drivers/net/fddi/skfp/rmt.c smc->r.sm_ma_avail = FALSE ; smc 213 drivers/net/fddi/skfp/rmt.c rmt_indication(smc,0) ; smc 219 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_RINGOPCHANGE) ; smc 225 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 226 drivers/net/fddi/skfp/rmt.c smc->r.no_flag = TRUE ; smc 232 drivers/net/fddi/skfp/rmt.c stop_rmt_timer0(smc) ; smc 233 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 234 drivers/net/fddi/skfp/rmt.c stop_rmt_timer2(smc) ; smc 235 drivers/net/fddi/skfp/rmt.c smc->r.no_flag = FALSE ; smc 236 drivers/net/fddi/skfp/rmt.c if (smc->r.rm_loop) smc 237 drivers/net/fddi/skfp/rmt.c smc->r.loop_avail = TRUE ; smc 238 drivers/net/fddi/skfp/rmt.c if (smc->r.rm_join) { smc 239 drivers/net/fddi/skfp/rmt.c smc->r.sm_ma_avail = TRUE ; smc 240 drivers/net/fddi/skfp/rmt.c if (smc->mib.m[MAC0].fddiMACMA_UnitdataEnable) smc 241 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = TRUE ; smc 243 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 246 drivers/net/fddi/skfp/rmt.c RS_CLEAR(smc,RS_NORINGOP) ; smc 247 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_RINGOPCHANGE) ; smc 248 drivers/net/fddi/skfp/rmt.c rmt_indication(smc,1) ; smc 249 drivers/net/fddi/skfp/rmt.c smt_stat_counter(smc,0) ; smc 255 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 256 drivers/net/fddi/skfp/rmt.c smc->r.loop_avail = FALSE ; smc 257 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_RINGOPCHANGE) ; smc 263 drivers/net/fddi/skfp/rmt.c if (smc->mib.m[MAC0].fddiMACMA_UnitdataEnable) smc 264 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = TRUE ; smc 266 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 269 drivers/net/fddi/skfp/rmt.c else if (smc->r.dup_addr_test == DA_FAILED) { smc 270 drivers/net/fddi/skfp/rmt.c smc->mib.m[MAC0].fddiMACMA_UnitdataAvailable = FALSE ; smc 271 drivers/net/fddi/skfp/rmt.c smc->r.loop_avail = FALSE ; smc 272 drivers/net/fddi/skfp/rmt.c smc->r.da_flag = TRUE ; smc 278 drivers/net/fddi/skfp/rmt.c start_rmt_timer0(smc,smc->s.mac_d_max*2,RM_TIMEOUT_D_MAX) ; smc 279 drivers/net/fddi/skfp/rmt.c start_rmt_timer1(smc,smc->s.rmt_t_stuck,RM_TIMEOUT_T_STUCK) ; smc 280 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL) ; smc 281 drivers/net/fddi/skfp/rmt.c sm_mac_check_beacon_claim(smc) ; smc 287 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL); smc 288 drivers/net/fddi/skfp/rmt.c sm_mac_check_beacon_claim(smc) ; smc 292 drivers/net/fddi/skfp/rmt.c smc->r.timer0_exp = TRUE ; smc 301 drivers/net/fddi/skfp/rmt.c start_rmt_timer0(smc, smc 302 drivers/net/fddi/skfp/rmt.c smc->s.mac_d_max*2, smc 312 drivers/net/fddi/skfp/rmt.c && smc->r.bn_flag) { smc 313 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 316 drivers/net/fddi/skfp/rmt.c else if (cmd == RM_TRT_EXP && !smc->r.bn_flag) { smc 323 drivers/net/fddi/skfp/rmt.c if ((tx = sm_mac_get_tx_state(smc)) == 4 || tx == 5) { smc 325 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = TRUE ; smc 332 drivers/net/fddi/skfp/rmt.c start_rmt_timer1(smc,smc->s.rmt_t_stuck, smc 342 drivers/net/fddi/skfp/rmt.c tx, smc->r.bn_flag); smc 345 drivers/net/fddi/skfp/rmt.c else if (cmd == RM_MY_CLAIM && smc->r.timer0_exp) { smc 346 drivers/net/fddi/skfp/rmt.c rmt_new_dup_actions(smc) ; smc 351 drivers/net/fddi/skfp/rmt.c else if (cmd == RM_MY_BEACON && smc->r.timer0_exp) { smc 352 drivers/net/fddi/skfp/rmt.c rmt_new_dup_actions(smc) ; smc 358 drivers/net/fddi/skfp/rmt.c rmt_new_dup_actions(smc) ; smc 364 drivers/net/fddi/skfp/rmt.c smc->r.rm_join && smc->r.bn_flag) { smc 370 drivers/net/fddi/skfp/rmt.c start_rmt_timer0(smc,smc->s.rmt_t_announce,RM_TIMEOUT_ANNOUNCE); smc 371 drivers/net/fddi/skfp/rmt.c start_rmt_timer1(smc,smc->s.rmt_t_stuck,RM_TIMEOUT_T_STUCK) ; smc 372 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL) ; smc 373 drivers/net/fddi/skfp/rmt.c sm_mac_check_beacon_claim(smc) ; smc 379 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL); smc 380 drivers/net/fddi/skfp/rmt.c sm_mac_check_beacon_claim(smc) ; smc 384 drivers/net/fddi/skfp/rmt.c if (!smc->r.da_flag) { smc 390 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag) { smc 391 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 394 drivers/net/fddi/skfp/rmt.c else if (cmd == RM_TRT_EXP && !smc->r.bn_flag) { smc 401 drivers/net/fddi/skfp/rmt.c if ((tx = sm_mac_get_tx_state(smc)) == 4 || tx == 5) { smc 403 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = TRUE ; smc 410 drivers/net/fddi/skfp/rmt.c start_rmt_timer1(smc,smc->s.rmt_t_stuck, smc 420 drivers/net/fddi/skfp/rmt.c tx, smc->r.bn_flag); smc 423 drivers/net/fddi/skfp/rmt.c else if (cmd == RM_TIMEOUT_ANNOUNCE && !smc->r.bn_flag) { smc 424 drivers/net/fddi/skfp/rmt.c rmt_dup_actions(smc) ; smc 428 drivers/net/fddi/skfp/rmt.c smc->r.no_flag = FALSE ; smc 434 drivers/net/fddi/skfp/rmt.c smc->r.rm_join && smc->r.bn_flag) { smc 440 drivers/net/fddi/skfp/rmt.c stop_rmt_timer0(smc) ; smc 441 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 442 drivers/net/fddi/skfp/rmt.c stop_rmt_timer2(smc) ; smc 448 drivers/net/fddi/skfp/rmt.c if (smc->r.dup_addr_test == DA_PASSED) { smc 449 drivers/net/fddi/skfp/rmt.c smc->r.da_flag = FALSE ; smc 455 drivers/net/fddi/skfp/rmt.c smc->r.jm_flag = FALSE ; smc 456 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 462 drivers/net/fddi/skfp/rmt.c start_rmt_timer0(smc,smc->s.rmt_t_direct,RM_TIMEOUT_T_DIRECT) ; smc 463 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 464 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL) ; smc 465 drivers/net/fddi/skfp/rmt.c sm_ma_control(smc,MA_DIRECTED) ; smc 466 drivers/net/fddi/skfp/rmt.c RS_SET(smc,RS_BEACON) ; smc 473 drivers/net/fddi/skfp/rmt.c start_rmt_timer2(smc,smc->s.rmt_t_poll,RM_TIMEOUT_POLL); smc 474 drivers/net/fddi/skfp/rmt.c sm_mac_check_beacon_claim(smc) ; smc 481 drivers/net/fddi/skfp/rmt.c restart_trt_for_dbcn(smc) ; smc 486 drivers/net/fddi/skfp/rmt.c !smc->r.da_flag) { smc 487 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 493 drivers/net/fddi/skfp/rmt.c smc->r.da_flag) { smc 494 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 505 drivers/net/fddi/skfp/rmt.c stop_rmt_timer0(smc) ; smc 506 drivers/net/fddi/skfp/rmt.c stop_rmt_timer1(smc) ; smc 507 drivers/net/fddi/skfp/rmt.c stop_rmt_timer2(smc) ; smc 508 drivers/net/fddi/skfp/rmt.c smc->e.trace_prop |= ENTITY_BIT(ENTITY_MAC) ; smc 509 drivers/net/fddi/skfp/rmt.c queue_event(smc,EVENT_ECM,EC_TRACE_PROP) ; smc 516 drivers/net/fddi/skfp/rmt.c SMT_PANIC(smc,SMT_E0122, SMT_E0122_MSG) ; smc 525 drivers/net/fddi/skfp/rmt.c static void rmt_dup_actions(struct s_smc *smc) smc 527 drivers/net/fddi/skfp/rmt.c if (smc->r.jm_flag) { smc 530 drivers/net/fddi/skfp/rmt.c if (smc->s.rmt_dup_mac_behavior) { smc 531 drivers/net/fddi/skfp/rmt.c SMT_ERR_LOG(smc,SMT_E0138, SMT_E0138_MSG) ; smc 532 drivers/net/fddi/skfp/rmt.c rmt_reinsert_actions(smc) ; smc 535 drivers/net/fddi/skfp/rmt.c SMT_ERR_LOG(smc,SMT_E0135, SMT_E0135_MSG) ; smc 536 drivers/net/fddi/skfp/rmt.c rmt_leave_actions(smc) ; smc 544 drivers/net/fddi/skfp/rmt.c static void rmt_reinsert_actions(struct s_smc *smc) smc 546 drivers/net/fddi/skfp/rmt.c queue_event(smc,EVENT_ECM,EC_DISCONNECT) ; smc 547 drivers/net/fddi/skfp/rmt.c queue_event(smc,EVENT_ECM,EC_CONNECT) ; smc 553 drivers/net/fddi/skfp/rmt.c static void rmt_new_dup_actions(struct s_smc *smc) smc 555 drivers/net/fddi/skfp/rmt.c smc->r.da_flag = TRUE ; smc 556 drivers/net/fddi/skfp/rmt.c smc->r.bn_flag = FALSE ; smc 557 drivers/net/fddi/skfp/rmt.c smc->r.jm_flag = FALSE ; smc 564 drivers/net/fddi/skfp/rmt.c if (smc->s.rmt_dup_mac_behavior) { smc 565 drivers/net/fddi/skfp/rmt.c SMT_ERR_LOG(smc,SMT_E0138, SMT_E0138_MSG) ; smc 566 drivers/net/fddi/skfp/rmt.c rmt_reinsert_actions(smc) ; smc 569 drivers/net/fddi/skfp/rmt.c SMT_ERR_LOG(smc,SMT_E0135, SMT_E0135_MSG) ; smc 570 drivers/net/fddi/skfp/rmt.c rmt_leave_actions(smc) ; smc 578 drivers/net/fddi/skfp/rmt.c static void rmt_leave_actions(struct s_smc *smc) smc 580 drivers/net/fddi/skfp/rmt.c queue_event(smc,EVENT_ECM,EC_DISCONNECT) ; smc 591 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer0(struct s_smc *smc, u_long value, int event) smc 593 drivers/net/fddi/skfp/rmt.c smc->r.timer0_exp = FALSE ; /* clear timer event flag */ smc 594 drivers/net/fddi/skfp/rmt.c smt_timer_start(smc,&smc->r.rmt_timer0,value,EV_TOKEN(EVENT_RMT,event)); smc 601 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer1(struct s_smc *smc, u_long value, int event) smc 603 drivers/net/fddi/skfp/rmt.c smc->r.timer1_exp = FALSE ; /* clear timer event flag */ smc 604 drivers/net/fddi/skfp/rmt.c smt_timer_start(smc,&smc->r.rmt_timer1,value,EV_TOKEN(EVENT_RMT,event)); smc 611 drivers/net/fddi/skfp/rmt.c static void start_rmt_timer2(struct s_smc *smc, u_long value, int event) smc 613 drivers/net/fddi/skfp/rmt.c smc->r.timer2_exp = FALSE ; /* clear timer event flag */ smc 614 drivers/net/fddi/skfp/rmt.c smt_timer_start(smc,&smc->r.rmt_timer2,value,EV_TOKEN(EVENT_RMT,event)); smc 621 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer0(struct s_smc *smc) smc 623 drivers/net/fddi/skfp/rmt.c if (smc->r.rmt_timer0.tm_active) smc 624 drivers/net/fddi/skfp/rmt.c smt_timer_stop(smc,&smc->r.rmt_timer0) ; smc 631 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer1(struct s_smc *smc) smc 633 drivers/net/fddi/skfp/rmt.c if (smc->r.rmt_timer1.tm_active) smc 634 drivers/net/fddi/skfp/rmt.c smt_timer_stop(smc,&smc->r.rmt_timer1) ; smc 641 drivers/net/fddi/skfp/rmt.c static void stop_rmt_timer2(struct s_smc *smc) smc 643 drivers/net/fddi/skfp/rmt.c if (smc->r.rmt_timer2.tm_active) smc 644 drivers/net/fddi/skfp/rmt.c smt_timer_stop(smc,&smc->r.rmt_timer2) ; smc 109 drivers/net/fddi/skfp/skfddi.c static void send_queued_packets(struct s_smc *smc); smc 111 drivers/net/fddi/skfp/skfddi.c static void ResetAdapter(struct s_smc *smc); smc 115 drivers/net/fddi/skfp/skfddi.c void *mac_drv_get_space(struct s_smc *smc, u_int size); smc 116 drivers/net/fddi/skfp/skfddi.c void *mac_drv_get_desc_mem(struct s_smc *smc, u_int size); smc 117 drivers/net/fddi/skfp/skfddi.c unsigned long mac_drv_virt2phys(struct s_smc *smc, void *virt); smc 118 drivers/net/fddi/skfp/skfddi.c unsigned long dma_master(struct s_smc *smc, void *virt, int len, int flag); smc 119 drivers/net/fddi/skfp/skfddi.c void dma_complete(struct s_smc *smc, volatile union s_fp_descr *descr, smc 121 drivers/net/fddi/skfp/skfddi.c void mac_drv_tx_complete(struct s_smc *smc, volatile struct s_smt_fp_txd *txd); smc 122 drivers/net/fddi/skfp/skfddi.c void llc_restart_tx(struct s_smc *smc); smc 123 drivers/net/fddi/skfp/skfddi.c void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 125 drivers/net/fddi/skfp/skfddi.c void mac_drv_requeue_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 127 drivers/net/fddi/skfp/skfddi.c void mac_drv_fill_rxd(struct s_smc *smc); smc 128 drivers/net/fddi/skfp/skfddi.c void mac_drv_clear_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 130 drivers/net/fddi/skfp/skfddi.c int mac_drv_rx_init(struct s_smc *smc, int len, int fc, char *look_ahead, smc 136 drivers/net/fddi/skfp/skfddi.c extern int mac_drv_init(struct s_smc *smc); smc 137 drivers/net/fddi/skfp/skfddi.c extern void hwm_tx_frag(struct s_smc *smc, char far * virt, u_long phys, smc 139 drivers/net/fddi/skfp/skfddi.c extern int hwm_tx_init(struct s_smc *smc, u_char fc, int frag_count, smc 141 drivers/net/fddi/skfp/skfddi.c extern void fddi_isr(struct s_smc *smc); smc 142 drivers/net/fddi/skfp/skfddi.c extern void hwm_rx_frag(struct s_smc *smc, char far * virt, u_long phys, smc 144 drivers/net/fddi/skfp/skfddi.c extern void mac_drv_rx_mode(struct s_smc *smc, int mode); smc 145 drivers/net/fddi/skfp/skfddi.c extern void mac_drv_clear_rx_queue(struct s_smc *smc); smc 146 drivers/net/fddi/skfp/skfddi.c extern void enable_tx_irq(struct s_smc *smc, u_short queue); smc 203 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc; /* board pointer */ smc 260 drivers/net/fddi/skfp/skfddi.c smc = netdev_priv(dev); smc 261 drivers/net/fddi/skfp/skfddi.c smc->os.dev = dev; smc 262 drivers/net/fddi/skfp/skfddi.c smc->os.bus_type = SK_BUS_TYPE_PCI; smc 263 drivers/net/fddi/skfp/skfddi.c smc->os.pdev = *pdev; smc 264 drivers/net/fddi/skfp/skfddi.c smc->os.QueueSkb = MAX_TX_QUEUE_LEN; smc 265 drivers/net/fddi/skfp/skfddi.c smc->os.MaxFrameSize = MAX_FRAME_SIZE; smc 266 drivers/net/fddi/skfp/skfddi.c smc->os.dev = dev; smc 267 drivers/net/fddi/skfp/skfddi.c smc->hw.slot = -1; smc 268 drivers/net/fddi/skfp/skfddi.c smc->hw.iop = mem; smc 269 drivers/net/fddi/skfp/skfddi.c smc->os.ResetRequested = FALSE; smc 270 drivers/net/fddi/skfp/skfddi.c skb_queue_head_init(&smc->os.SendSkbQueue); smc 295 drivers/net/fddi/skfp/skfddi.c if (smc->os.SharedMemAddr) smc 296 drivers/net/fddi/skfp/skfddi.c dma_free_coherent(&pdev->dev, smc->os.SharedMemSize, smc 297 drivers/net/fddi/skfp/skfddi.c smc->os.SharedMemAddr, smc 298 drivers/net/fddi/skfp/skfddi.c smc->os.SharedMemDMA); smc 300 drivers/net/fddi/skfp/skfddi.c smc->os.LocalRxBuffer, smc->os.LocalRxBufferDMA); smc 378 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 379 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 388 drivers/net/fddi/skfp/skfddi.c smc->hw.irq = dev->irq; smc 425 drivers/net/fddi/skfp/skfddi.c card_stop(smc); // Reset adapter. smc 428 drivers/net/fddi/skfp/skfddi.c if (mac_drv_init(smc) != 0) { smc 432 drivers/net/fddi/skfp/skfddi.c read_address(smc, NULL); smc 433 drivers/net/fddi/skfp/skfddi.c pr_debug("HW-Addr: %pMF\n", smc->hw.fddi_canon_addr.a); smc 434 drivers/net/fddi/skfp/skfddi.c memcpy(dev->dev_addr, smc->hw.fddi_canon_addr.a, ETH_ALEN); smc 436 drivers/net/fddi/skfp/skfddi.c smt_reset_defaults(smc, 0); smc 480 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 500 drivers/net/fddi/skfp/skfddi.c read_address(smc, NULL); smc 501 drivers/net/fddi/skfp/skfddi.c memcpy(dev->dev_addr, smc->hw.fddi_canon_addr.a, ETH_ALEN); smc 503 drivers/net/fddi/skfp/skfddi.c init_smt(smc, NULL); smc 504 drivers/net/fddi/skfp/skfddi.c smt_online(smc, 1); smc 508 drivers/net/fddi/skfp/skfddi.c mac_clear_multicast(smc); smc 511 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_DISABLE_PROMISC); smc 547 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 548 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 551 drivers/net/fddi/skfp/skfddi.c smt_reset_defaults(smc, 1); smc 552 drivers/net/fddi/skfp/skfddi.c card_stop(smc); smc 553 drivers/net/fddi/skfp/skfddi.c mac_drv_clear_tx_queue(smc); smc 554 drivers/net/fddi/skfp/skfddi.c mac_drv_clear_rx_queue(smc); smc 605 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc; /* private board structure pointer */ smc 608 drivers/net/fddi/skfp/skfddi.c smc = netdev_priv(dev); smc 609 drivers/net/fddi/skfp/skfddi.c bp = &smc->os; smc 617 drivers/net/fddi/skfp/skfddi.c if ((inpd(ISR_A) & smc->hw.is_imask) == 0) { // IRQ? smc 625 drivers/net/fddi/skfp/skfddi.c fddi_isr(smc); smc 627 drivers/net/fddi/skfp/skfddi.c if (smc->os.ResetRequested) { smc 628 drivers/net/fddi/skfp/skfddi.c ResetAdapter(smc); smc 629 drivers/net/fddi/skfp/skfddi.c smc->os.ResetRequested = FALSE; smc 835 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 836 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 848 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 853 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_ENABLE_PROMISC); smc 858 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_DISABLE_PROMISC); smc 862 drivers/net/fddi/skfp/skfddi.c mac_clear_multicast(smc); smc 863 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_DISABLE_ALLMULTI); smc 866 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_ENABLE_ALLMULTI); smc 874 drivers/net/fddi/skfp/skfddi.c mac_add_multicast(smc, smc 884 drivers/net/fddi/skfp/skfddi.c mac_drv_rx_mode(smc, RX_ENABLE_ALLMULTI); smc 893 drivers/net/fddi/skfp/skfddi.c mac_update_multicast(smc); smc 919 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 921 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 927 drivers/net/fddi/skfp/skfddi.c ResetAdapter(smc); smc 959 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 960 drivers/net/fddi/skfp/skfddi.c skfddi_priv *lp = &smc->os; smc 1040 drivers/net/fddi/skfp/skfddi.c struct s_smc *smc = netdev_priv(dev); smc 1041 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1100 drivers/net/fddi/skfp/skfddi.c static void send_queued_packets(struct s_smc *smc) smc 1102 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1130 drivers/net/fddi/skfp/skfddi.c if (!smc->ess.sync_bw_available) smc 1135 drivers/net/fddi/skfp/skfddi.c if (smc->mib.fddiESSSynchTxMode) { smc 1142 drivers/net/fddi/skfp/skfddi.c frame_status = hwm_tx_init(smc, fc, 1, skb->len, queue); smc 1168 drivers/net/fddi/skfp/skfddi.c CheckSourceAddress(skb->data, smc->hw.fddi_canon_addr.a); smc 1170 drivers/net/fddi/skfp/skfddi.c txd = (struct s_smt_fp_txd *) HWM_GET_CURR_TXD(smc, queue); smc 1178 drivers/net/fddi/skfp/skfddi.c hwm_tx_frag(smc, skb->data, dma_address, skb->len, smc 1227 drivers/net/fddi/skfp/skfddi.c static void ResetAdapter(struct s_smc *smc) smc 1234 drivers/net/fddi/skfp/skfddi.c card_stop(smc); // Stop all activity. smc 1237 drivers/net/fddi/skfp/skfddi.c mac_drv_clear_tx_queue(smc); smc 1238 drivers/net/fddi/skfp/skfddi.c mac_drv_clear_rx_queue(smc); smc 1242 drivers/net/fddi/skfp/skfddi.c smt_reset_defaults(smc, 1); // Initialize the SMT module. smc 1244 drivers/net/fddi/skfp/skfddi.c init_smt(smc, (smc->os.dev)->dev_addr); // Initialize the hardware. smc 1246 drivers/net/fddi/skfp/skfddi.c smt_online(smc, 1); // Insert into the ring again. smc 1250 drivers/net/fddi/skfp/skfddi.c skfp_ctl_set_multicast_list_wo_lock(smc->os.dev); smc 1272 drivers/net/fddi/skfp/skfddi.c void llc_restart_tx(struct s_smc *smc) smc 1274 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1280 drivers/net/fddi/skfp/skfddi.c send_queued_packets(smc); smc 1302 drivers/net/fddi/skfp/skfddi.c void *mac_drv_get_space(struct s_smc *smc, unsigned int size) smc 1307 drivers/net/fddi/skfp/skfddi.c virt = (void *) (smc->os.SharedMemAddr + smc->os.SharedMemHeap); smc 1309 drivers/net/fddi/skfp/skfddi.c if ((smc->os.SharedMemHeap + size) > smc->os.SharedMemSize) { smc 1313 drivers/net/fddi/skfp/skfddi.c smc->os.SharedMemHeap += size; // Move heap pointer. smc 1318 drivers/net/fddi/skfp/skfddi.c (smc->os.SharedMemDMA + smc 1319 drivers/net/fddi/skfp/skfddi.c ((char *) virt - (char *)smc->os.SharedMemAddr))); smc 1342 drivers/net/fddi/skfp/skfddi.c void *mac_drv_get_desc_mem(struct s_smc *smc, unsigned int size) smc 1351 drivers/net/fddi/skfp/skfddi.c virt = mac_drv_get_space(smc, size); smc 1359 drivers/net/fddi/skfp/skfddi.c if (!mac_drv_get_space(smc, size)) { smc 1380 drivers/net/fddi/skfp/skfddi.c unsigned long mac_drv_virt2phys(struct s_smc *smc, void *virt) smc 1382 drivers/net/fddi/skfp/skfddi.c return smc->os.SharedMemDMA + smc 1383 drivers/net/fddi/skfp/skfddi.c ((char *) virt - (char *)smc->os.SharedMemAddr); smc 1415 drivers/net/fddi/skfp/skfddi.c u_long dma_master(struct s_smc * smc, void *virt, int len, int flag) smc 1417 drivers/net/fddi/skfp/skfddi.c return smc->os.SharedMemDMA + smc 1418 drivers/net/fddi/skfp/skfddi.c ((char *) virt - (char *)smc->os.SharedMemAddr); smc 1443 drivers/net/fddi/skfp/skfddi.c void dma_complete(struct s_smc *smc, volatile union s_fp_descr *descr, int flag) smc 1458 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1487 drivers/net/fddi/skfp/skfddi.c void mac_drv_tx_complete(struct s_smc *smc, volatile struct s_smt_fp_txd *txd) smc 1501 drivers/net/fddi/skfp/skfddi.c pci_unmap_single(&smc->os.pdev, txd->txd_os.dma_addr, smc 1505 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.tx_packets++; // Count transmitted packets. smc 1506 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.tx_bytes+=skb->len; // Count bytes smc 1569 drivers/net/fddi/skfp/skfddi.c void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 1572 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1588 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.rx_errors++; smc 1641 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.rx_packets++; // Count indicated receive smc 1643 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.rx_bytes+=len; // Count bytes. smc 1648 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.multicast++; smc 1658 drivers/net/fddi/skfp/skfddi.c HWM_RX_CHECK(smc, RX_LOW_WATERMARK); smc 1663 drivers/net/fddi/skfp/skfddi.c mac_drv_requeue_rxd(smc, rxd, frag_count); smc 1664 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.rx_errors++; // Count receive packets smc 1688 drivers/net/fddi/skfp/skfddi.c void mac_drv_requeue_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 1702 drivers/net/fddi/skfp/skfddi.c MaxFrameSize = smc->os.MaxFrameSize; smc 1706 drivers/net/fddi/skfp/skfddi.c rxd = HWM_GET_CURR_RXD(smc); smc 1719 drivers/net/fddi/skfp/skfddi.c b_addr = pci_map_single(&smc->os.pdev, smc 1728 drivers/net/fddi/skfp/skfddi.c v_addr = smc->os.LocalRxBuffer; smc 1729 drivers/net/fddi/skfp/skfddi.c b_addr = smc->os.LocalRxBufferDMA; smc 1735 drivers/net/fddi/skfp/skfddi.c b_addr = pci_map_single(&smc->os.pdev, smc 1741 drivers/net/fddi/skfp/skfddi.c hwm_rx_frag(smc, v_addr, b_addr, MaxFrameSize, smc 1765 drivers/net/fddi/skfp/skfddi.c void mac_drv_fill_rxd(struct s_smc *smc) smc 1778 drivers/net/fddi/skfp/skfddi.c MaxFrameSize = smc->os.MaxFrameSize; smc 1780 drivers/net/fddi/skfp/skfddi.c while (HWM_GET_RX_FREE(smc) > 0) { smc 1783 drivers/net/fddi/skfp/skfddi.c rxd = HWM_GET_CURR_RXD(smc); smc 1790 drivers/net/fddi/skfp/skfddi.c b_addr = pci_map_single(&smc->os.pdev, smc 1802 drivers/net/fddi/skfp/skfddi.c v_addr = smc->os.LocalRxBuffer; smc 1803 drivers/net/fddi/skfp/skfddi.c b_addr = smc->os.LocalRxBufferDMA; smc 1809 drivers/net/fddi/skfp/skfddi.c hwm_rx_frag(smc, v_addr, b_addr, MaxFrameSize, smc 1832 drivers/net/fddi/skfp/skfddi.c void mac_drv_clear_rxd(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, smc 1847 drivers/net/fddi/skfp/skfddi.c skfddi_priv *bp = &smc->os; smc 1889 drivers/net/fddi/skfp/skfddi.c int mac_drv_rx_init(struct s_smc *smc, int len, int fc, smc 1914 drivers/net/fddi/skfp/skfddi.c skb->protocol = fddi_type_trans(skb, smc->os.dev); smc 1936 drivers/net/fddi/skfp/skfddi.c void smt_timer_poll(struct s_smc *smc) smc 1954 drivers/net/fddi/skfp/skfddi.c void ring_status_indication(struct s_smc *smc, u_long status) smc 2028 drivers/net/fddi/skfp/skfddi.c void smt_stat_counter(struct s_smc *smc, int stat) smc 2039 drivers/net/fddi/skfp/skfddi.c smc->os.MacStat.gen.rx_errors++; smc 2064 drivers/net/fddi/skfp/skfddi.c void cfm_state_change(struct s_smc *smc, int c_state) smc 2122 drivers/net/fddi/skfp/skfddi.c void ecm_state_change(struct s_smc *smc, int e_state) smc 2177 drivers/net/fddi/skfp/skfddi.c void rmt_state_change(struct s_smc *smc, int r_state) smc 2229 drivers/net/fddi/skfp/skfddi.c void drv_reset_indication(struct s_smc *smc) smc 2233 drivers/net/fddi/skfp/skfddi.c smc->os.ResetRequested = TRUE; // Set flag. smc 58 drivers/net/fddi/skfp/smt.c static int mac_index(struct s_smc *smc, int mac); smc 59 drivers/net/fddi/skfp/smt.c static int phy_index(struct s_smc *smc, int phy); smc 60 drivers/net/fddi/skfp/smt.c static int mac_con_resource_index(struct s_smc *smc, int mac); smc 61 drivers/net/fddi/skfp/smt.c static int phy_con_resource_index(struct s_smc *smc, int phy); smc 62 drivers/net/fddi/skfp/smt.c static void smt_send_rdf(struct s_smc *smc, SMbuf *rej, int fc, int reason, smc 64 drivers/net/fddi/skfp/smt.c static void smt_send_nif(struct s_smc *smc, const struct fddi_addr *dest, smc 66 drivers/net/fddi/skfp/smt.c static void smt_send_ecf(struct s_smc *smc, struct fddi_addr *dest, int fc, smc 68 drivers/net/fddi/skfp/smt.c static void smt_echo_test(struct s_smc *smc, int dna); smc 69 drivers/net/fddi/skfp/smt.c static void smt_send_sif_config(struct s_smc *smc, struct fddi_addr *dest, smc 71 drivers/net/fddi/skfp/smt.c static void smt_send_sif_operation(struct s_smc *smc, struct fddi_addr *dest, smc 77 drivers/net/fddi/skfp/smt.c static void smt_fill_una(struct s_smc *smc, struct smt_p_una *una); smc 78 drivers/net/fddi/skfp/smt.c static void smt_fill_sde(struct s_smc *smc, struct smt_p_sde *sde); smc 79 drivers/net/fddi/skfp/smt.c static void smt_fill_state(struct s_smc *smc, struct smt_p_state *state); smc 80 drivers/net/fddi/skfp/smt.c static void smt_fill_timestamp(struct s_smc *smc, struct smt_p_timestamp *ts); smc 81 drivers/net/fddi/skfp/smt.c static void smt_fill_policy(struct s_smc *smc, struct smt_p_policy *policy); smc 82 drivers/net/fddi/skfp/smt.c static void smt_fill_latency(struct s_smc *smc, struct smt_p_latency *latency); smc 83 drivers/net/fddi/skfp/smt.c static void smt_fill_neighbor(struct s_smc *smc, struct smt_p_neighbor *neighbor); smc 84 drivers/net/fddi/skfp/smt.c static int smt_fill_path(struct s_smc *smc, struct smt_p_path *path); smc 85 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_status(struct s_smc *smc, struct smt_p_mac_status *st); smc 86 drivers/net/fddi/skfp/smt.c static void smt_fill_lem(struct s_smc *smc, struct smt_p_lem *lem, int phy); smc 87 drivers/net/fddi/skfp/smt.c static void smt_fill_version(struct s_smc *smc, struct smt_p_version *vers); smc 88 drivers/net/fddi/skfp/smt.c static void smt_fill_fsc(struct s_smc *smc, struct smt_p_fsc *fsc); smc 89 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_counter(struct s_smc *smc, struct smt_p_mac_counter *mc); smc 90 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_fnc(struct s_smc *smc, struct smt_p_mac_fnc *fnc); smc 91 drivers/net/fddi/skfp/smt.c static void smt_fill_manufacturer(struct s_smc *smc, smc 93 drivers/net/fddi/skfp/smt.c static void smt_fill_user(struct s_smc *smc, struct smp_p_user *user); smc 94 drivers/net/fddi/skfp/smt.c static void smt_fill_setcount(struct s_smc *smc, struct smt_p_setcount *setcount); smc 95 drivers/net/fddi/skfp/smt.c static void smt_fill_echo(struct s_smc *smc, struct smt_p_echo *echo, u_long seed, smc 98 drivers/net/fddi/skfp/smt.c static void smt_clear_una_dna(struct s_smc *smc); smc 99 drivers/net/fddi/skfp/smt.c static void smt_clear_old_una_dna(struct s_smc *smc); smc 103 drivers/net/fddi/skfp/smt.c static void update_dac(struct s_smc *smc, int report); smc 106 drivers/net/fddi/skfp/smt.c static void hwm_conv_can(struct s_smc *smc, char *data, int len); smc 108 drivers/net/fddi/skfp/smt.c #define hwm_conv_can(smc,data,len) smc 112 drivers/net/fddi/skfp/smt.c static inline int is_my_addr(const struct s_smc *smc, smc 116 drivers/net/fddi/skfp/smt.c *(short *)(&smc->mib.m[MAC0].fddiMACSMTAddress.a[0]) smc 118 drivers/net/fddi/skfp/smt.c *(short *)(&smc->mib.m[MAC0].fddiMACSMTAddress.a[2]) smc 120 drivers/net/fddi/skfp/smt.c *(short *)(&smc->mib.m[MAC0].fddiMACSMTAddress.a[4])) ; smc 151 drivers/net/fddi/skfp/smt.c void smt_agent_init(struct s_smc *smc) smc 158 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACSMTAddress = smc->hw.fddi_home_addr ; smc 163 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_oem[0] = 0 ; smc 164 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_oem[1] = 0 ; smc 165 drivers/net/fddi/skfp/smt.c driver_get_bia(smc,&smc->mib.fddiSMTStationId.sid_node) ; smc 167 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_node.a[i] = smc 168 drivers/net/fddi/skfp/smt.c bitrev8(smc->mib.fddiSMTStationId.sid_node.a[i]); smc 170 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTManufacturerData[0] = smc 171 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_node.a[0] ; smc 172 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTManufacturerData[1] = smc 173 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_node.a[1] ; smc 174 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTManufacturerData[2] = smc 175 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTStationId.sid_node.a[2] ; smc 176 drivers/net/fddi/skfp/smt.c smc->sm.smt_tid = 0 ; smc 177 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDupAddressTest = DA_NONE ; smc 178 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUNDA_Flag = FALSE ; smc 180 drivers/net/fddi/skfp/smt.c smt_clear_una_dna(smc) ; smc 181 drivers/net/fddi/skfp/smt.c smt_clear_old_una_dna(smc) ; smc 184 drivers/net/fddi/skfp/smt.c smc->sm.pend[i] = 0 ; smc 185 drivers/net/fddi/skfp/smt.c smc->sm.please_reconnect = 0 ; smc 186 drivers/net/fddi/skfp/smt.c smc->sm.uniq_ticks = 0 ; smc 197 drivers/net/fddi/skfp/smt.c void smt_agent_task(struct s_smc *smc) smc 199 drivers/net/fddi/skfp/smt.c smt_timer_start(smc,&smc->sm.smt_timer, (u_long)1000000L, smc 205 drivers/net/fddi/skfp/smt.c void smt_emulate_token_ct(struct s_smc *smc, int mac_index) smc 212 drivers/net/fddi/skfp/smt.c count = ((time - smc->sm.last_tok_time[mac_index]) * smc 221 drivers/net/fddi/skfp/smt.c if (smc->hw.mac_ring_is_up){ smc 222 drivers/net/fddi/skfp/smt.c smc->mib.m[mac_index].fddiMACToken_Ct += count; smc 226 drivers/net/fddi/skfp/smt.c smc->sm.last_tok_time[mac_index] = time; smc 232 drivers/net/fddi/skfp/smt.c void smt_event(struct s_smc *smc, int event) smc 240 drivers/net/fddi/skfp/smt.c if (smc->sm.please_reconnect) { smc 241 drivers/net/fddi/skfp/smt.c smc->sm.please_reconnect -- ; smc 242 drivers/net/fddi/skfp/smt.c if (smc->sm.please_reconnect == 0) { smc 244 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_ECM,EC_CONNECT) ; smc 257 drivers/net/fddi/skfp/smt.c smt_timer_poll(smc) ; smc 258 drivers/net/fddi/skfp/smt.c smt_start_watchdog(smc) ; smc 262 drivers/net/fddi/skfp/smt.c ess_timer_poll(smc) ; smc 266 drivers/net/fddi/skfp/smt.c sba_timer_poll(smc) ; smc 269 drivers/net/fddi/skfp/smt.c smt_srf_event(smc,0,0,0) ; smc 275 drivers/net/fddi/skfp/smt.c if (time - smc->sm.smt_last_lem >= TICKS_PER_SECOND*8) { smc 289 drivers/net/fddi/skfp/smt.c sm_lem_evaluate(smc) ; smc 290 drivers/net/fddi/skfp/smt.c smc->sm.smt_last_lem = time ; smc 296 drivers/net/fddi/skfp/smt.c mac_update_counter(smc) ; smc 297 drivers/net/fddi/skfp/smt.c mib = smc->mib.m ; smc 313 drivers/net/fddi/skfp/smt.c smt_srf_event(smc,SMT_COND_MAC_FRAME_ERROR, smc 331 drivers/net/fddi/skfp/smt.c smt_srf_event(smc,SMT_COND_MAC_NOT_COPIED, smc 347 drivers/net/fddi/skfp/smt.c phy = &smc->y[port] ; smc 359 drivers/net/fddi/skfp/smt.c smt_srf_event(smc,SMT_COND_PORT_EB_ERROR, smc 374 drivers/net/fddi/skfp/smt.c if (time - smc->sm.smt_last_notify >= (u_long) smc 375 drivers/net/fddi/skfp/smt.c (smc->mib.fddiSMTTT_Notify * TICKS_PER_SECOND) ) { smc 382 drivers/net/fddi/skfp/smt.c if (!smc->sm.pend[SMT_TID_NIF]) smc 383 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF] = smt_get_tid(smc) ; smc 384 drivers/net/fddi/skfp/smt.c smt_send_nif(smc,&fddi_broadcast, FC_SMT_NSA, smc 385 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF], SMT_REQUEST,0) ; smc 386 drivers/net/fddi/skfp/smt.c smc->sm.smt_last_notify = time ; smc 392 drivers/net/fddi/skfp/smt.c if (smc->sm.smt_tvu && smc 393 drivers/net/fddi/skfp/smt.c time - smc->sm.smt_tvu > 228*TICKS_PER_SECOND) { smc 395 drivers/net/fddi/skfp/smt.c smc->sm.smt_tvu = 0 ; smc 397 drivers/net/fddi/skfp/smt.c if (!is_equal(&smc->mib.m[MAC0].fddiMACUpstreamNbr, smc 400 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldUpstreamNbr= smc 401 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUpstreamNbr ; smc 403 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUpstreamNbr = SMT_Unknown ; smc 404 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUNDA_Flag = FALSE ; smc 411 drivers/net/fddi/skfp/smt.c update_dac(smc,0) ; smc 412 drivers/net/fddi/skfp/smt.c smt_srf_event(smc, SMT_EVENT_MAC_NEIGHBOR_CHANGE, smc 415 drivers/net/fddi/skfp/smt.c if (smc->sm.smt_tvd && smc 416 drivers/net/fddi/skfp/smt.c time - smc->sm.smt_tvd > 228*TICKS_PER_SECOND) { smc 418 drivers/net/fddi/skfp/smt.c smc->sm.smt_tvd = 0 ; smc 419 drivers/net/fddi/skfp/smt.c if (!is_equal(&smc->mib.m[MAC0].fddiMACDownstreamNbr, smc 422 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldDownstreamNbr= smc 423 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDownstreamNbr ; smc 425 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDownstreamNbr = SMT_Unknown ; smc 426 drivers/net/fddi/skfp/smt.c smt_srf_event(smc, SMT_EVENT_MAC_NEIGHBOR_CHANGE, smc 438 drivers/net/fddi/skfp/smt.c if (time - smc->sm.last_tok_time[i] > 2*TICKS_PER_SECOND ){ smc 439 drivers/net/fddi/skfp/smt.c smt_emulate_token_ct( smc, i ); smc 444 drivers/net/fddi/skfp/smt.c smt_timer_start(smc,&smc->sm.smt_timer, (u_long)1000000L, smc 464 drivers/net/fddi/skfp/smt.c void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs) smc 479 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 483 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACSMTCopied_Ct++ ; smc 486 drivers/net/fddi/skfp/smt.c hwm_conv_can(smc,(char *)sm,12) ; smc 489 drivers/net/fddi/skfp/smt.c if (is_individual(&sm->smt_dest) && !is_my_addr(smc,&sm->smt_dest)) { smc 490 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 495 drivers/net/fddi/skfp/smt.c if (is_my_addr(smc,&sm->smt_source) && !local) { smc 496 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 514 drivers/net/fddi/skfp/smt.c smc->sba.sm = sm ; smc 515 drivers/net/fddi/skfp/smt.c sba(smc,NIF) ; smc 525 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 534 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 557 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_VERSION,local) ; smc 558 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 564 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_LENGTH,local) ; smc 565 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 570 drivers/net/fddi/skfp/smt.c if (smt_check_para(smc,sm,plist_nif)) { smc 583 drivers/net/fddi/skfp/smt.c &smc->mib.m[MAC0].fddiMACUpstreamNbr, smc 587 drivers/net/fddi/skfp/smt.c if (!is_equal(&smc->mib.m[MAC0]. smc 590 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldUpstreamNbr= smc 591 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUpstreamNbr ; smc 594 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUpstreamNbr = smc 596 drivers/net/fddi/skfp/smt.c smt_srf_event(smc, smc 599 drivers/net/fddi/skfp/smt.c smt_echo_test(smc,0) ; smc 601 drivers/net/fddi/skfp/smt.c smc->sm.smt_tvu = smt_get_time() ; smc 603 drivers/net/fddi/skfp/smt.c sm_to_para(smc,sm,SMT_P_STATE) ; smc 605 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUNDA_Flag = smc 608 drivers/net/fddi/skfp/smt.c update_dac(smc,1) ; smc 617 drivers/net/fddi/skfp/smt.c smt_send_nif(smc,&sm->smt_source, smc 627 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF] = 0 ; smc 629 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDupAddressTest = smc 631 drivers/net/fddi/skfp/smt.c smc->r.dup_addr_test = DA_FAILED ; smc 632 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_RMT,RM_DUP_ADDR) ; smc 633 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDA_Flag = TRUE ; smc 634 drivers/net/fddi/skfp/smt.c update_dac(smc,1) ; smc 637 drivers/net/fddi/skfp/smt.c if (sm->smt_tid == smc->sm.pend[SMT_TID_NIF]) { smc 638 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF] = 0 ; smc 641 drivers/net/fddi/skfp/smt.c &smc->mib.m[MAC0].fddiMACDownstreamNbr, smc 644 drivers/net/fddi/skfp/smt.c if (!is_equal(&smc->mib.m[MAC0]. smc 647 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldDownstreamNbr = smc 648 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDownstreamNbr ; smc 651 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDownstreamNbr = smc 653 drivers/net/fddi/skfp/smt.c smt_srf_event(smc, smc 656 drivers/net/fddi/skfp/smt.c smt_echo_test(smc,1) ; smc 658 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDA_Flag = FALSE ; smc 659 drivers/net/fddi/skfp/smt.c update_dac(smc,1) ; smc 660 drivers/net/fddi/skfp/smt.c smc->sm.smt_tvd = smt_get_time() ; smc 661 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDupAddressTest = smc 663 drivers/net/fddi/skfp/smt.c if (smc->r.dup_addr_test != DA_PASSED) { smc 664 drivers/net/fddi/skfp/smt.c smc->r.dup_addr_test = DA_PASSED ; smc 665 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_RMT,RM_DUP_ADDR) ; smc 669 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF_TEST]) { smc 674 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF], sm->smt_tid); smc 687 drivers/net/fddi/skfp/smt.c smt_send_sif_config(smc,&sm->smt_source,sm->smt_tid,local) ; smc 694 drivers/net/fddi/skfp/smt.c smt_send_sif_operation(smc,&sm->smt_source,sm->smt_tid,local) ; smc 699 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVECF_Reply_Rx++ ; smc 702 drivers/net/fddi/skfp/smt.c if (sm_to_para(smc,sm,SMT_P_ECHODATA) == NULL) { smc 706 drivers/net/fddi/skfp/smt.c if (sm->smt_tid == smc->sm.pend[SMT_TID_ECF]) { smc 709 drivers/net/fddi/skfp/smt.c else if (sm->smt_tid == smc->sm.pend[SMT_TID_ECF_UNA]) { smc 712 drivers/net/fddi/skfp/smt.c else if (sm->smt_tid == smc->sm.pend[SMT_TID_ECF_DNA]) { smc 717 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_ECF], smc 722 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVECF_Req_Rx++ ; smc 724 drivers/net/fddi/skfp/smt.c if (sm->smt_len && !sm_to_para(smc,sm,SMT_P_ECHODATA)) { smc 726 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_LENGTH, smc 736 drivers/net/fddi/skfp/smt.c dump_smt(smc,sm,"ECF REPLY") ; smc 737 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVECF_Reply_Tx++ ; smc 738 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; smc 750 drivers/net/fddi/skfp/smt.c fs = ess_raf_received_pack(smc,mb,sm,fs) ; smc 755 drivers/net/fddi/skfp/smt.c sba_raf_received_pack(smc,sm,fs) ; smc 759 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVRDF_Rx++ ; smc 764 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_CLASS,local) ; smc 773 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVPMF_Get_Rx++ ; smc 775 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVPMF_Set_Rx++ ; smc 784 drivers/net/fddi/skfp/smt.c smt_pmf_received_pack(smc,mb, local) ; smc 787 drivers/net/fddi/skfp/smt.c dump_smt(smc,sm,"SRF received") ; smc 800 drivers/net/fddi/skfp/smt.c smt_send_rdf(smc,mb,m_fc(mb),SMT_RDF_CLASS,local) ; smc 807 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 810 drivers/net/fddi/skfp/smt.c static void update_dac(struct s_smc *smc, int report) smc 814 drivers/net/fddi/skfp/smt.c cond = ( smc->mib.m[MAC0].fddiMACUNDA_Flag | smc 815 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDA_Flag) != 0 ; smc 816 drivers/net/fddi/skfp/smt.c if (report && (cond != smc->mib.m[MAC0].fddiMACDuplicateAddressCond)) smc 817 drivers/net/fddi/skfp/smt.c smt_srf_event(smc, SMT_COND_MAC_DUP_ADDR,INDEX_MAC,cond) ; smc 819 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDuplicateAddressCond = cond ; smc 828 drivers/net/fddi/skfp/smt.c void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local) smc 834 drivers/net/fddi/skfp/smt.c if (!smc->r.sm_ma_avail && !local) { smc 835 drivers/net/fddi/skfp/smt.c smt_free_mbuf(smc,mb) ; smc 839 drivers/net/fddi/skfp/smt.c sm->smt_source = smc->mib.m[MAC0].fddiMACSMTAddress ; smc 840 drivers/net/fddi/skfp/smt.c sm->smt_sid = smc->mib.fddiSMTStationId ; smc 843 drivers/net/fddi/skfp/smt.c hwm_conv_can(smc,(char *)sm,12) ; /* convert SA and DA */ smc 844 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACSMTTransmit_Ct++ ; smc 845 drivers/net/fddi/skfp/smt.c smt_send_mbuf(smc,mb,local ? FC_SMT_LOC : fc) ; smc 851 drivers/net/fddi/skfp/smt.c static void smt_send_rdf(struct s_smc *smc, SMbuf *rej, int fc, int reason, smc 877 drivers/net/fddi/skfp/smt.c if (!(mb=smt_build_frame(smc,SMT_RDF,SMT_REPLY,sizeof(struct smt_rdf)))) smc 920 drivers/net/fddi/skfp/smt.c dump_smt(smc,(struct smt_header *)rdf,"RDF") ; smc 921 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVRDF_Tx++ ; smc 922 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; smc 928 drivers/net/fddi/skfp/smt.c static void smt_send_nif(struct s_smc *smc, const struct fddi_addr *dest, smc 938 drivers/net/fddi/skfp/smt.c if (!(mb = smt_build_frame(smc,SMT_NIF,type,sizeof(struct smt_nif)))) smc 941 drivers/net/fddi/skfp/smt.c smt_fill_una(smc,&nif->una) ; /* set UNA */ smc 942 drivers/net/fddi/skfp/smt.c smt_fill_sde(smc,&nif->sde) ; /* set station descriptor */ smc 943 drivers/net/fddi/skfp/smt.c smt_fill_state(smc,&nif->state) ; /* set state information */ smc 945 drivers/net/fddi/skfp/smt.c smt_fill_fsc(smc,&nif->fsc) ; /* set frame status cap. */ smc 949 drivers/net/fddi/skfp/smt.c dump_smt(smc,(struct smt_header *)nif,"NIF") ; smc 950 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,fc,local) ; smc 957 drivers/net/fddi/skfp/smt.c static void smt_send_nif_request(struct s_smc *smc, struct fddi_addr *dest) smc 959 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_NIF_TEST] = smt_get_tid(smc) ; smc 960 drivers/net/fddi/skfp/smt.c smt_send_nif(smc,dest, FC_SMT_INFO, smc->sm.pend[SMT_TID_NIF_TEST], smc 967 drivers/net/fddi/skfp/smt.c static void smt_send_ecf_request(struct s_smc *smc, struct fddi_addr *dest, smc 970 drivers/net/fddi/skfp/smt.c smc->sm.pend[SMT_TID_ECF] = smt_get_tid(smc) ; smc 971 drivers/net/fddi/skfp/smt.c smt_send_ecf(smc,dest, FC_SMT_INFO, smc->sm.pend[SMT_TID_ECF], smc 979 drivers/net/fddi/skfp/smt.c static void smt_echo_test(struct s_smc *smc, int dna) smc 983 drivers/net/fddi/skfp/smt.c smc->sm.pend[dna ? SMT_TID_ECF_DNA : SMT_TID_ECF_UNA] = smc 984 drivers/net/fddi/skfp/smt.c tid = smt_get_tid(smc) ; smc 985 drivers/net/fddi/skfp/smt.c smt_send_ecf(smc, dna ? smc 986 drivers/net/fddi/skfp/smt.c &smc->mib.m[MAC0].fddiMACDownstreamNbr : smc 987 drivers/net/fddi/skfp/smt.c &smc->mib.m[MAC0].fddiMACUpstreamNbr, smc 994 drivers/net/fddi/skfp/smt.c static void smt_send_ecf(struct s_smc *smc, struct fddi_addr *dest, int fc, smc 1005 drivers/net/fddi/skfp/smt.c if (!(mb = smt_build_frame(smc,SMT_ECF,type,SMT_ECF_LEN + len))) smc 1009 drivers/net/fddi/skfp/smt.c smt_fill_echo(smc,&ecf->ec_echo,tid,len) ; /* set ECHO */ smc 1012 drivers/net/fddi/skfp/smt.c smc->mib.priv.fddiPRIVECF_Req_Tx++ ; smc 1013 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,fc,0) ; smc 1020 drivers/net/fddi/skfp/smt.c static void smt_send_sif_config(struct s_smc *smc, struct fddi_addr *dest, smc 1028 drivers/net/fddi/skfp/smt.c if (!(mb = smt_build_frame(smc,SMT_SIF_CONFIG,SMT_REPLY, smc 1033 drivers/net/fddi/skfp/smt.c smt_fill_timestamp(smc,&sif->ts) ; /* set time stamp */ smc 1034 drivers/net/fddi/skfp/smt.c smt_fill_sde(smc,&sif->sde) ; /* set station descriptor */ smc 1035 drivers/net/fddi/skfp/smt.c smt_fill_version(smc,&sif->version) ; /* set version information */ smc 1036 drivers/net/fddi/skfp/smt.c smt_fill_state(smc,&sif->state) ; /* set state information */ smc 1037 drivers/net/fddi/skfp/smt.c smt_fill_policy(smc,&sif->policy) ; /* set station policy */ smc 1038 drivers/net/fddi/skfp/smt.c smt_fill_latency(smc,&sif->latency); /* set station latency */ smc 1039 drivers/net/fddi/skfp/smt.c smt_fill_neighbor(smc,&sif->neighbor); /* set station neighbor */ smc 1040 drivers/net/fddi/skfp/smt.c smt_fill_setcount(smc,&sif->setcount) ; /* set count */ smc 1041 drivers/net/fddi/skfp/smt.c len = smt_fill_path(smc,&sif->path); /* set station path descriptor*/ smc 1045 drivers/net/fddi/skfp/smt.c dump_smt(smc,(struct smt_header *)sif,"SIF Configuration Reply") ; smc 1046 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; smc 1053 drivers/net/fddi/skfp/smt.c static void smt_send_sif_operation(struct s_smc *smc, struct fddi_addr *dest, smc 1065 drivers/net/fddi/skfp/smt.c if (smc->s.sas == SMT_SAS) smc 1069 drivers/net/fddi/skfp/smt.c if (!(mb = smt_build_frame(smc,SMT_SIF_OPER,SMT_REPLY, smc 1073 drivers/net/fddi/skfp/smt.c smt_fill_timestamp(smc,&sif->ts) ; /* set time stamp */ smc 1074 drivers/net/fddi/skfp/smt.c smt_fill_mac_status(smc,&sif->status) ; /* set mac status */ smc 1075 drivers/net/fddi/skfp/smt.c smt_fill_mac_counter(smc,&sif->mc) ; /* set mac counter field */ smc 1076 drivers/net/fddi/skfp/smt.c smt_fill_mac_fnc(smc,&sif->fnc) ; /* set frame not copied counter */ smc 1077 drivers/net/fddi/skfp/smt.c smt_fill_manufacturer(smc,&sif->man) ; /* set manufacturer field */ smc 1078 drivers/net/fddi/skfp/smt.c smt_fill_user(smc,&sif->user) ; /* set user field */ smc 1079 drivers/net/fddi/skfp/smt.c smt_fill_setcount(smc,&sif->setcount) ; /* set count */ smc 1084 drivers/net/fddi/skfp/smt.c smt_fill_lem(smc,sif->lem,PS) ; smc 1088 drivers/net/fddi/skfp/smt.c smt_fill_lem(smc,&sif->lem[i],i) ; smc 1094 drivers/net/fddi/skfp/smt.c dump_smt(smc,(struct smt_header *)sif,"SIF Operation Reply") ; smc 1095 drivers/net/fddi/skfp/smt.c smt_send_frame(smc,mb,FC_SMT_INFO,local) ; smc 1101 drivers/net/fddi/skfp/smt.c SMbuf *smt_build_frame(struct s_smc *smc, int class, int type, smc 1108 drivers/net/fddi/skfp/smt.c if (!smc->r.sm_ma_avail) { smc 1112 drivers/net/fddi/skfp/smt.c if (!(mb = smt_get_mbuf(smc))) smc 1131 drivers/net/fddi/skfp/smt.c smt->smt_tid = smt_get_tid(smc) ; /* set transaction ID */ smc 1151 drivers/net/fddi/skfp/smt.c static void smt_fill_una(struct s_smc *smc, struct smt_p_una *una) smc 1155 drivers/net/fddi/skfp/smt.c una->una_node = smc->mib.m[MAC0].fddiMACUpstreamNbr ; smc 1161 drivers/net/fddi/skfp/smt.c static void smt_fill_sde(struct s_smc *smc, struct smt_p_sde *sde) smc 1164 drivers/net/fddi/skfp/smt.c sde->sde_non_master = smc->mib.fddiSMTNonMaster_Ct ; smc 1165 drivers/net/fddi/skfp/smt.c sde->sde_master = smc->mib.fddiSMTMaster_Ct ; smc 1177 drivers/net/fddi/skfp/smt.c static void smt_fill_state(struct s_smc *smc, struct smt_p_state *state) smc 1187 drivers/net/fddi/skfp/smt.c if (smc->mib.fddiSMTPeerWrapFlag) { smc 1191 drivers/net/fddi/skfp/smt.c if (cfm_status_unattached(smc)) { smc 1195 drivers/net/fddi/skfp/smt.c if ((twist = pcm_status_twisted(smc)) & 1) { smc 1204 drivers/net/fddi/skfp/smt.c if (pcm_rooted_station(smc)) smc 1206 drivers/net/fddi/skfp/smt.c if (smc->mib.a[0].fddiPATHSbaPayload != 0) smc 1210 drivers/net/fddi/skfp/smt.c ((smc->mib.m[MAC0].fddiMACDA_Flag ? SMT_ST_MY_DUPA : 0 ) | smc 1211 drivers/net/fddi/skfp/smt.c (smc->mib.m[MAC0].fddiMACUNDA_Flag ? SMT_ST_UNA_DUPA : 0)) ; smc 1217 drivers/net/fddi/skfp/smt.c static void smt_fill_timestamp(struct s_smc *smc, struct smt_p_timestamp *ts) smc 1221 drivers/net/fddi/skfp/smt.c smt_set_timestamp(smc,ts->ts_time) ; smc 1224 drivers/net/fddi/skfp/smt.c void smt_set_timestamp(struct s_smc *smc, u_char *p) smc 1243 drivers/net/fddi/skfp/smt.c p[6] = (u_char)(smc->sm.uniq_ticks>>8) ; smc 1244 drivers/net/fddi/skfp/smt.c p[7] = (u_char)smc->sm.uniq_ticks ; smc 1248 drivers/net/fddi/skfp/smt.c if (utime != smc->sm.uniq_time) { smc 1249 drivers/net/fddi/skfp/smt.c smc->sm.uniq_ticks = 0 ; smc 1251 drivers/net/fddi/skfp/smt.c smc->sm.uniq_ticks++ ; smc 1252 drivers/net/fddi/skfp/smt.c smc->sm.uniq_time = utime ; smc 1258 drivers/net/fddi/skfp/smt.c static void smt_fill_policy(struct s_smc *smc, struct smt_p_policy *policy) smc 1275 drivers/net/fddi/skfp/smt.c in = smc->mib.fddiSMTConnectionPolicy ; smc 1282 drivers/net/fddi/skfp/smt.c policy->pl_config = smc->mib.fddiSMTConfigPolicy ; smc 1289 drivers/net/fddi/skfp/smt.c static void smt_fill_latency(struct s_smc *smc, struct smt_p_latency *latency) smc 1293 drivers/net/fddi/skfp/smt.c latency->lt_phyout_idx1 = phy_index(smc,0) ; smc 1299 drivers/net/fddi/skfp/smt.c if (smc->s.sas == SMT_DAS) { smc 1300 drivers/net/fddi/skfp/smt.c latency->lt_phyout_idx2 = phy_index(smc,1) ; smc 1312 drivers/net/fddi/skfp/smt.c static void smt_fill_neighbor(struct s_smc *smc, struct smt_p_neighbor *neighbor) smc 1317 drivers/net/fddi/skfp/smt.c neighbor->nb_mac_index = mac_index(smc,1) ; smc 1318 drivers/net/fddi/skfp/smt.c neighbor->nb_una = smc->mib.m[MAC0].fddiMACUpstreamNbr ; smc 1319 drivers/net/fddi/skfp/smt.c neighbor->nb_dna = smc->mib.m[MAC0].fddiMACDownstreamNbr ; smc 1328 drivers/net/fddi/skfp/smt.c #define ALLPHYS ((smc->s.sas == SMT_SAS) ? 1 : 2) smc 1331 drivers/net/fddi/skfp/smt.c static int smt_fill_path(struct s_smc *smc, struct smt_p_path *path) smc 1353 drivers/net/fddi/skfp/smt.c if (smc->s.sas == SMT_SAS) smc 1356 drivers/net/fddi/skfp/smt.c pcm_status_state(smc,physp,&type,&state,&remote,&mac) ; smc 1366 drivers/net/fddi/skfp/smt.c phy->phy_resource_idx = phy_con_resource_index(smc,p) ; smc 1371 drivers/net/fddi/skfp/smt.c pd_mac->mac_addr = smc->mib.m[MAC0].fddiMACSMTAddress ; smc 1372 drivers/net/fddi/skfp/smt.c pd_mac->mac_resource_idx = mac_con_resource_index(smc,1) ; smc 1379 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_status(struct s_smc *smc, struct smt_p_mac_status *st) smc 1384 drivers/net/fddi/skfp/smt.c st->st_mac_index = mac_index(smc,1) ; smc 1386 drivers/net/fddi/skfp/smt.c mac_update_counter(smc) ; smc 1391 drivers/net/fddi/skfp/smt.c st->st_t_req = smc->mib.m[MAC0].fddiMACT_Req ; smc 1392 drivers/net/fddi/skfp/smt.c st->st_t_neg = smc->mib.m[MAC0].fddiMACT_Neg ; smc 1393 drivers/net/fddi/skfp/smt.c st->st_t_max = smc->mib.m[MAC0].fddiMACT_Max ; smc 1394 drivers/net/fddi/skfp/smt.c st->st_tvx_value = smc->mib.m[MAC0].fddiMACTvxValue ; smc 1395 drivers/net/fddi/skfp/smt.c st->st_t_min = smc->mib.m[MAC0].fddiMACT_Min ; smc 1397 drivers/net/fddi/skfp/smt.c st->st_sba = smc->mib.a[PATH0].fddiPATHSbaPayload ; smc 1398 drivers/net/fddi/skfp/smt.c st->st_frame_ct = smc->mib.m[MAC0].fddiMACFrame_Ct ; smc 1399 drivers/net/fddi/skfp/smt.c st->st_error_ct = smc->mib.m[MAC0].fddiMACError_Ct ; smc 1400 drivers/net/fddi/skfp/smt.c st->st_lost_ct = smc->mib.m[MAC0].fddiMACLost_Ct ; smc 1406 drivers/net/fddi/skfp/smt.c static void smt_fill_lem(struct s_smc *smc, struct smt_p_lem *lem, int phy) smc 1410 drivers/net/fddi/skfp/smt.c mib = smc->y[phy].mib ; smc 1414 drivers/net/fddi/skfp/smt.c lem->lem_phy_index = phy_index(smc,phy) ; smc 1428 drivers/net/fddi/skfp/smt.c static void smt_fill_version(struct s_smc *smc, struct smt_p_version *vers) smc 1430 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1447 drivers/net/fddi/skfp/smt.c static void smt_fill_fsc(struct s_smc *smc, struct smt_p_fsc *fsc) smc 1449 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1467 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_counter(struct s_smc *smc, struct smt_p_mac_counter *mc) smc 1471 drivers/net/fddi/skfp/smt.c mc->mc_index = mac_index(smc,1) ; smc 1472 drivers/net/fddi/skfp/smt.c mc->mc_receive_ct = smc->mib.m[MAC0].fddiMACCopied_Ct ; smc 1473 drivers/net/fddi/skfp/smt.c mc->mc_transmit_ct = smc->mib.m[MAC0].fddiMACTransmit_Ct ; smc 1479 drivers/net/fddi/skfp/smt.c static void smt_fill_mac_fnc(struct s_smc *smc, struct smt_p_mac_fnc *fnc) smc 1483 drivers/net/fddi/skfp/smt.c fnc->nc_index = mac_index(smc,1) ; smc 1484 drivers/net/fddi/skfp/smt.c fnc->nc_counter = smc->mib.m[MAC0].fddiMACNotCopied_Ct ; smc 1491 drivers/net/fddi/skfp/smt.c static void smt_fill_manufacturer(struct s_smc *smc, smc 1496 drivers/net/fddi/skfp/smt.c (char *) smc->mib.fddiSMTManufacturerData, smc 1503 drivers/net/fddi/skfp/smt.c static void smt_fill_user(struct s_smc *smc, struct smp_p_user *user) smc 1507 drivers/net/fddi/skfp/smt.c (char *) smc->mib.fddiSMTUserData, smc 1514 drivers/net/fddi/skfp/smt.c static void smt_fill_setcount(struct s_smc *smc, struct smt_p_setcount *setcount) smc 1516 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1518 drivers/net/fddi/skfp/smt.c setcount->count = smc->mib.fddiSMTSetCount.count ; smc 1520 drivers/net/fddi/skfp/smt.c (char *)smc->mib.fddiSMTSetCount.timestamp,8) ; smc 1526 drivers/net/fddi/skfp/smt.c static void smt_fill_echo(struct s_smc *smc, struct smt_p_echo *echo, u_long seed, smc 1531 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1544 drivers/net/fddi/skfp/smt.c static void smt_clear_una_dna(struct s_smc *smc) smc 1546 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACUpstreamNbr = SMT_Unknown ; smc 1547 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACDownstreamNbr = SMT_Unknown ; smc 1550 drivers/net/fddi/skfp/smt.c static void smt_clear_old_una_dna(struct s_smc *smc) smc 1552 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldUpstreamNbr = SMT_Unknown ; smc 1553 drivers/net/fddi/skfp/smt.c smc->mib.m[MAC0].fddiMACOldDownstreamNbr = SMT_Unknown ; smc 1556 drivers/net/fddi/skfp/smt.c u_long smt_get_tid(struct s_smc *smc) smc 1559 drivers/net/fddi/skfp/smt.c while ((tid = ++(smc->sm.smt_tid) ^ SMT_TID_MAGIC) == 0) smc 1645 drivers/net/fddi/skfp/smt.c int smt_check_para(struct s_smc *smc, struct smt_header *sm, smc 1650 drivers/net/fddi/skfp/smt.c if (!sm_to_para(smc,sm,(int) *p)) { smc 1659 drivers/net/fddi/skfp/smt.c void *sm_to_para(struct s_smc *smc, struct smt_header *sm, int para) smc 1666 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1694 drivers/net/fddi/skfp/smt.c void fddi_send_antc(struct s_smc *smc, struct fddi_addr *dest) smc 1696 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1712 drivers/net/fddi/skfp/smt.c smt->smt_source = smc->mib.m[MAC0].fddiMACSMTAddress ; smc 1713 drivers/net/fddi/skfp/smt.c smt_send_mbuf(smc,mb,FC_ASYNC_LLC) ; smc 1737 drivers/net/fddi/skfp/smt.c static int mac_index(struct s_smc *smc, int mac) smc 1741 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1744 drivers/net/fddi/skfp/smt.c return (smc->s.sas == SMT_SAS) ? 2 : 3; smc 1751 drivers/net/fddi/skfp/smt.c static int phy_index(struct s_smc *smc, int phy) smc 1753 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1760 drivers/net/fddi/skfp/smt.c static int mac_con_resource_index(struct s_smc *smc, int mac) smc 1763 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 1765 drivers/net/fddi/skfp/smt.c return entity_to_index(smc, cem_get_downstream(smc, ENTITY_MAC)); smc 1768 drivers/net/fddi/skfp/smt.c switch (smc->mib.fddiSMTCF_State) { smc 1777 drivers/net/fddi/skfp/smt.c return smc->s.sas == SMT_SAS ? 2 : 3; smc 1784 drivers/net/fddi/skfp/smt.c static int phy_con_resource_index(struct s_smc *smc, int phy) smc 1787 drivers/net/fddi/skfp/smt.c return entity_to_index(smc, cem_get_downstream(smc, ENTITY_PHY(phy))) ; smc 1789 drivers/net/fddi/skfp/smt.c switch (smc->mib.fddiSMTCF_State) { smc 1806 drivers/net/fddi/skfp/smt.c static int entity_to_index(struct s_smc *smc, int e) smc 1809 drivers/net/fddi/skfp/smt.c return mac_index(smc, 1); smc 1811 drivers/net/fddi/skfp/smt.c return phy_index(smc, e - ENTITY_PHY(0)); smc 1931 drivers/net/fddi/skfp/smt.c int smt_action(struct s_smc *smc, int class, int code, int index) smc 1940 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTRemoteDisconnectFlag = FALSE ; smc 1941 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_ECM,EC_CONNECT) ; smc 1944 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_ECM,EC_DISCONNECT) ; smc 1945 drivers/net/fddi/skfp/smt.c smc->mib.fddiSMTRemoteDisconnectFlag = TRUE ; smc 1946 drivers/net/fddi/skfp/smt.c RS_SET(smc,RS_DISCONNECT) ; smc 1947 drivers/net/fddi/skfp/smt.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 1949 drivers/net/fddi/skfp/smt.c smt_get_event_word(smc)); smc 1952 drivers/net/fddi/skfp/smt.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 1954 drivers/net/fddi/skfp/smt.c smt_get_event_word(smc)); smc 1957 drivers/net/fddi/skfp/smt.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 1959 drivers/net/fddi/skfp/smt.c smt_get_event_word(smc)); smc 1962 drivers/net/fddi/skfp/smt.c if (smc->y[PA].pc_mode == PM_PEER) { smc 1963 drivers/net/fddi/skfp/smt.c RS_SET(smc,RS_EVENT) ; smc 1964 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_PCM+PA,PC_DISABLE) ; smc 1968 drivers/net/fddi/skfp/smt.c if (smc->y[PB].pc_mode == PM_PEER) { smc 1969 drivers/net/fddi/skfp/smt.c RS_SET(smc,RS_EVENT) ; smc 1970 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_PCM+PB,PC_DISABLE) ; smc 1975 drivers/net/fddi/skfp/smt.c if (smc->mib.p[port].fddiPORTMy_Type != TM) smc 1977 drivers/net/fddi/skfp/smt.c RS_SET(smc,RS_EVENT) ; smc 1978 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_PCM+port,PC_DISABLE) ; smc 2005 drivers/net/fddi/skfp/smt.c queue_event(smc,EVENT_PCM+index,event) ; smc 2017 drivers/net/fddi/skfp/smt.c static void hwm_conv_can(struct s_smc *smc, char *data, int len) smc 2021 drivers/net/fddi/skfp/smt.c SK_UNUSED(smc) ; smc 71 drivers/net/fddi/skfp/smtdef.c void smt_reset_defaults(struct s_smc *smc, int level); smc 72 drivers/net/fddi/skfp/smtdef.c static void smt_init_mib(struct s_smc *smc, int level); smc 78 drivers/net/fddi/skfp/smtdef.c void smt_reset_defaults(struct s_smc *smc, int level) smc 85 drivers/net/fddi/skfp/smtdef.c smt_init_mib(smc,level) ; smc 87 drivers/net/fddi/skfp/smtdef.c smc->os.smc_version = SMC_VERSION ; smc 90 drivers/net/fddi/skfp/smtdef.c smc->sm.last_tok_time[i] = smt_boot_time ; smc 91 drivers/net/fddi/skfp/smtdef.c smt = &smc->s ; smc 129 drivers/net/fddi/skfp/smtdef.c smc->ess.sync_bw_available = FALSE ; smc 130 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSPayload = 0 ; smc 131 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSOverhead = 0 ; smc 132 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSMaxTNeg = (u_long)(- MS2BCLK(25)) ; smc 133 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSMinSegmentSize = 1 ; smc 134 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSCategory = SB_STATIC ; smc 135 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiESSSynchTxMode = FALSE ; smc 136 drivers/net/fddi/skfp/smtdef.c smc->ess.raf_act_timer_poll = FALSE ; smc 137 drivers/net/fddi/skfp/smtdef.c smc->ess.timer_count = 7 ; /* first RAF alc req after 3s */ smc 139 drivers/net/fddi/skfp/smtdef.c smc->ess.local_sba_active = FALSE ; smc 140 drivers/net/fddi/skfp/smtdef.c smc->ess.sba_reply_pend = NULL ; smc 143 drivers/net/fddi/skfp/smtdef.c smt_init_sba(smc,level) ; smc 148 drivers/net/fddi/skfp/smtdef.c smc->hw.pci_fix_value = 0 ; smc 160 drivers/net/fddi/skfp/smtdef.c static void smt_init_mib(struct s_smc *smc, int level) smc 167 drivers/net/fddi/skfp/smtdef.c mib = &smc->mib ; smc 173 drivers/net/fddi/skfp/smtdef.c memset(((char *)smc)+ smc 256 drivers/net/fddi/skfp/smtdef.c smc->y[port].mib = NULL; smc 277 drivers/net/fddi/skfp/smtdef.c (void) smt_set_mac_opvalues(smc) ; smc 280 drivers/net/fddi/skfp/smtdef.c int smt_set_mac_opvalues(struct s_smc *smc) smc 285 drivers/net/fddi/skfp/smtdef.c st = set_min_max(1,smc->mib.m[MAC0].fddiMACTvxValueMIB, smc 286 drivers/net/fddi/skfp/smtdef.c smc->mib.a[PATH0].fddiPATHTVXLowerBound, smc 287 drivers/net/fddi/skfp/smtdef.c &smc->mib.m[MAC0].fddiMACTvxValue) ; smc 288 drivers/net/fddi/skfp/smtdef.c st |= set_min_max(0,smc->mib.m[MAC0].fddiMACT_MaxMIB, smc 289 drivers/net/fddi/skfp/smtdef.c smc->mib.a[PATH0].fddiPATHT_MaxLowerBound, smc 290 drivers/net/fddi/skfp/smtdef.c &smc->mib.m[MAC0].fddiMACT_Max) ; smc 291 drivers/net/fddi/skfp/smtdef.c st |= (st2 = set_min_max(0,smc->mib.m[MAC0].fddiMACT_ReqMIB, smc 292 drivers/net/fddi/skfp/smtdef.c smc->mib.a[PATH0].fddiPATHMaxT_Req, smc 293 drivers/net/fddi/skfp/smtdef.c &smc->mib.m[MAC0].fddiMACT_Req)) ; smc 298 drivers/net/fddi/skfp/smtdef.c AIX_EVENT(smc, (u_long) FDDI_RING_STATUS, (u_long) smc 300 drivers/net/fddi/skfp/smtdef.c smt_get_event_word(smc)); smc 305 drivers/net/fddi/skfp/smtdef.c void smt_fixup_mib(struct s_smc *smc) smc 308 drivers/net/fddi/skfp/smtdef.c switch (smc->s.sas) { smc 310 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTNonMaster_Ct = 1 ; smc 313 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTNonMaster_Ct = 2 ; smc 316 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTNonMaster_Ct = 0 ; smc 319 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTMaster_Ct = NUMPHYS - smc->mib.fddiSMTNonMaster_Ct ; smc 321 drivers/net/fddi/skfp/smtdef.c switch (smc->s.sas) { smc 323 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTNonMaster_Ct = 1 ; smc 326 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTNonMaster_Ct = 2 ; smc 329 drivers/net/fddi/skfp/smtdef.c smc->mib.fddiSMTMaster_Ct = 0 ; smc 26 drivers/net/fddi/skfp/smtinit.c void init_fddi_driver(struct s_smc *smc, u_char *mac_addr); smc 34 drivers/net/fddi/skfp/smtinit.c #define OEMID(smc,i) oem_id[i] smc 37 drivers/net/fddi/skfp/smtinit.c #define OEMID(smc,i) smc->hw.oem_id->oi_mark[i] smc 47 drivers/net/fddi/skfp/smtinit.c static void set_oem_spec_val(struct s_smc *smc) smc 51 drivers/net/fddi/skfp/smtinit.c mib = &smc->mib ; smc 56 drivers/net/fddi/skfp/smtinit.c if (OEMID(smc,0) == 'I') { smc 64 drivers/net/fddi/skfp/smtinit.c int init_smt(struct s_smc *smc, u_char *mac_addr) smc 88 drivers/net/fddi/skfp/smtinit.c smc->y[p].mib = & smc->mib.p[p] ; smc 91 drivers/net/fddi/skfp/smtinit.c set_oem_spec_val(smc) ; smc 92 drivers/net/fddi/skfp/smtinit.c (void) smt_set_mac_opvalues(smc) ; smc 93 drivers/net/fddi/skfp/smtinit.c init_fddi_driver(smc,mac_addr) ; /* HW driver */ smc 94 drivers/net/fddi/skfp/smtinit.c smt_fixup_mib(smc) ; /* update values that depend on s.sas */ smc 96 drivers/net/fddi/skfp/smtinit.c ev_init(smc) ; /* event queue */ smc 98 drivers/net/fddi/skfp/smtinit.c smt_init_evc(smc) ; /* evcs in MIB */ smc 100 drivers/net/fddi/skfp/smtinit.c smt_timer_init(smc) ; /* timer package */ smc 101 drivers/net/fddi/skfp/smtinit.c smt_agent_init(smc) ; /* SMT frame manager */ smc 103 drivers/net/fddi/skfp/smtinit.c pcm_init(smc) ; /* PCM state machine */ smc 104 drivers/net/fddi/skfp/smtinit.c ecm_init(smc) ; /* ECM state machine */ smc 105 drivers/net/fddi/skfp/smtinit.c cfm_init(smc) ; /* CFM state machine */ smc 106 drivers/net/fddi/skfp/smtinit.c rmt_init(smc) ; /* RMT state machine */ smc 109 drivers/net/fddi/skfp/smtinit.c pcm(smc,p,0) ; /* PCM A state machine */ smc 111 drivers/net/fddi/skfp/smtinit.c ecm(smc,0) ; /* ECM state machine */ smc 112 drivers/net/fddi/skfp/smtinit.c cfm(smc,0) ; /* CFM state machine */ smc 113 drivers/net/fddi/skfp/smtinit.c rmt(smc,0) ; /* RMT state machine */ smc 115 drivers/net/fddi/skfp/smtinit.c smt_agent_task(smc) ; /* NIF FSM etc */ smc 117 drivers/net/fddi/skfp/smtinit.c PNMI_INIT(smc) ; /* PNMI initialization */ smc 25 drivers/net/fddi/skfp/smttimer.c static void timer_done(struct s_smc *smc, int restart); smc 27 drivers/net/fddi/skfp/smttimer.c void smt_timer_init(struct s_smc *smc) smc 29 drivers/net/fddi/skfp/smttimer.c smc->t.st_queue = NULL; smc 30 drivers/net/fddi/skfp/smttimer.c smc->t.st_fast.tm_active = FALSE ; smc 31 drivers/net/fddi/skfp/smttimer.c smc->t.st_fast.tm_next = NULL; smc 32 drivers/net/fddi/skfp/smttimer.c hwt_init(smc) ; smc 35 drivers/net/fddi/skfp/smttimer.c void smt_timer_stop(struct s_smc *smc, struct smt_timer *timer) smc 44 drivers/net/fddi/skfp/smttimer.c if (smc->t.st_queue == timer && !timer->tm_next) { smc 45 drivers/net/fddi/skfp/smttimer.c hwt_stop(smc) ; smc 47 drivers/net/fddi/skfp/smttimer.c for (prev = &smc->t.st_queue ; (tm = *prev) ; prev = &tm->tm_next ) { smc 58 drivers/net/fddi/skfp/smttimer.c void smt_timer_start(struct s_smc *smc, struct smt_timer *timer, u_long time, smc 68 drivers/net/fddi/skfp/smttimer.c smt_timer_stop(smc,timer) ; smc 69 drivers/net/fddi/skfp/smttimer.c timer->tm_smc = smc ; smc 72 drivers/net/fddi/skfp/smttimer.c if (!smc->t.st_queue) { smc 73 drivers/net/fddi/skfp/smttimer.c smc->t.st_queue = timer ; smc 76 drivers/net/fddi/skfp/smttimer.c hwt_start(smc,time) ; smc 82 drivers/net/fddi/skfp/smttimer.c timer_done(smc,0) ; smc 88 drivers/net/fddi/skfp/smttimer.c for (prev = &smc->t.st_queue ; (tm = *prev) ; prev = &tm->tm_next ) { smc 103 drivers/net/fddi/skfp/smttimer.c hwt_start(smc,smc->t.st_queue->tm_delta) ; smc 106 drivers/net/fddi/skfp/smttimer.c void smt_force_irq(struct s_smc *smc) smc 108 drivers/net/fddi/skfp/smttimer.c smt_timer_start(smc,&smc->t.st_fast,32L, EV_TOKEN(EVENT_SMT,SM_FAST)); smc 111 drivers/net/fddi/skfp/smttimer.c void smt_timer_done(struct s_smc *smc) smc 113 drivers/net/fddi/skfp/smttimer.c timer_done(smc,1) ; smc 116 drivers/net/fddi/skfp/smttimer.c static void timer_done(struct s_smc *smc, int restart) smc 124 drivers/net/fddi/skfp/smttimer.c delta = hwt_read(smc) ; smc 125 drivers/net/fddi/skfp/smttimer.c last = &smc->t.st_queue ; smc 126 drivers/net/fddi/skfp/smttimer.c tm = smc->t.st_queue ; smc 141 drivers/net/fddi/skfp/smttimer.c next = smc->t.st_queue ; smc 142 drivers/net/fddi/skfp/smttimer.c smc->t.st_queue = tm ; smc 146 drivers/net/fddi/skfp/smttimer.c timer_event(smc,tm->tm_token) ; smc 149 drivers/net/fddi/skfp/smttimer.c if (restart && smc->t.st_queue) smc 150 drivers/net/fddi/skfp/smttimer.c hwt_start(smc,smc->t.st_queue->tm_delta) ; smc 37 drivers/net/fddi/skfp/srf.c static void clear_all_rep(struct s_smc *smc); smc 38 drivers/net/fddi/skfp/srf.c static void clear_reported(struct s_smc *smc); smc 39 drivers/net/fddi/skfp/srf.c static void smt_send_srf(struct s_smc *smc); smc 40 drivers/net/fddi/skfp/srf.c static struct s_srf_evc *smt_get_evc(struct s_smc *smc, int code, int index); smc 42 drivers/net/fddi/skfp/srf.c #define MAX_EVCS ARRAY_SIZE(smc->evcs) smc 68 drivers/net/fddi/skfp/srf.c void smt_init_evc(struct s_smc *smc) smc 78 drivers/net/fddi/skfp/srf.c memset((char *)smc->evcs,0,sizeof(smc->evcs)) ; smc 80 drivers/net/fddi/skfp/srf.c evc = smc->evcs ; smc 97 drivers/net/fddi/skfp/srf.c if ((unsigned int) (evc - smc->evcs) > MAX_EVCS) { smc 98 drivers/net/fddi/skfp/srf.c SMT_PANIC(smc,SMT_E0127, SMT_E0127_MSG) ; smc 104 drivers/net/fddi/skfp/srf.c smc->evcs[0].evc_cond_state = &smc->mib.fddiSMTPeerWrapFlag ; smc 105 drivers/net/fddi/skfp/srf.c smc->evcs[1].evc_cond_state = smc 106 drivers/net/fddi/skfp/srf.c &smc->mib.m[MAC0].fddiMACDuplicateAddressCond ; smc 107 drivers/net/fddi/skfp/srf.c smc->evcs[2].evc_cond_state = smc 108 drivers/net/fddi/skfp/srf.c &smc->mib.m[MAC0].fddiMACFrameErrorFlag ; smc 109 drivers/net/fddi/skfp/srf.c smc->evcs[3].evc_cond_state = smc 110 drivers/net/fddi/skfp/srf.c &smc->mib.m[MAC0].fddiMACNotCopiedFlag ; smc 115 drivers/net/fddi/skfp/srf.c smc->evcs[4].evc_multiple = &smc->mib.m[MAC0].fddiMACMultiple_N ; smc 116 drivers/net/fddi/skfp/srf.c smc->evcs[5].evc_multiple = &smc->mib.m[MAC0].fddiMACMultiple_P ; smc 123 drivers/net/fddi/skfp/srf.c smc->evcs[offset + 0*NUMPHYS].evc_cond_state = smc 124 drivers/net/fddi/skfp/srf.c &smc->mib.p[i].fddiPORTLerFlag ; smc 125 drivers/net/fddi/skfp/srf.c smc->evcs[offset + 1*NUMPHYS].evc_cond_state = smc 126 drivers/net/fddi/skfp/srf.c &smc->mib.p[i].fddiPORTEB_Condition ; smc 131 drivers/net/fddi/skfp/srf.c smc->evcs[offset + 2*NUMPHYS].evc_multiple = smc 132 drivers/net/fddi/skfp/srf.c &smc->mib.p[i].fddiPORTMultiple_U ; smc 133 drivers/net/fddi/skfp/srf.c smc->evcs[offset + 3*NUMPHYS].evc_multiple = smc 134 drivers/net/fddi/skfp/srf.c &smc->mib.p[i].fddiPORTMultiple_P ; smc 138 drivers/net/fddi/skfp/srf.c for (i = 0, evc = smc->evcs ; i < MAX_EVCS ; i++, evc++) { smc 141 drivers/net/fddi/skfp/srf.c SMT_PANIC(smc,SMT_E0128, SMT_E0128_MSG) ; smc 147 drivers/net/fddi/skfp/srf.c SMT_PANIC(smc,SMT_E0129, SMT_E0129_MSG) ; smc 153 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 154 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR0_WAIT ; smc 157 drivers/net/fddi/skfp/srf.c static struct s_srf_evc *smt_get_evc(struct s_smc *smc, int code, int index) smc 162 drivers/net/fddi/skfp/srf.c for (i = 0, evc = smc->evcs ; i < MAX_EVCS ; i++, evc++) { smc 181 drivers/net/fddi/skfp/srf.c void smt_srf_event(struct s_smc *smc, int code, int index, int cond) smc 191 drivers/net/fddi/skfp/srf.c RS_SET(smc,RS_DUPADDR) ; smc 197 drivers/net/fddi/skfp/srf.c if (!(evc = smt_get_evc(smc,code,index))) { smc 212 drivers/net/fddi/skfp/srf.c smt_set_timestamp(smc,smc->mib.fddiSMTTransitionTimeStamp) ; smc 218 drivers/net/fddi/skfp/srf.c smc->srf.any_report = TRUE ; smc 234 drivers/net/fddi/skfp/srf.c smc->srf.any_report = TRUE ; smc 238 drivers/net/fddi/skfp/srf.c snmp_srf_event(smc,evc) ; smc 241 drivers/net/fddi/skfp/srf.c tsr = smt_get_time() - smc->srf.TSR ; smc 243 drivers/net/fddi/skfp/srf.c switch (smc->srf.sr_state) { smc 247 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold = THRESHOLD_2 ; smc 248 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR1_HOLDOFF ; smc 253 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR1_HOLDOFF ; smc 258 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR1_HOLDOFF ; smc 263 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold = THRESHOLD_2 ; smc 264 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 265 drivers/net/fddi/skfp/srf.c smt_send_srf(smc) ; smc 270 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 271 drivers/net/fddi/skfp/srf.c smt_send_srf(smc) ; smc 276 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 277 drivers/net/fddi/skfp/srf.c smt_send_srf(smc) ; smc 281 drivers/net/fddi/skfp/srf.c if (smc->srf.any_report && (u_long) tsr >= smc 282 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold) { smc 283 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold *= 2 ; smc 284 drivers/net/fddi/skfp/srf.c if (smc->srf.SRThreshold > THRESHOLD_32) smc 285 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold = THRESHOLD_32 ; smc 286 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 287 drivers/net/fddi/skfp/srf.c smt_send_srf(smc) ; smc 291 drivers/net/fddi/skfp/srf.c if (!smc->mib.fddiSMTStatRptPolicy) { smc 292 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR2_DISABLED ; smc 299 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR0_WAIT ; smc 300 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 301 drivers/net/fddi/skfp/srf.c smt_send_srf(smc) ; smc 306 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold = THRESHOLD_2 ; smc 312 drivers/net/fddi/skfp/srf.c if (!smc->mib.fddiSMTStatRptPolicy) { smc 313 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR2_DISABLED ; smc 318 drivers/net/fddi/skfp/srf.c if (smc->mib.fddiSMTStatRptPolicy) { smc 319 drivers/net/fddi/skfp/srf.c smc->srf.sr_state = SR0_WAIT ; smc 320 drivers/net/fddi/skfp/srf.c smc->srf.TSR = smt_get_time() ; smc 321 drivers/net/fddi/skfp/srf.c smc->srf.SRThreshold = THRESHOLD_2 ; smc 322 drivers/net/fddi/skfp/srf.c clear_all_rep(smc) ; smc 329 drivers/net/fddi/skfp/srf.c static void clear_all_rep(struct s_smc *smc) smc 334 drivers/net/fddi/skfp/srf.c for (i = 0, evc = smc->evcs ; i < MAX_EVCS ; i++, evc++) { smc 339 drivers/net/fddi/skfp/srf.c smc->srf.any_report = FALSE ; smc 342 drivers/net/fddi/skfp/srf.c static void clear_reported(struct s_smc *smc) smc 347 drivers/net/fddi/skfp/srf.c smc->srf.any_report = FALSE ; smc 348 drivers/net/fddi/skfp/srf.c for (i = 0, evc = smc->evcs ; i < MAX_EVCS ; i++, evc++) { smc 353 drivers/net/fddi/skfp/srf.c smc->srf.any_report = TRUE ; smc 365 drivers/net/fddi/skfp/srf.c static void smt_send_srf(struct s_smc *smc) smc 381 drivers/net/fddi/skfp/srf.c if (!smc->r.sm_ma_avail) smc 383 drivers/net/fddi/skfp/srf.c if (!(mb = smt_build_frame(smc,SMT_SRF,SMT_ANNOUNCE,0))) smc 386 drivers/net/fddi/skfp/srf.c RS_SET(smc,RS_SOFTERROR) ; smc 399 drivers/net/fddi/skfp/srf.c smt_add_para(smc,&pcon,(u_short) SMT_P1033,0,0) ; smc 400 drivers/net/fddi/skfp/srf.c smt_add_para(smc,&pcon,(u_short) SMT_P1034,0,0) ; smc 402 drivers/net/fddi/skfp/srf.c for (i = 0, evc = smc->evcs ; i < MAX_EVCS ; i++, evc++) { smc 404 drivers/net/fddi/skfp/srf.c smt_add_para(smc,&pcon,evc->evc_para, smc 413 drivers/net/fddi/skfp/srf.c smc->srf.sr_state, smc->srf.SRThreshold / TICKS_PER_SECOND); smc 415 drivers/net/fddi/skfp/srf.c dump_smt(smc,smt,"SRF Send") ; smc 417 drivers/net/fddi/skfp/srf.c smt_send_frame(smc,mb,FC_SMT_INFO,0) ; smc 418 drivers/net/fddi/skfp/srf.c clear_reported(smc) ; smc 997 drivers/s390/char/tape_3590.c switch (sense->fmt.f70.smc) { smc 1004 drivers/s390/char/tape_3590.c sense->fmt.f70.smc); smc 1066 drivers/s390/char/tape_3590.c switch (sense->fmt.f71.smc) { smc 1117 drivers/s390/char/tape_3590.c sense->fmt.f71.smc); smc 1175 drivers/s390/char/tape_3590.c switch (sense->fmt.f71.smc) { smc 1229 drivers/s390/char/tape_3590.c sense->fmt.f71.smc); smc 1265 drivers/s390/char/tape_3590.c sense->fmt.f70.emc, sense->fmt.f70.smc, smc 1276 drivers/s390/char/tape_3590.c sense->mc, sense->fmt.f71.emc, sense->fmt.f71.smc, smc 1287 drivers/s390/char/tape_3590.c sense->mc, sense->fmt.f71.emc, sense->fmt.f71.smc, smc 94 drivers/s390/char/tape_3590.h unsigned int smc:4; smc 106 drivers/s390/char/tape_3590.h unsigned int smc:4; smc 62 net/smc/af_smc.c struct smc_sock *smc = smc_sk(sk); smc 64 net/smc/af_smc.c smc->clcsock->sk->sk_prot->keepalive(smc->clcsock->sk, val); smc 126 net/smc/af_smc.c static void smc_restore_fallback_changes(struct smc_sock *smc) smc 128 net/smc/af_smc.c smc->clcsock->file->private_data = smc->sk.sk_socket; smc 129 net/smc/af_smc.c smc->clcsock->file = NULL; smc 132 net/smc/af_smc.c static int __smc_release(struct smc_sock *smc) smc 134 net/smc/af_smc.c struct sock *sk = &smc->sk; smc 137 net/smc/af_smc.c if (!smc->use_fallback) { smc 138 net/smc/af_smc.c rc = smc_close_active(smc); smc 146 net/smc/af_smc.c rc = kernel_sock_shutdown(smc->clcsock, SHUT_RDWR); smc 150 net/smc/af_smc.c smc_restore_fallback_changes(smc); smc 156 net/smc/af_smc.c if (smc->clcsock) { smc 158 net/smc/af_smc.c smc_clcsock_release(smc); smc 161 net/smc/af_smc.c if (!smc->use_fallback) smc 162 net/smc/af_smc.c smc_conn_free(&smc->conn); smc 171 net/smc/af_smc.c struct smc_sock *smc; smc 177 net/smc/af_smc.c smc = smc_sk(sk); smc 180 net/smc/af_smc.c if (smc->connect_nonblock && sk->sk_state == SMC_INIT) smc 181 net/smc/af_smc.c tcp_abort(smc->clcsock->sk, ECONNABORTED); smc 182 net/smc/af_smc.c flush_work(&smc->connect_work); smc 192 net/smc/af_smc.c rc = __smc_release(smc); smc 217 net/smc/af_smc.c struct smc_sock *smc; smc 230 net/smc/af_smc.c smc = smc_sk(sk); smc 231 net/smc/af_smc.c INIT_WORK(&smc->tcp_listen_work, smc_tcp_listen_work); smc 232 net/smc/af_smc.c INIT_WORK(&smc->connect_work, smc_connect_work); smc 233 net/smc/af_smc.c INIT_DELAYED_WORK(&smc->conn.tx_work, smc_tx_work); smc 234 net/smc/af_smc.c INIT_LIST_HEAD(&smc->accept_q); smc 235 net/smc/af_smc.c spin_lock_init(&smc->accept_q_lock); smc 236 net/smc/af_smc.c spin_lock_init(&smc->conn.send_lock); smc 239 net/smc/af_smc.c mutex_init(&smc->clcsock_release_lock); smc 249 net/smc/af_smc.c struct smc_sock *smc; smc 252 net/smc/af_smc.c smc = smc_sk(sk); smc 273 net/smc/af_smc.c if (sk->sk_state != SMC_INIT || smc->connect_nonblock) smc 276 net/smc/af_smc.c smc->clcsock->sk->sk_reuse = sk->sk_reuse; smc 277 net/smc/af_smc.c rc = kernel_bind(smc->clcsock, uaddr, addr_len); smc 322 net/smc/af_smc.c static void smc_copy_sock_settings_to_clc(struct smc_sock *smc) smc 324 net/smc/af_smc.c smc_copy_sock_settings(smc->clcsock->sk, &smc->sk, SK_FLAGS_SMC_TO_CLC); smc 332 net/smc/af_smc.c static void smc_copy_sock_settings_to_smc(struct smc_sock *smc) smc 334 net/smc/af_smc.c smc_copy_sock_settings(&smc->sk, smc->clcsock->sk, SK_FLAGS_CLC_TO_SMC); smc 359 net/smc/af_smc.c static int smc_clnt_conf_first_link(struct smc_sock *smc) smc 361 net/smc/af_smc.c struct net *net = sock_net(smc->clcsock->sk); smc 362 net/smc/af_smc.c struct smc_link_group *lgr = smc->conn.lgr; smc 375 net/smc/af_smc.c rc = smc_clc_wait_msg(smc, &dclc, sizeof(dclc), smc 389 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, false)) smc 403 net/smc/af_smc.c rc = smc_clc_wait_msg(smc, &dclc, sizeof(dclc), smc 420 net/smc/af_smc.c static void smcr_conn_save_peer_info(struct smc_sock *smc, smc 425 net/smc/af_smc.c smc->conn.peer_rmbe_idx = clc->rmbe_idx; smc 426 net/smc/af_smc.c smc->conn.local_tx_ctrl.token = ntohl(clc->rmbe_alert_token); smc 427 net/smc/af_smc.c smc->conn.peer_rmbe_size = bufsize; smc 428 net/smc/af_smc.c atomic_set(&smc->conn.peer_rmbe_space, smc->conn.peer_rmbe_size); smc 429 net/smc/af_smc.c smc->conn.tx_off = bufsize * (smc->conn.peer_rmbe_idx - 1); smc 432 net/smc/af_smc.c static void smcd_conn_save_peer_info(struct smc_sock *smc, smc 437 net/smc/af_smc.c smc->conn.peer_rmbe_idx = clc->dmbe_idx; smc 438 net/smc/af_smc.c smc->conn.peer_token = clc->token; smc 440 net/smc/af_smc.c smc->conn.peer_rmbe_size = bufsize - sizeof(struct smcd_cdc_msg); smc 441 net/smc/af_smc.c atomic_set(&smc->conn.peer_rmbe_space, smc->conn.peer_rmbe_size); smc 442 net/smc/af_smc.c smc->conn.tx_off = bufsize * smc->conn.peer_rmbe_idx; smc 445 net/smc/af_smc.c static void smc_conn_save_peer_info(struct smc_sock *smc, smc 448 net/smc/af_smc.c if (smc->conn.lgr->is_smcd) smc 449 net/smc/af_smc.c smcd_conn_save_peer_info(smc, clc); smc 451 net/smc/af_smc.c smcr_conn_save_peer_info(smc, clc); smc 464 net/smc/af_smc.c static void smc_switch_to_fallback(struct smc_sock *smc) smc 466 net/smc/af_smc.c smc->use_fallback = true; smc 467 net/smc/af_smc.c if (smc->sk.sk_socket && smc->sk.sk_socket->file) { smc 468 net/smc/af_smc.c smc->clcsock->file = smc->sk.sk_socket->file; smc 469 net/smc/af_smc.c smc->clcsock->file->private_data = smc->clcsock; smc 470 net/smc/af_smc.c smc->clcsock->wq.fasync_list = smc 471 net/smc/af_smc.c smc->sk.sk_socket->wq.fasync_list; smc 476 net/smc/af_smc.c static int smc_connect_fallback(struct smc_sock *smc, int reason_code) smc 478 net/smc/af_smc.c smc_switch_to_fallback(smc); smc 479 net/smc/af_smc.c smc->fallback_rsn = reason_code; smc 480 net/smc/af_smc.c smc_copy_sock_settings_to_clc(smc); smc 481 net/smc/af_smc.c smc->connect_nonblock = 0; smc 482 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT) smc 483 net/smc/af_smc.c smc->sk.sk_state = SMC_ACTIVE; smc 488 net/smc/af_smc.c static int smc_connect_decline_fallback(struct smc_sock *smc, int reason_code) smc 493 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT) smc 494 net/smc/af_smc.c sock_put(&smc->sk); /* passive closing */ smc 498 net/smc/af_smc.c rc = smc_clc_send_decline(smc, reason_code); smc 500 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT) smc 501 net/smc/af_smc.c sock_put(&smc->sk); /* passive closing */ smc 505 net/smc/af_smc.c return smc_connect_fallback(smc, reason_code); smc 509 net/smc/af_smc.c static int smc_connect_abort(struct smc_sock *smc, int reason_code, smc 513 net/smc/af_smc.c smc_lgr_forget(smc->conn.lgr); smc 514 net/smc/af_smc.c if (smc->conn.lgr->is_smcd) smc 520 net/smc/af_smc.c smc_conn_free(&smc->conn); smc 521 net/smc/af_smc.c smc->connect_nonblock = 0; smc 527 net/smc/af_smc.c static int smc_find_rdma_device(struct smc_sock *smc, struct smc_init_info *ini) smc 533 net/smc/af_smc.c smc_pnet_find_roce_resource(smc->clcsock->sk, ini); smc 541 net/smc/af_smc.c static int smc_find_ism_device(struct smc_sock *smc, struct smc_init_info *ini) smc 544 net/smc/af_smc.c smc_pnet_find_ism_resource(smc->clcsock->sk, ini); smc 551 net/smc/af_smc.c static int smc_connect_ism_vlan_setup(struct smc_sock *smc, smc 562 net/smc/af_smc.c static int smc_connect_ism_vlan_cleanup(struct smc_sock *smc, bool is_smcd, smc 573 net/smc/af_smc.c static int smc_connect_clc(struct smc_sock *smc, int smc_type, smc 580 net/smc/af_smc.c rc = smc_clc_send_proposal(smc, smc_type, ini); smc 584 net/smc/af_smc.c return smc_clc_wait_msg(smc, aclc, sizeof(*aclc), SMC_CLC_ACCEPT, smc 589 net/smc/af_smc.c static int smc_connect_rdma(struct smc_sock *smc, smc 602 net/smc/af_smc.c reason_code = smc_conn_create(smc, ini); smc 607 net/smc/af_smc.c link = &smc->conn.lgr->lnk[SMC_SINGLE_LINK]; smc 609 net/smc/af_smc.c smc_conn_save_peer_info(smc, aclc); smc 612 net/smc/af_smc.c if (smc_buf_create(smc, false)) smc 613 net/smc/af_smc.c return smc_connect_abort(smc, SMC_CLC_DECL_MEM, smc 619 net/smc/af_smc.c if (smc_rmb_rtoken_handling(&smc->conn, aclc)) smc 620 net/smc/af_smc.c return smc_connect_abort(smc, SMC_CLC_DECL_ERR_RTOK, smc 623 net/smc/af_smc.c smc_close_init(smc); smc 624 net/smc/af_smc.c smc_rx_init(smc); smc 628 net/smc/af_smc.c return smc_connect_abort(smc, SMC_CLC_DECL_ERR_RDYLNK, smc 631 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, true)) smc 632 net/smc/af_smc.c return smc_connect_abort(smc, SMC_CLC_DECL_ERR_REGRMB, smc 635 net/smc/af_smc.c smc_rmb_sync_sg_for_device(&smc->conn); smc 637 net/smc/af_smc.c reason_code = smc_clc_send_confirm(smc); smc 639 net/smc/af_smc.c return smc_connect_abort(smc, reason_code, smc 642 net/smc/af_smc.c smc_tx_init(smc); smc 646 net/smc/af_smc.c reason_code = smc_clnt_conf_first_link(smc); smc 648 net/smc/af_smc.c return smc_connect_abort(smc, reason_code, smc 653 net/smc/af_smc.c smc_copy_sock_settings_to_clc(smc); smc 654 net/smc/af_smc.c smc->connect_nonblock = 0; smc 655 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT) smc 656 net/smc/af_smc.c smc->sk.sk_state = SMC_ACTIVE; smc 662 net/smc/af_smc.c static int smc_connect_ism(struct smc_sock *smc, smc 674 net/smc/af_smc.c rc = smc_conn_create(smc, ini); smc 681 net/smc/af_smc.c if (smc_buf_create(smc, true)) smc 682 net/smc/af_smc.c return smc_connect_abort(smc, SMC_CLC_DECL_MEM, smc 685 net/smc/af_smc.c smc_conn_save_peer_info(smc, aclc); smc 686 net/smc/af_smc.c smc_close_init(smc); smc 687 net/smc/af_smc.c smc_rx_init(smc); smc 688 net/smc/af_smc.c smc_tx_init(smc); smc 690 net/smc/af_smc.c rc = smc_clc_send_confirm(smc); smc 692 net/smc/af_smc.c return smc_connect_abort(smc, rc, ini->cln_first_contact); smc 695 net/smc/af_smc.c smc_copy_sock_settings_to_clc(smc); smc 696 net/smc/af_smc.c smc->connect_nonblock = 0; smc 697 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT) smc 698 net/smc/af_smc.c smc->sk.sk_state = SMC_ACTIVE; smc 704 net/smc/af_smc.c static int __smc_connect(struct smc_sock *smc) smc 712 net/smc/af_smc.c if (smc->use_fallback) smc 713 net/smc/af_smc.c return smc_connect_fallback(smc, smc->fallback_rsn); smc 716 net/smc/af_smc.c if (!tcp_sk(smc->clcsock->sk)->syn_smc) smc 717 net/smc/af_smc.c return smc_connect_fallback(smc, SMC_CLC_DECL_PEERNOSMC); smc 720 net/smc/af_smc.c if (using_ipsec(smc)) smc 721 net/smc/af_smc.c return smc_connect_decline_fallback(smc, SMC_CLC_DECL_IPSEC); smc 724 net/smc/af_smc.c if (smc_vlan_by_tcpsk(smc->clcsock, &ini)) smc 725 net/smc/af_smc.c return smc_connect_decline_fallback(smc, smc 729 net/smc/af_smc.c if (!smc_find_ism_device(smc, &ini) && smc 730 net/smc/af_smc.c !smc_connect_ism_vlan_setup(smc, &ini)) { smc 737 net/smc/af_smc.c if (!smc_find_rdma_device(smc, &ini)) { smc 748 net/smc/af_smc.c return smc_connect_decline_fallback(smc, SMC_CLC_DECL_NOSMCDEV); smc 751 net/smc/af_smc.c rc = smc_connect_clc(smc, smc_type, &aclc, &ini); smc 753 net/smc/af_smc.c smc_connect_ism_vlan_cleanup(smc, ism_supported, &ini); smc 754 net/smc/af_smc.c return smc_connect_decline_fallback(smc, rc); smc 759 net/smc/af_smc.c rc = smc_connect_rdma(smc, &aclc, &ini); smc 761 net/smc/af_smc.c rc = smc_connect_ism(smc, &aclc, &ini); smc 765 net/smc/af_smc.c smc_connect_ism_vlan_cleanup(smc, ism_supported, &ini); smc 766 net/smc/af_smc.c return smc_connect_decline_fallback(smc, rc); smc 769 net/smc/af_smc.c smc_connect_ism_vlan_cleanup(smc, ism_supported, &ini); smc 775 net/smc/af_smc.c struct smc_sock *smc = container_of(work, struct smc_sock, smc 777 net/smc/af_smc.c long timeo = smc->sk.sk_sndtimeo; smc 782 net/smc/af_smc.c lock_sock(smc->clcsock->sk); smc 783 net/smc/af_smc.c if (smc->clcsock->sk->sk_err) { smc 784 net/smc/af_smc.c smc->sk.sk_err = smc->clcsock->sk->sk_err; smc 785 net/smc/af_smc.c } else if ((1 << smc->clcsock->sk->sk_state) & smc 787 net/smc/af_smc.c rc = sk_stream_wait_connect(smc->clcsock->sk, &timeo); smc 789 net/smc/af_smc.c ((1 << smc->clcsock->sk->sk_state) & smc 793 net/smc/af_smc.c release_sock(smc->clcsock->sk); smc 794 net/smc/af_smc.c lock_sock(&smc->sk); smc 795 net/smc/af_smc.c if (rc != 0 || smc->sk.sk_err) { smc 796 net/smc/af_smc.c smc->sk.sk_state = SMC_CLOSED; smc 798 net/smc/af_smc.c smc->sk.sk_err = EPIPE; smc 800 net/smc/af_smc.c smc->sk.sk_err = -sock_intr_errno(timeo); smc 801 net/smc/af_smc.c sock_put(&smc->sk); /* passive closing */ smc 805 net/smc/af_smc.c rc = __smc_connect(smc); smc 807 net/smc/af_smc.c smc->sk.sk_err = -rc; smc 810 net/smc/af_smc.c if (!sock_flag(&smc->sk, SOCK_DEAD)) { smc 811 net/smc/af_smc.c if (smc->sk.sk_err) { smc 812 net/smc/af_smc.c smc->sk.sk_state_change(&smc->sk); smc 814 net/smc/af_smc.c smc->clcsock->sk->sk_write_space(smc->clcsock->sk); smc 815 net/smc/af_smc.c smc->sk.sk_write_space(&smc->sk); smc 818 net/smc/af_smc.c release_sock(&smc->sk); smc 825 net/smc/af_smc.c struct smc_sock *smc; smc 828 net/smc/af_smc.c smc = smc_sk(sk); smc 848 net/smc/af_smc.c smc_copy_sock_settings_to_clc(smc); smc 849 net/smc/af_smc.c tcp_sk(smc->clcsock->sk)->syn_smc = 1; smc 850 net/smc/af_smc.c if (smc->connect_nonblock) { smc 854 net/smc/af_smc.c rc = kernel_connect(smc->clcsock, addr, alen, flags); smc 858 net/smc/af_smc.c sock_hold(&smc->sk); /* sock put in passive closing */ smc 859 net/smc/af_smc.c if (smc->use_fallback) smc 862 net/smc/af_smc.c if (schedule_work(&smc->connect_work)) smc 863 net/smc/af_smc.c smc->connect_nonblock = 1; smc 866 net/smc/af_smc.c rc = __smc_connect(smc); smc 983 net/smc/af_smc.c struct smc_sock *smc = smc_sk(sk); smc 989 net/smc/af_smc.c __smc_release(smc); smc 994 net/smc/af_smc.c static int smc_serv_conf_first_link(struct smc_sock *smc) smc 996 net/smc/af_smc.c struct net *net = sock_net(smc->clcsock->sk); smc 997 net/smc/af_smc.c struct smc_link_group *lgr = smc->conn.lgr; smc 1004 net/smc/af_smc.c if (smc_reg_rmb(link, smc->conn.rmb_desc, false)) smc 1019 net/smc/af_smc.c rc = smc_clc_wait_msg(smc, &dclc, sizeof(dclc), smc 1040 net/smc/af_smc.c rc = smc_clc_wait_msg(smc, &dclc, sizeof(dclc), smc 1398 net/smc/af_smc.c struct smc_sock *smc; smc 1401 net/smc/af_smc.c smc = smc_sk(sk); smc 1406 net/smc/af_smc.c smc->connect_nonblock) smc 1417 net/smc/af_smc.c smc_copy_sock_settings_to_clc(smc); smc 1418 net/smc/af_smc.c if (!smc->use_fallback) smc 1419 net/smc/af_smc.c tcp_sk(smc->clcsock->sk)->syn_smc = 1; smc 1421 net/smc/af_smc.c rc = kernel_listen(smc->clcsock, backlog); smc 1428 net/smc/af_smc.c if (!schedule_work(&smc->tcp_listen_work)) smc 1509 net/smc/af_smc.c struct smc_sock *smc; smc 1515 net/smc/af_smc.c smc = smc_sk(sock->sk); smc 1517 net/smc/af_smc.c return smc->clcsock->ops->getname(smc->clcsock, addr, peer); smc 1523 net/smc/af_smc.c struct smc_sock *smc; smc 1526 net/smc/af_smc.c smc = smc_sk(sk); smc 1534 net/smc/af_smc.c if (sk->sk_state == SMC_INIT && !smc->connect_nonblock) { smc 1535 net/smc/af_smc.c smc_switch_to_fallback(smc); smc 1536 net/smc/af_smc.c smc->fallback_rsn = SMC_CLC_DECL_OPTUNSUPP; smc 1543 net/smc/af_smc.c if (smc->use_fallback) smc 1544 net/smc/af_smc.c rc = smc->clcsock->ops->sendmsg(smc->clcsock, msg, len); smc 1546 net/smc/af_smc.c rc = smc_tx_sendmsg(smc, msg, len); smc 1556 net/smc/af_smc.c struct smc_sock *smc; smc 1559 net/smc/af_smc.c smc = smc_sk(sk); smc 1576 net/smc/af_smc.c if (smc->use_fallback) { smc 1577 net/smc/af_smc.c rc = smc->clcsock->ops->recvmsg(smc->clcsock, msg, len, flags); smc 1580 net/smc/af_smc.c rc = smc_rx_recvmsg(smc, msg, NULL, len, flags); smc 1605 net/smc/af_smc.c struct smc_sock *smc; smc 1611 net/smc/af_smc.c smc = smc_sk(sock->sk); smc 1612 net/smc/af_smc.c if (smc->use_fallback) { smc 1614 net/smc/af_smc.c mask = smc->clcsock->ops->poll(file, smc->clcsock, wait); smc 1615 net/smc/af_smc.c sk->sk_err = smc->clcsock->sk->sk_err; smc 1627 net/smc/af_smc.c } else if (smc->use_fallback) { /* as result of connect_work()*/ smc 1628 net/smc/af_smc.c mask |= smc->clcsock->ops->poll(file, smc->clcsock, smc 1630 net/smc/af_smc.c sk->sk_err = smc->clcsock->sk->sk_err; smc 1633 net/smc/af_smc.c atomic_read(&smc->conn.sndbuf_space)) || smc 1640 net/smc/af_smc.c if (atomic_read(&smc->conn.bytes_to_rcv)) smc 1646 net/smc/af_smc.c if (smc->conn.urg_state == SMC_URG_VALID) smc 1657 net/smc/af_smc.c struct smc_sock *smc; smc 1661 net/smc/af_smc.c smc = smc_sk(sk); smc 1676 net/smc/af_smc.c if (smc->use_fallback) { smc 1677 net/smc/af_smc.c rc = kernel_sock_shutdown(smc->clcsock, how); smc 1678 net/smc/af_smc.c sk->sk_shutdown = smc->clcsock->sk->sk_shutdown; smc 1685 net/smc/af_smc.c rc = smc_close_active(smc); smc 1688 net/smc/af_smc.c rc = smc_close_shutdown_write(smc); smc 1695 net/smc/af_smc.c if (smc->clcsock) smc 1696 net/smc/af_smc.c rc1 = kernel_sock_shutdown(smc->clcsock, how); smc 1709 net/smc/af_smc.c struct smc_sock *smc; smc 1712 net/smc/af_smc.c smc = smc_sk(sk); smc 1717 net/smc/af_smc.c rc = smc->clcsock->ops->setsockopt(smc->clcsock, level, optname, smc 1719 net/smc/af_smc.c if (smc->clcsock->sk->sk_err) { smc 1720 net/smc/af_smc.c sk->sk_err = smc->clcsock->sk->sk_err; smc 1730 net/smc/af_smc.c if (rc || smc->use_fallback) smc 1739 net/smc/af_smc.c if (sk->sk_state == SMC_INIT && !smc->connect_nonblock) { smc 1740 net/smc/af_smc.c smc_switch_to_fallback(smc); smc 1741 net/smc/af_smc.c smc->fallback_rsn = SMC_CLC_DECL_OPTUNSUPP; smc 1751 net/smc/af_smc.c mod_delayed_work(system_wq, &smc->conn.tx_work, smc 1760 net/smc/af_smc.c mod_delayed_work(system_wq, &smc->conn.tx_work, smc 1765 net/smc/af_smc.c smc->sockopt_defer_accept = val; smc 1779 net/smc/af_smc.c struct smc_sock *smc; smc 1781 net/smc/af_smc.c smc = smc_sk(sock->sk); smc 1783 net/smc/af_smc.c return smc->clcsock->ops->getsockopt(smc->clcsock, level, optname, smc 1792 net/smc/af_smc.c struct smc_sock *smc; smc 1795 net/smc/af_smc.c smc = smc_sk(sock->sk); smc 1796 net/smc/af_smc.c conn = &smc->conn; smc 1797 net/smc/af_smc.c lock_sock(&smc->sk); smc 1798 net/smc/af_smc.c if (smc->use_fallback) { smc 1799 net/smc/af_smc.c if (!smc->clcsock) { smc 1800 net/smc/af_smc.c release_sock(&smc->sk); smc 1803 net/smc/af_smc.c answ = smc->clcsock->ops->ioctl(smc->clcsock, cmd, arg); smc 1804 net/smc/af_smc.c release_sock(&smc->sk); smc 1809 net/smc/af_smc.c if (smc->sk.sk_state == SMC_LISTEN) { smc 1810 net/smc/af_smc.c release_sock(&smc->sk); smc 1813 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT || smc 1814 net/smc/af_smc.c smc->sk.sk_state == SMC_CLOSED) smc 1817 net/smc/af_smc.c answ = atomic_read(&smc->conn.bytes_to_rcv); smc 1821 net/smc/af_smc.c if (smc->sk.sk_state == SMC_LISTEN) { smc 1822 net/smc/af_smc.c release_sock(&smc->sk); smc 1825 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT || smc 1826 net/smc/af_smc.c smc->sk.sk_state == SMC_CLOSED) smc 1829 net/smc/af_smc.c answ = smc->conn.sndbuf_desc->len - smc 1830 net/smc/af_smc.c atomic_read(&smc->conn.sndbuf_space); smc 1834 net/smc/af_smc.c if (smc->sk.sk_state == SMC_LISTEN) { smc 1835 net/smc/af_smc.c release_sock(&smc->sk); smc 1838 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT || smc 1839 net/smc/af_smc.c smc->sk.sk_state == SMC_CLOSED) smc 1842 net/smc/af_smc.c answ = smc_tx_prepared_sends(&smc->conn); smc 1845 net/smc/af_smc.c if (smc->sk.sk_state == SMC_LISTEN) { smc 1846 net/smc/af_smc.c release_sock(&smc->sk); smc 1849 net/smc/af_smc.c if (smc->sk.sk_state == SMC_INIT || smc 1850 net/smc/af_smc.c smc->sk.sk_state == SMC_CLOSED) { smc 1860 net/smc/af_smc.c release_sock(&smc->sk); smc 1863 net/smc/af_smc.c release_sock(&smc->sk); smc 1872 net/smc/af_smc.c struct smc_sock *smc; smc 1875 net/smc/af_smc.c smc = smc_sk(sk); smc 1882 net/smc/af_smc.c if (smc->use_fallback) smc 1883 net/smc/af_smc.c rc = kernel_sendpage(smc->clcsock, page, offset, smc 1903 net/smc/af_smc.c struct smc_sock *smc; smc 1906 net/smc/af_smc.c smc = smc_sk(sk); smc 1923 net/smc/af_smc.c if (smc->use_fallback) { smc 1924 net/smc/af_smc.c rc = smc->clcsock->ops->splice_read(smc->clcsock, ppos, smc 1935 net/smc/af_smc.c rc = smc_rx_recvmsg(smc, NULL, pipe, len, flags); smc 1970 net/smc/af_smc.c struct smc_sock *smc; smc 1989 net/smc/af_smc.c smc = smc_sk(sk); smc 1990 net/smc/af_smc.c smc->use_fallback = false; /* assume rdma capability first */ smc 1991 net/smc/af_smc.c smc->fallback_rsn = 0; smc 1993 net/smc/af_smc.c &smc->clcsock); smc 1998 net/smc/af_smc.c smc->sk.sk_sndbuf = max(smc->clcsock->sk->sk_sndbuf, SMC_BUF_MIN_SIZE); smc 1999 net/smc/af_smc.c smc->sk.sk_rcvbuf = max(smc->clcsock->sk->sk_rcvbuf, SMC_BUF_MIN_SIZE); smc 253 net/smc/smc.h static inline bool using_ipsec(struct smc_sock *smc) smc 255 net/smc/smc.h return (smc->clcsock->sk->sk_policy[0] || smc 256 net/smc/smc.h smc->clcsock->sk->sk_policy[1]) ? true : false; smc 259 net/smc/smc.h static inline bool using_ipsec(struct smc_sock *smc) smc 31 net/smc/smc_cdc.c struct smc_sock *smc; smc 38 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); smc 39 net/smc/smc_cdc.c bh_lock_sock(&smc->sk); smc 51 net/smc/smc_cdc.c smc_tx_sndbuf_nonfull(smc); smc 52 net/smc/smc_cdc.c bh_unlock_sock(&smc->sk); smc 178 net/smc/smc_cdc.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); smc 208 net/smc/smc_cdc.c smc_tx_sndbuf_nonfull(smc); smc 219 net/smc/smc_cdc.c static void smc_cdc_handle_urg_data_arrival(struct smc_sock *smc, smc 222 net/smc/smc_cdc.c struct smc_connection *conn = &smc->conn; smc 228 net/smc/smc_cdc.c if (!sock_flag(&smc->sk, SOCK_URGINLINE)) smc 236 net/smc/smc_cdc.c sk_send_sigurg(&smc->sk); smc 239 net/smc/smc_cdc.c static void smc_cdc_msg_recv_action(struct smc_sock *smc, smc 243 net/smc/smc_cdc.c struct smc_connection *conn = &smc->conn; smc 266 net/smc/smc_cdc.c smc_cdc_handle_urg_data_arrival(smc, &diff_prod); smc 272 net/smc/smc_cdc.c smc->sk.sk_data_ready(&smc->sk); smc 275 net/smc/smc_cdc.c smc->sk.sk_data_ready(&smc->sk); smc 290 net/smc/smc_cdc.c smc->sk.sk_write_space(&smc->sk); smc 294 net/smc/smc_cdc.c smc->sk.sk_err = ECONNRESET; smc 298 net/smc/smc_cdc.c smc->sk.sk_shutdown |= RCV_SHUTDOWN; smc 299 net/smc/smc_cdc.c if (smc->clcsock && smc->clcsock->sk) smc 300 net/smc/smc_cdc.c smc->clcsock->sk->sk_shutdown |= RCV_SHUTDOWN; smc 301 net/smc/smc_cdc.c sock_set_flag(&smc->sk, SOCK_DONE); smc 302 net/smc/smc_cdc.c sock_hold(&smc->sk); /* sock_put in close_work */ smc 304 net/smc/smc_cdc.c sock_put(&smc->sk); smc 309 net/smc/smc_cdc.c static void smc_cdc_msg_recv(struct smc_sock *smc, struct smc_cdc_msg *cdc) smc 311 net/smc/smc_cdc.c sock_hold(&smc->sk); smc 312 net/smc/smc_cdc.c bh_lock_sock(&smc->sk); smc 313 net/smc/smc_cdc.c smc_cdc_msg_recv_action(smc, cdc); smc 314 net/smc/smc_cdc.c bh_unlock_sock(&smc->sk); smc 315 net/smc/smc_cdc.c sock_put(&smc->sk); /* no free sk in softirq-context */ smc 329 net/smc/smc_cdc.c struct smc_sock *smc; smc 337 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); smc 338 net/smc/smc_cdc.c smc_cdc_msg_recv(smc, (struct smc_cdc_msg *)&cdc); smc 357 net/smc/smc_cdc.c struct smc_sock *smc; smc 371 net/smc/smc_cdc.c smc = container_of(conn, struct smc_sock, conn); smc 379 net/smc/smc_cdc.c smc_cdc_msg_recv(smc, cdc); smc 270 net/smc/smc_clc.c int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen, smc 273 net/smc/smc_clc.c long rcvtimeo = smc->clcsock->sk->sk_rcvtimeo; smc 274 net/smc/smc_clc.c struct sock *clc_sk = smc->clcsock->sk; smc 294 net/smc/smc_clc.c len = sock_recvmsg(smc->clcsock, &msg, krflags); smc 298 net/smc/smc_clc.c smc->sk.sk_err = EINTR; smc 307 net/smc/smc_clc.c smc->sk.sk_err = clc_sk->sk_err; smc 311 net/smc/smc_clc.c smc->sk.sk_err = ECONNRESET; smc 317 net/smc/smc_clc.c smc->sk.sk_err = -len; smc 329 net/smc/smc_clc.c smc->sk.sk_err = EPROTO; smc 338 net/smc/smc_clc.c len = sock_recvmsg(smc->clcsock, &msg, krflags); smc 340 net/smc/smc_clc.c smc->sk.sk_err = EPROTO; smc 349 net/smc/smc_clc.c smc->peer_diagnosis = ntohl(dclc->peer_diagnosis); smc 351 net/smc/smc_clc.c smc->conn.lgr->sync_err = 1; smc 352 net/smc/smc_clc.c smc_lgr_terminate(smc->conn.lgr); smc 362 net/smc/smc_clc.c int smc_clc_send_decline(struct smc_sock *smc, u32 peer_diag_info) smc 375 net/smc/smc_clc.c if (smc->conn.lgr && !smc->conn.lgr->is_smcd) smc 384 net/smc/smc_clc.c len = kernel_sendmsg(smc->clcsock, &msg, &vec, 1, smc 392 net/smc/smc_clc.c int smc_clc_send_proposal(struct smc_sock *smc, int smc_type, smc 406 net/smc/smc_clc.c rc = smc_clc_prfx_set(smc->clcsock, &pclc_prfx, ipv6_prfx); smc 456 net/smc/smc_clc.c len = kernel_sendmsg(smc->clcsock, &msg, vec, i, plen); smc 458 net/smc/smc_clc.c smc->sk.sk_err = smc->clcsock->sk->sk_err; smc 459 net/smc/smc_clc.c reason_code = -smc->sk.sk_err; smc 462 net/smc/smc_clc.c smc->sk.sk_err = -reason_code; smc 469 net/smc/smc_clc.c int smc_clc_send_confirm(struct smc_sock *smc) smc 471 net/smc/smc_clc.c struct smc_connection *conn = &smc->conn; smc 483 net/smc/smc_clc.c if (smc->conn.lgr->is_smcd) { smc 525 net/smc/smc_clc.c len = kernel_sendmsg(smc->clcsock, &msg, &vec, 1, smc 530 net/smc/smc_clc.c smc->sk.sk_err = -reason_code; smc 532 net/smc/smc_clc.c smc->sk.sk_err = smc->clcsock->sk->sk_err; smc 533 net/smc/smc_clc.c reason_code = -smc->sk.sk_err; smc 192 net/smc/smc_clc.h int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen, smc 194 net/smc/smc_clc.h int smc_clc_send_decline(struct smc_sock *smc, u32 peer_diag_info); smc 195 net/smc/smc_clc.h int smc_clc_send_proposal(struct smc_sock *smc, int smc_type, smc 197 net/smc/smc_clc.h int smc_clc_send_confirm(struct smc_sock *smc); smc 198 net/smc/smc_clc.h int smc_clc_send_accept(struct smc_sock *smc, int srv_first_contact); smc 25 net/smc/smc_close.c void smc_clcsock_release(struct smc_sock *smc) smc 29 net/smc/smc_close.c if (smc->listen_smc && current_work() != &smc->smc_listen_work) smc 30 net/smc/smc_close.c cancel_work_sync(&smc->smc_listen_work); smc 31 net/smc/smc_close.c mutex_lock(&smc->clcsock_release_lock); smc 32 net/smc/smc_close.c if (smc->clcsock) { smc 33 net/smc/smc_close.c tcp = smc->clcsock; smc 34 net/smc/smc_close.c smc->clcsock = NULL; smc 37 net/smc/smc_close.c mutex_unlock(&smc->clcsock_release_lock); smc 50 net/smc/smc_close.c static void smc_close_stream_wait(struct smc_sock *smc, long timeout) smc 53 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 58 net/smc/smc_close.c if (!smc_tx_prepared_sends(&smc->conn)) smc 61 net/smc/smc_close.c smc->wait_close_tx_prepared = 1; smc 67 net/smc/smc_close.c !smc_tx_prepared_sends(&smc->conn) || smc 75 net/smc/smc_close.c smc->wait_close_tx_prepared = 0; smc 78 net/smc/smc_close.c void smc_close_wake_tx_prepared(struct smc_sock *smc) smc 80 net/smc/smc_close.c if (smc->wait_close_tx_prepared) smc 82 net/smc/smc_close.c smc->sk.sk_state_change(&smc->sk); smc 112 net/smc/smc_close.c static void smc_close_active_abort(struct smc_sock *smc) smc 114 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 117 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; smc 119 net/smc/smc_close.c if (sk->sk_state != SMC_INIT && smc->clcsock && smc->clcsock->sk) { smc 121 net/smc/smc_close.c if (smc->clcsock && smc->clcsock->sk) { smc 122 net/smc/smc_close.c smc->clcsock->sk->sk_err = ECONNABORTED; smc 123 net/smc/smc_close.c smc->clcsock->sk->sk_state_change(smc->clcsock->sk); smc 130 net/smc/smc_close.c cancel_delayed_work_sync(&smc->conn.tx_work); smc 136 net/smc/smc_close.c if (!smc_cdc_rxed_any_close(&smc->conn)) smc 141 net/smc/smc_close.c cancel_delayed_work_sync(&smc->conn.tx_work); smc 177 net/smc/smc_close.c int smc_close_active(struct smc_sock *smc) smc 180 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; smc 181 net/smc/smc_close.c struct smc_connection *conn = &smc->conn; smc 182 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 200 net/smc/smc_close.c if (smc->clcsock && smc->clcsock->sk) { smc 201 net/smc/smc_close.c rc = kernel_sock_shutdown(smc->clcsock, SHUT_RDWR); smc 203 net/smc/smc_close.c smc->clcsock->sk->sk_data_ready(smc->clcsock->sk); smc 207 net/smc/smc_close.c flush_work(&smc->tcp_listen_work); smc 211 net/smc/smc_close.c smc_close_stream_wait(smc, timeout); smc 240 net/smc/smc_close.c smc_close_stream_wait(smc, timeout); smc 289 net/smc/smc_close.c static void smc_close_passive_abort_received(struct smc_sock *smc) smc 292 net/smc/smc_close.c &smc->conn.local_tx_ctrl.conn_state_flags; smc 293 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 308 net/smc/smc_close.c !smc_close_sent_any_close(&smc->conn)) smc 338 net/smc/smc_close.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); smc 341 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 349 net/smc/smc_close.c smc_close_active_abort(smc); smc 356 net/smc/smc_close.c smc_close_passive_abort_received(smc); smc 357 net/smc/smc_close.c release_sock(&smc->sk); smc 359 net/smc/smc_close.c lock_sock(&smc->sk); smc 420 net/smc/smc_close.c if (smc->clcsock) smc 426 net/smc/smc_close.c smc_clcsock_release(smc); smc 430 net/smc/smc_close.c int smc_close_shutdown_write(struct smc_sock *smc) smc 432 net/smc/smc_close.c struct smc_connection *conn = &smc->conn; smc 433 net/smc/smc_close.c struct sock *sk = &smc->sk; smc 446 net/smc/smc_close.c smc_close_stream_wait(smc, timeout); smc 461 net/smc/smc_close.c smc_close_stream_wait(smc, timeout); smc 490 net/smc/smc_close.c void smc_close_init(struct smc_sock *smc) smc 492 net/smc/smc_close.c INIT_WORK(&smc->conn.close_work, smc_close_passive_work); smc 22 net/smc/smc_close.h void smc_close_wake_tx_prepared(struct smc_sock *smc); smc 23 net/smc/smc_close.h int smc_close_active(struct smc_sock *smc); smc 24 net/smc/smc_close.h int smc_close_shutdown_write(struct smc_sock *smc); smc 25 net/smc/smc_close.h void smc_close_init(struct smc_sock *smc); smc 26 net/smc/smc_close.h void smc_clcsock_release(struct smc_sock *smc); smc 95 net/smc/smc_core.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); smc 101 net/smc/smc_core.c sock_hold(&smc->sk); /* sock_put in smc_lgr_unregister_conn() */ smc 115 net/smc/smc_core.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); smc 121 net/smc/smc_core.c sock_put(&smc->sk); /* sock_hold in smc_lgr_register_conn() */ smc 198 net/smc/smc_core.c static int smc_lgr_create(struct smc_sock *smc, struct smc_init_info *ini) smc 240 net/smc/smc_core.c lgr->role = smc->listen_smc ? SMC_SERV : SMC_CLNT; smc 278 net/smc/smc_core.c smc->conn.lgr = lgr; smc 461 net/smc/smc_core.c struct smc_sock *smc; smc 476 net/smc/smc_core.c smc = container_of(conn, struct smc_sock, conn); smc 477 net/smc/smc_core.c sock_hold(&smc->sk); /* sock_put in close work */ smc 483 net/smc/smc_core.c sock_put(&smc->sk); smc 612 net/smc/smc_core.c int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini) smc 614 net/smc/smc_core.c struct smc_connection *conn = &smc->conn; smc 620 net/smc/smc_core.c role = smc->listen_smc ? SMC_SERV : SMC_CLNT; smc 660 net/smc/smc_core.c rc = smc_lgr_create(smc, ini); smc 835 net/smc/smc_core.c static int __smc_buf_create(struct smc_sock *smc, bool is_smcd, bool is_rmb) smc 838 net/smc/smc_core.c struct smc_connection *conn = &smc->conn; smc 847 net/smc/smc_core.c sk_buf_size = smc->sk.sk_rcvbuf / 2; smc 850 net/smc/smc_core.c sk_buf_size = smc->sk.sk_sndbuf / 2; smc 896 net/smc/smc_core.c smc->sk.sk_rcvbuf = bufsize * 2; smc 904 net/smc/smc_core.c smc->sk.sk_sndbuf = bufsize * 2; smc 956 net/smc/smc_core.c int smc_buf_create(struct smc_sock *smc, bool is_smcd) smc 961 net/smc/smc_core.c rc = __smc_buf_create(smc, is_smcd, false); smc 965 net/smc/smc_core.c rc = __smc_buf_create(smc, is_smcd, true); smc 967 net/smc/smc_core.c smc_buf_free(smc->conn.lgr, false, smc->conn.sndbuf_desc); smc 292 net/smc/smc_core.h int smc_buf_create(struct smc_sock *smc, bool is_smcd); smc 305 net/smc/smc_core.h int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini); smc 40 net/smc/smc_diag.c struct smc_sock *smc = smc_sk(sk); smc 45 net/smc/smc_diag.c if (!smc->clcsock) smc 47 net/smc/smc_diag.c r->id.idiag_sport = htons(smc->clcsock->sk->sk_num); smc 48 net/smc/smc_diag.c r->id.idiag_dport = smc->clcsock->sk->sk_dport; smc 49 net/smc/smc_diag.c r->id.idiag_if = smc->clcsock->sk->sk_bound_dev_if; smc 51 net/smc/smc_diag.c r->id.idiag_src[0] = smc->clcsock->sk->sk_rcv_saddr; smc 52 net/smc/smc_diag.c r->id.idiag_dst[0] = smc->clcsock->sk->sk_daddr; smc 55 net/smc/smc_diag.c memcpy(&r->id.idiag_src, &smc->clcsock->sk->sk_v6_rcv_saddr, smc 56 net/smc/smc_diag.c sizeof(smc->clcsock->sk->sk_v6_rcv_saddr)); smc 57 net/smc/smc_diag.c memcpy(&r->id.idiag_dst, &smc->clcsock->sk->sk_v6_daddr, smc 58 net/smc/smc_diag.c sizeof(smc->clcsock->sk->sk_v6_daddr)); smc 80 net/smc/smc_diag.c struct smc_sock *smc = smc_sk(sk); smc 94 net/smc/smc_diag.c if (smc->use_fallback) smc 96 net/smc/smc_diag.c else if (smc->conn.lgr && smc->conn.lgr->is_smcd) smc 104 net/smc/smc_diag.c fallback.reason = smc->fallback_rsn; smc 105 net/smc/smc_diag.c fallback.peer_diagnosis = smc->peer_diagnosis; smc 110 net/smc/smc_diag.c smc->conn.alert_token_local) { smc 111 net/smc/smc_diag.c struct smc_connection *conn = &smc->conn; smc 149 net/smc/smc_diag.c if (smc->conn.lgr && !smc->conn.lgr->is_smcd && smc 151 net/smc/smc_diag.c !list_empty(&smc->conn.lgr->list)) { smc 153 net/smc/smc_diag.c .role = smc->conn.lgr->role, smc 154 net/smc/smc_diag.c .lnk[0].ibport = smc->conn.lgr->lnk[0].ibport, smc 155 net/smc/smc_diag.c .lnk[0].link_id = smc->conn.lgr->lnk[0].link_id, smc 159 net/smc/smc_diag.c smc->conn.lgr->lnk[0].smcibdev->ibdev->name, smc 160 net/smc/smc_diag.c sizeof(smc->conn.lgr->lnk[0].smcibdev->ibdev->name)); smc 162 net/smc/smc_diag.c smc->conn.lgr->lnk[0].gid); smc 164 net/smc/smc_diag.c smc->conn.lgr->lnk[0].peer_gid); smc 169 net/smc/smc_diag.c if (smc->conn.lgr && smc->conn.lgr->is_smcd && smc 171 net/smc/smc_diag.c !list_empty(&smc->conn.lgr->list)) { smc 172 net/smc/smc_diag.c struct smc_connection *conn = &smc->conn; smc 53 net/smc/smc_rx.c static int smc_rx_update_consumer(struct smc_sock *smc, smc 56 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 57 net/smc/smc_rx.c struct sock *sk = &smc->sk; smc 94 net/smc/smc_rx.c static void smc_rx_update_cons(struct smc_sock *smc, size_t len) smc 96 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 100 net/smc/smc_rx.c smc_rx_update_consumer(smc, cons, len); smc 104 net/smc/smc_rx.c struct smc_sock *smc; smc 112 net/smc/smc_rx.c struct smc_sock *smc = priv->smc; smc 114 net/smc/smc_rx.c struct sock *sk = &smc->sk; smc 120 net/smc/smc_rx.c conn = &smc->conn; smc 122 net/smc/smc_rx.c smc_rx_update_cons(smc, priv->len); smc 152 net/smc/smc_rx.c struct smc_sock *smc) smc 163 net/smc/smc_rx.c priv->smc = smc; smc 164 net/smc/smc_rx.c partial.offset = src - (char *)smc->conn.rmb_desc->cpu_addr; smc 170 net/smc/smc_rx.c spd.pages = &smc->conn.rmb_desc->pages; smc 177 net/smc/smc_rx.c sock_hold(&smc->sk); smc 178 net/smc/smc_rx.c get_page(smc->conn.rmb_desc->pages); smc 179 net/smc/smc_rx.c atomic_add(bytes, &smc->conn.splice_pending); smc 199 net/smc/smc_rx.c int smc_rx_wait(struct smc_sock *smc, long *timeo, smc 203 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 204 net/smc/smc_rx.c struct sock *sk = &smc->sk; smc 221 net/smc/smc_rx.c static int smc_rx_recv_urg(struct smc_sock *smc, struct msghdr *msg, int len, smc 224 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 226 net/smc/smc_rx.c struct sock *sk = &smc->sk; smc 236 net/smc/smc_rx.c smc->conn.urg_state = SMC_URG_READ; smc 250 net/smc/smc_rx.c smc_rx_update_consumer(smc, cons, 0); smc 264 net/smc/smc_rx.c static bool smc_rx_recvmsg_data_available(struct smc_sock *smc) smc 266 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 272 net/smc/smc_rx.c smc_rx_update_cons(smc, 0); smc 283 net/smc/smc_rx.c int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg, smc 288 net/smc/smc_rx.c struct smc_connection *conn = &smc->conn; smc 302 net/smc/smc_rx.c sk = &smc->sk; smc 306 net/smc/smc_rx.c return smc_rx_recv_urg(smc, msg, len, flags); smc 317 net/smc/smc_rx.c if (smc_rx_recvmsg_data_available(smc)) smc 325 net/smc/smc_rx.c if (smc_rx_recvmsg_data_available(smc)) smc 360 net/smc/smc_rx.c smc_rx_wait(smc, &timeo, smc_rx_data_available); smc 374 net/smc/smc_rx.c smc_rx_wait(smc, &timeo, func); smc 383 net/smc/smc_rx.c sock_flag(&smc->sk, SOCK_URGINLINE) && smc 404 net/smc/smc_rx.c smc); smc 432 net/smc/smc_rx.c if (msg && smc_rx_update_consumer(smc, cons, copylen)) smc 441 net/smc/smc_rx.c void smc_rx_init(struct smc_sock *smc) smc 443 net/smc/smc_rx.c smc->sk.sk_data_ready = smc_rx_wake_up; smc 444 net/smc/smc_rx.c atomic_set(&smc->conn.splice_pending, 0); smc 445 net/smc/smc_rx.c smc->conn.urg_state = SMC_URG_READ; smc 20 net/smc/smc_rx.h void smc_rx_init(struct smc_sock *smc); smc 22 net/smc/smc_rx.h int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg, smc 24 net/smc/smc_rx.h int smc_rx_wait(struct smc_sock *smc, long *timeo, smc 43 net/smc/smc_tx.c struct smc_sock *smc = smc_sk(sk); smc 47 net/smc/smc_tx.c if (atomic_read(&smc->conn.sndbuf_space) && sock) { smc 64 net/smc/smc_tx.c void smc_tx_sndbuf_nonfull(struct smc_sock *smc) smc 66 net/smc/smc_tx.c if (smc->sk.sk_socket && smc 67 net/smc/smc_tx.c test_bit(SOCK_NOSPACE, &smc->sk.sk_socket->flags)) smc 68 net/smc/smc_tx.c smc->sk.sk_write_space(&smc->sk); smc 74 net/smc/smc_tx.c static int smc_tx_wait(struct smc_sock *smc, int flags) smc 77 net/smc/smc_tx.c struct smc_connection *conn = &smc->conn; smc 78 net/smc/smc_tx.c struct sock *sk = &smc->sk; smc 123 net/smc/smc_tx.c static bool smc_tx_is_corked(struct smc_sock *smc) smc 125 net/smc/smc_tx.c struct tcp_sock *tp = tcp_sk(smc->clcsock->sk); smc 133 net/smc/smc_tx.c int smc_tx_sendmsg(struct smc_sock *smc, struct msghdr *msg, size_t len) smc 137 net/smc/smc_tx.c struct smc_connection *conn = &smc->conn; smc 139 net/smc/smc_tx.c struct sock *sk = &smc->sk; smc 156 net/smc/smc_tx.c if (smc->sk.sk_shutdown & SEND_SHUTDOWN || smc 157 net/smc/smc_tx.c (smc->sk.sk_err == ECONNABORTED) || smc 169 net/smc/smc_tx.c rc = smc_tx_wait(smc, msg->msg_flags); smc 224 net/smc/smc_tx.c if ((msg->msg_flags & MSG_MORE || smc_tx_is_corked(smc)) && smc 493 net/smc/smc_tx.c struct smc_sock *smc = smc 496 net/smc/smc_tx.c if (smc->sk.sk_err == ECONNABORTED) smc 497 net/smc/smc_tx.c return sock_error(&smc->sk); smc 557 net/smc/smc_tx.c struct smc_sock *smc = container_of(conn, struct smc_sock, smc 559 net/smc/smc_tx.c smc_close_wake_tx_prepared(smc); smc 572 net/smc/smc_tx.c struct smc_sock *smc = container_of(conn, struct smc_sock, conn); smc 575 net/smc/smc_tx.c lock_sock(&smc->sk); smc 576 net/smc/smc_tx.c if (smc->sk.sk_err || smc 587 net/smc/smc_tx.c release_sock(&smc->sk); smc 626 net/smc/smc_tx.c void smc_tx_init(struct smc_sock *smc) smc 628 net/smc/smc_tx.c smc->sk.sk_write_space = smc_tx_write_space; smc 31 net/smc/smc_tx.h void smc_tx_init(struct smc_sock *smc); smc 32 net/smc/smc_tx.h int smc_tx_sendmsg(struct smc_sock *smc, struct msghdr *msg, size_t len); smc 34 net/smc/smc_tx.h void smc_tx_sndbuf_nonfull(struct smc_sock *smc);