• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/net/hamradio/

Lines Matching defs:yp

479 	struct yam_port *yp = netdev_priv(dev);
480 int divisor = 115200 / yp->baudrate;
545 static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp)
547 if (yp->dcd && yp->rx_len >= 3 && yp->rx_len < YAM_MAX_FRAME) {
548 int pkt_len = yp->rx_len - 2 + 1; /* -CRC + kiss */
551 if ((yp->rx_crch & yp->rx_crcl) != 0xFF) {
561 memcpy(cp, yp->rx_buf, pkt_len - 1);
568 yp->rx_len = 0;
569 yp->rx_crcl = 0x21;
570 yp->rx_crch = 0xf3;
573 static inline void yam_rx_byte(struct net_device *dev, struct yam_port *yp, unsigned char rxb)
575 if (yp->rx_len < YAM_MAX_FRAME) {
576 unsigned char c = yp->rx_crcl;
577 yp->rx_crcl = (chktabl[c] ^ yp->rx_crch);
578 yp->rx_crch = (chktabh[c] ^ rxb);
579 yp->rx_buf[yp->rx_len++] = rxb;
600 struct yam_port *yp = netdev_priv(dev);
602 skb_queue_tail(&yp->send_queue, skb);
607 static void yam_start_tx(struct net_device *dev, struct yam_port *yp)
609 if ((yp->tx_state == TX_TAIL) || (yp->txd == 0))
610 yp->tx_count = 1;
612 yp->tx_count = (yp->bitrate * yp->txd) / 8000;
613 yp->tx_state = TX_HEAD;
619 struct yam_port *yp = netdev_priv(dev);
621 if (yp->magic != YAM_MAGIC || yp->tx_state != TX_OFF ||
622 skb_queue_empty(&yp->send_queue))
626 if (yp->dupmode) {
628 yam_start_tx(dev, yp);
631 if (yp->dcd) {
633 yp->slotcnt = yp->slot / 10;
637 if ((--yp->slotcnt) > 0)
640 yp->slotcnt = yp->slot / 10;
643 if ((random32() % 256) > yp->pers)
646 yam_start_tx(dev, yp);
662 static void yam_tx_byte(struct net_device *dev, struct yam_port *yp)
667 switch (yp->tx_state) {
671 if (--yp->tx_count <= 0) {
672 if (!(skb = skb_dequeue(&yp->send_queue))) {
674 yp->tx_state = TX_OFF;
677 yp->tx_state = TX_DATA;
683 yp->tx_len = skb->len - 1; /* strip KISS byte */
684 if (yp->tx_len >= YAM_MAX_FRAME || yp->tx_len < 2) {
689 yp->tx_buf,
690 yp->tx_len);
692 yp->tx_count = 0;
693 yp->tx_crcl = 0x21;
694 yp->tx_crch = 0xf3;
695 yp->tx_state = TX_DATA;
699 b = yp->tx_buf[yp->tx_count++];
701 temp = yp->tx_crcl;
702 yp->tx_crcl = chktabl[temp] ^ yp->tx_crch;
703 yp->tx_crch = chktabh[temp] ^ b;
704 if (yp->tx_count >= yp->tx_len) {
705 yp->tx_state = TX_CRC1;
709 yp->tx_crch = chktabl[yp->tx_crcl] ^ yp->tx_crch;
710 yp->tx_crcl = chktabh[yp->tx_crcl] ^ chktabl[yp->tx_crch] ^ 0xff;
711 outb(yp->tx_crcl, THR(dev->base_addr));
712 yp->tx_state = TX_CRC2;
715 outb(chktabh[yp->tx_crch] ^ 0xFF, THR(dev->base_addr));
716 if (skb_queue_empty(&yp->send_queue)) {
717 yp->tx_count = (yp->bitrate * yp->txtail) / 8000;
718 if (yp->dupmode == 2)
719 yp->tx_count += (yp->bitrate * yp->holdd) / 8;
720 if (yp->tx_count == 0)
721 yp->tx_count = 1;
722 yp->tx_state = TX_TAIL;
724 yp->tx_count = 1;
725 yp->tx_state = TX_HEAD;
730 if (--yp->tx_count <= 0) {
731 yp->tx_state = TX_OFF;
745 struct yam_port *yp;
753 yp = netdev_priv(dev);
768 yp->dcd = (msr & RX_DCD) ? 1 : 0;
776 ++yp->nb_mdint;
777 yam_tx_byte(dev, yp);
780 ++yp->nb_rxint;
783 yam_rx_flag(dev, yp);
785 yam_rx_byte(dev, yp, rxb);
813 const struct yam_port *yp = netdev_priv(dev);
817 seq_printf(seq, " Speed %u\n", yp->bitrate);
818 seq_printf(seq, " IoBase 0x%x\n", yp->iobase);
819 seq_printf(seq, " BaudRate %u\n", yp->baudrate);
820 seq_printf(seq, " IRQ %u\n", yp->irq);
821 seq_printf(seq, " TxState %u\n", yp->tx_state);
822 seq_printf(seq, " Duplex %u\n", yp->dupmode);
823 seq_printf(seq, " HoldDly %u\n", yp->holdd);
824 seq_printf(seq, " TxDelay %u\n", yp->txd);
825 seq_printf(seq, " TxTail %u\n", yp->txtail);
826 seq_printf(seq, " SlotTime %u\n", yp->slot);
827 seq_printf(seq, " Persist %u\n", yp->pers);
830 seq_printf(seq, " TxInt %u\n", yp->nb_mdint);
831 seq_printf(seq, " RxInt %u\n", yp->nb_rxint);
864 struct yam_port *yp = netdev_priv(dev);
871 if (!dev || !yp->bitrate)
887 if (fpga_download(dev->base_addr, yp->bitrate)) {
903 yp->slotcnt = yp->slot / 10;
927 struct yam_port *yp = netdev_priv(dev);
941 while ((skb = skb_dequeue(&yp->send_queue)))
953 struct yam_port *yp = netdev_priv(dev);
961 if (yp->magic != YAM_MAGIC)
1010 yp->iobase = yi.cfg.iobase;
1016 yp->irq = yi.cfg.irq;
1022 yp->bitrate = yi.cfg.bitrate;
1027 yp->baudrate = yi.cfg.baudrate;
1032 yp->dupmode = yi.cfg.mode;
1037 yp->holdd = yi.cfg.holddly;
1042 yp->txd = yi.cfg.txdelay;
1047 yp->txtail = yi.cfg.txtail;
1052 yp->pers = yi.cfg.persist;
1057 yp->slot = yi.cfg.slottime;
1058 yp->slotcnt = yp->slot / 10;
1064 yi.cfg.iobase = yp->iobase;
1065 yi.cfg.irq = yp->irq;
1066 yi.cfg.bitrate = yp->bitrate;
1067 yi.cfg.baudrate = yp->baudrate;
1068 yi.cfg.mode = yp->dupmode;
1069 yi.cfg.txdelay = yp->txd;
1070 yi.cfg.holddly = yp->holdd;
1071 yi.cfg.txtail = yp->txtail;
1072 yi.cfg.persist = yp->pers;
1073 yi.cfg.slottime = yp->slot;
1109 struct yam_port *yp = netdev_priv(dev);
1111 yp->magic = YAM_MAGIC;
1112 yp->bitrate = DEFAULT_BITRATE;
1113 yp->baudrate = DEFAULT_BITRATE * 2;
1114 yp->iobase = 0;
1115 yp->irq = 0;
1116 yp->dupmode = 0;
1117 yp->holdd = DEFAULT_HOLDD;
1118 yp->txd = DEFAULT_TXD;
1119 yp->txtail = DEFAULT_TXTAIL;
1120 yp->slot = DEFAULT_SLOT;
1121 yp->pers = DEFAULT_PERS;
1122 yp->dev = dev;
1124 dev->base_addr = yp->iobase;
1125 dev->irq = yp->irq;
1127 skb_queue_head_init(&yp->send_queue);