Lines Matching refs:ns

327 #define __kick_rx()	writel(CR_RXE, ns->base + CR)
331 writel(virt_to_le32desc(&rx_ring[ns->cur_rx]), ns->base + RXDP); \
332 if (ns->next_rx == ns->next_empty) \
413 static struct ns83820_private *ns;
423 cfg = readl(ns->base + CFG) ^ SPDSTS_POLARITY;
424 if (ns->CFG_cache & CFG_TBI_EN) {
426 tbisr = readl(ns->base + TBISR);
427 tanar = readl(ns->base + TANAR);
428 tanlpar = readl(ns->base + TANLPAR);
436 writel(readl(ns->base + TXCFG)
438 ns->base + TXCFG);
439 writel(readl(ns->base + RXCFG) | RXCFG_RX_FD,
440 ns->base + RXCFG);
442 writel(readl(ns->base + GPIOR) | GPIOR_GP1_OUT,
443 ns->base + GPIOR);
453 writel((readl(ns->base + TXCFG)
455 ns->base + TXCFG);
456 writel(readl(ns->base + RXCFG) & ~RXCFG_RX_FD,
457 ns->base + RXCFG);
459 writel(readl(ns->base + GPIOR) & ~GPIOR_GP1_OUT,
460 ns->base + GPIOR);
468 ns->CFG_cache & ~(CFG_SB | CFG_MODE_1000 | CFG_SPDSTS);
482 ((new_cfg ^ ns->CFG_cache) & CFG_MODE_1000)) {
483 writel(new_cfg, ns->base + CFG);
484 ns->CFG_cache = new_cfg;
487 ns->CFG_cache &= ~CFG_SPDSTS;
488 ns->CFG_cache |= cfg & CFG_SPDSTS;
493 if (newlinkstate & LINK_UP && ns->linkstate != newlinkstate) {
497 && ns->linkstate != newlinkstate) {
500 ns->linkstate = newlinkstate;
506 ns->idle = 1;
507 ns->next_rx = 0;
508 ns->next_rx_desc = ns->descs;
509 ns->next_empty = 0;
510 ns->cur_rx = 0;
522 writel(0, ns->base + RXDP_HI);
523 writel(virt_to_le32desc(&rx_ring[0]), ns->base + RXDP);
527 writel(0x0001, ns->base + CCSR);
528 writel(0, ns->base + RFCR);
529 writel(0x7fc00000, ns->base + RFCR);
530 writel(0xffc00000, ns->base + RFCR);
532 ns->up = 1;
537 ns->IMR_cache |= ISR_PHY;
538 ns->IMR_cache |= ISR_RXRCMP;
541 ns->IMR_cache |= ISR_RXORN;
542 ns->IMR_cache |= ISR_RXSOVR;
543 ns->IMR_cache |= ISR_RXDESC;
544 ns->IMR_cache |= ISR_RXIDLE;
545 ns->IMR_cache |= ISR_TXDESC;
546 ns->IMR_cache |= ISR_TXIDLE;
549 // writel(ns->IMR_cache, ns->base + IMR);
550 // writel(1, ns->base + IER);
559 writel(which, ns->base + CR);
562 } while (readl(ns->base + CR) & which);
571 writel(0, ns->base + PQCR);
582 ns->tx_idx = 0;
583 ns->tx_done_idx = 0;
584 writel(0, ns->base + TXDP_HI);
595 writel(i * 2, ns->base + RFCR);
596 data = readl(ns->base + RFDR);
604 u8 *rfcr = ns->base + RFCR;
630 writel(enable, ns->base + PTSCR);
633 status = readl(ns->base + PTSCR);
658 u32 isr = readl(ns->base + ISR);
679 int entry = ns->cur_rx;
700 ns->cur_rx = ++ns->cur_rx % NR_RX_DESC;
702 if (ns->cur_rx == 0) /* We have wrapped the ring */
711 writel(CR_TXE, ns->base + CR);
727 u32 isr = readl(ns->base + ISR);
752 writel(virt_to_le32desc(&tx_ring[0]), ns->base + TXDP);
772 writel(0, ns->base + IMR);
773 writel(0, ns->base + IER);
774 readl(ns->base + IER);
776 ns->up = 0;
780 ns->IMR_cache &=
783 writel(ns->IMR_cache, ns->base + IMR);
786 readl(ns->base + IMR);
789 writel(0, ns->base + RXDP_HI);
790 writel(0, ns->base + RXDP);
828 ns = &nsx;
835 ns->base = ioremap(addr, (1UL << 12));
836 // ns->base = ioremap(addr, sz);
838 if (!ns->base)
845 writel(0, ns->base + IMR);
846 writel(0, ns->base + IER);
847 readl(ns->base + IER);
849 ns->IMR_cache = 0;
854 writel(PTSCR_RBIST_RST, ns->base + PTSCR);
862 ns->CFG_cache = readl(ns->base + CFG);
864 if ((ns->CFG_cache & CFG_PCI64_DET)) {
867 if (!(ns->CFG_cache & CFG_DATA64_EN))
872 ns->CFG_cache &= ~(CFG_DATA64_EN);
874 ns->CFG_cache &= (CFG_TBI_EN | CFG_MRM_DIS | CFG_MWI_DIS |
877 ns->CFG_cache |=
880 ns->CFG_cache |= CFG_REQALG;
881 ns->CFG_cache |= CFG_POW;
882 ns->CFG_cache |= CFG_TMRTEST;
888 ns->CFG_cache |= CFG_M64ADDR;
893 ns->CFG_cache |= CFG_T64ADDR;
896 ns->CFG_cache &= ~CFG_BEM;
899 if (ns->CFG_cache & CFG_TBI_EN) {
901 writel(readl(ns->base + GPIOR) | 0x3e8, ns->base + GPIOR);
904 writel(readl(ns->base + TANAR)
906 ns->base + TANAR);
910 ns->base + TBICR);
911 writel(TBICR_MR_AN_ENABLE, ns->base + TBICR);
912 ns->linkstate = LINK_AUTONEGOTIATE;
914 ns->CFG_cache |= CFG_MODE_1000;
916 writel(ns->CFG_cache, ns->base + CFG);
917 dprintf(("CFG: %hX\n", ns->CFG_cache));
922 writel(ns->CFG_cache | CFG_PHY_RST, ns->base + CFG);
923 writel(ns->CFG_cache, ns->base + CFG);
941 | ((1600 / 32) * 0x100), ns->base + TXCFG);
952 | (RXCFG_MXDMA512) | 0, ns->base + RXCFG);
955 writel(0, ns->base + PQCR);
969 writel(VRCR_IPEN | VRCR_VTDEN, ns->base + VRCR);
972 writel(VTCR_PPCHK, ns->base + VTCR);
975 // writel(0, ns->base + PCR);
978 ns->base + PCR);
981 writel(0, ns->base + WCSR);
984 printf("%! at ioaddr 0x%hX, ", nic->node_addr, ns->base);
992 (unsigned) readl(ns->base + SRR) >> 8,
993 (unsigned) readl(ns->base + SRR) & 0xff,