Home | History | Annotate | Download | only in pci

Lines Matching refs:ale_cdata

653 	    ALE_TX_RING_SZ, 0, BUS_DMA_NOWAIT, &sc->ale_cdata.ale_tx_ring_map);
655 sc->ale_cdata.ale_tx_ring_map = NULL;
661 PAGE_SIZE, 0, &sc->ale_cdata.ale_tx_ring_seg, 1,
669 error = bus_dmamem_map(sc->sc_dmat, &sc->ale_cdata.ale_tx_ring_seg,
670 nsegs, ALE_TX_RING_SZ, (void **)&sc->ale_cdata.ale_tx_ring,
675 memset(sc->ale_cdata.ale_tx_ring, 0, ALE_TX_RING_SZ);
678 error = bus_dmamap_load(sc->sc_dmat, sc->ale_cdata.ale_tx_ring_map,
679 sc->ale_cdata.ale_tx_ring, ALE_TX_RING_SZ, NULL, BUS_DMA_WAITOK);
684 &sc->ale_cdata.ale_tx_ring_seg, 1);
687 sc->ale_cdata.ale_tx_ring_paddr =
688 sc->ale_cdata.ale_tx_ring_map->dm_segs[0].ds_addr;
696 &sc->ale_cdata.ale_rx_page[i].page_map);
698 sc->ale_cdata.ale_rx_page[i].page_map = NULL;
704 PAGE_SIZE, 0, &sc->ale_cdata.ale_rx_page[i].page_seg,
712 &sc->ale_cdata.ale_rx_page[i].page_seg, nsegs,
714 (void **)&sc->ale_cdata.ale_rx_page[i].page_addr,
719 memset(sc->ale_cdata.ale_rx_page[i].page_addr, 0,
724 sc->ale_cdata.ale_rx_page[i].page_map,
725 sc->ale_cdata.ale_rx_page[i].page_addr,
731 &sc->ale_cdata.ale_rx_page[i].page_seg, 1);
734 sc->ale_cdata.ale_rx_page[i].page_paddr =
735 sc->ale_cdata.ale_rx_page[i].page_map->dm_segs[0].ds_addr;
742 ALE_TX_CMB_SZ, 0, BUS_DMA_NOWAIT, &sc->ale_cdata.ale_tx_cmb_map);
744 sc->ale_cdata.ale_tx_cmb_map = NULL;
750 &sc->ale_cdata.ale_tx_cmb_seg, 1, &nsegs, BUS_DMA_WAITOK);
758 error = bus_dmamem_map(sc->sc_dmat, &sc->ale_cdata.ale_tx_cmb_seg,
759 nsegs, ALE_TX_CMB_SZ, (void **)&sc->ale_cdata.ale_tx_cmb,
764 memset(sc->ale_cdata.ale_tx_cmb, 0, ALE_TX_CMB_SZ);
767 error = bus_dmamap_load(sc->sc_dmat, sc->ale_cdata.ale_tx_cmb_map,
768 sc->ale_cdata.ale_tx_cmb, ALE_TX_CMB_SZ, NULL, BUS_DMA_WAITOK);
773 &sc->ale_cdata.ale_tx_cmb_seg, 1);
777 sc->ale_cdata.ale_tx_cmb_paddr =
778 sc->ale_cdata.ale_tx_cmb_map->dm_segs[0].ds_addr;
786 &sc->ale_cdata.ale_rx_page[i].cmb_map);
788 sc->ale_cdata.ale_rx_page[i].cmb_map = NULL;
794 PAGE_SIZE, 0, &sc->ale_cdata.ale_rx_page[i].cmb_seg, 1,
802 &sc->ale_cdata.ale_rx_page[i].cmb_seg, nsegs,
804 (void **)&sc->ale_cdata.ale_rx_page[i].cmb_addr,
809 memset(sc->ale_cdata.ale_rx_page[i].cmb_addr, 0, ALE_RX_CMB_SZ);
813 sc->ale_cdata.ale_rx_page[i].cmb_map,
814 sc->ale_cdata.ale_rx_page[i].cmb_addr,
820 &sc->ale_cdata.ale_rx_page[i].cmb_seg, 1);
823 sc->ale_cdata.ale_rx_page[i].cmb_paddr =
824 sc->ale_cdata.ale_rx_page[i].cmb_map->dm_segs[0].ds_addr;
830 txd = &sc->ale_cdata.ale_txdesc[i];
855 txd = &sc->ale_cdata.ale_txdesc[i];
863 if (sc->ale_cdata.ale_tx_ring_map != NULL)
864 bus_dmamap_unload(sc->sc_dmat, sc->ale_cdata.ale_tx_ring_map);
865 if (sc->ale_cdata.ale_tx_ring_map != NULL &&
866 sc->ale_cdata.ale_tx_ring != NULL)
868 &sc->ale_cdata.ale_tx_ring_seg, 1);
869 sc->ale_cdata.ale_tx_ring = NULL;
870 sc->ale_cdata.ale_tx_ring_map = NULL;
874 if (sc->ale_cdata.ale_rx_page[i].page_map != NULL)
876 sc->ale_cdata.ale_rx_page[i].page_map);
877 if (sc->ale_cdata.ale_rx_page[i].page_map != NULL &&
878 sc->ale_cdata.ale_rx_page[i].page_addr != NULL)
880 &sc->ale_cdata.ale_rx_page[i].page_seg, 1);
881 sc->ale_cdata.ale_rx_page[i].page_addr = NULL;
882 sc->ale_cdata.ale_rx_page[i].page_map = NULL;
887 if (sc->ale_cdata.ale_rx_page[i].cmb_map != NULL)
889 sc->ale_cdata.ale_rx_page[i].cmb_map);
890 if (sc->ale_cdata.ale_rx_page[i].cmb_map != NULL &&
891 sc->ale_cdata.ale_rx_page[i].cmb_addr != NULL)
893 &sc->ale_cdata.ale_rx_page[i].cmb_seg, 1);
894 sc->ale_cdata.ale_rx_page[i].cmb_addr = NULL;
895 sc->ale_cdata.ale_rx_page[i].cmb_map = NULL;
899 if (sc->ale_cdata.ale_tx_cmb_map != NULL)
900 bus_dmamap_unload(sc->sc_dmat, sc->ale_cdata.ale_tx_cmb_map);
901 if (sc->ale_cdata.ale_tx_cmb_map != NULL &&
902 sc->ale_cdata.ale_tx_cmb != NULL)
904 &sc->ale_cdata.ale_tx_cmb_seg, 1);
905 sc->ale_cdata.ale_tx_cmb = NULL;
906 sc->ale_cdata.ale_tx_cmb_map = NULL;
922 prod = sc->ale_cdata.ale_tx_prod;
923 txd = &sc->ale_cdata.ale_txdesc[prod];
954 if (sc->ale_cdata.ale_tx_cnt + nsegs >= ALE_TX_RING_CNT - 2) {
1001 desc = &sc->ale_cdata.ale_tx_ring[prod];
1006 sc->ale_cdata.ale_tx_cnt++;
1010 sc->ale_cdata.ale_tx_prod = prod;
1014 desc = &sc->ale_cdata.ale_tx_ring[prod];
1018 txd = &sc->ale_cdata.ale_txdesc[prod];
1025 bus_dmamap_sync(sc->sc_dmat, sc->ale_cdata.ale_tx_ring_map, 0,
1026 sc->ale_cdata.ale_tx_ring_map->dm_mapsize, BUS_DMASYNC_PREWRITE);
1042 if (sc->ale_cdata.ale_tx_cnt >= ALE_TX_DESC_HIWAT)
1080 sc->ale_cdata.ale_tx_prod);
1335 if (sc->ale_cdata.ale_tx_cnt == 0)
1338 bus_dmamap_sync(sc->sc_dmat, sc->ale_cdata.ale_tx_ring_map, 0,
1339 sc->ale_cdata.ale_tx_ring_map->dm_mapsize, BUS_DMASYNC_POSTREAD);
1341 bus_dmamap_sync(sc->sc_dmat, sc->ale_cdata.ale_tx_cmb_map, 0,
1342 sc->ale_cdata.ale_tx_cmb_map->dm_mapsize,
1344 prod = *sc->ale_cdata.ale_tx_cmb & TPD_CNT_MASK;
1347 cons = sc->ale_cdata.ale_tx_cons;
1354 if (sc->ale_cdata.ale_tx_cnt <= 0)
1358 sc->ale_cdata.ale_tx_cnt--;
1359 txd = &sc->ale_cdata.ale_txdesc[cons];
1369 sc->ale_cdata.ale_tx_cons = cons;
1374 if (sc->ale_cdata.ale_tx_cnt == 0)
1398 CSR_WRITE_1(sc, ALE_RXF0_PAGE0 + sc->ale_cdata.ale_rx_curp,
1401 sc->ale_cdata.ale_rx_curp ^= 1;
1403 &sc->ale_cdata.ale_rx_page[sc->ale_cdata.ale_rx_curp];
1464 rx_page = &sc->ale_cdata.ale_rx_page[sc->ale_cdata.ale_rx_curp];
1484 if (sc->ale_cdata.ale_rx_seqno != seqno) {
1500 seqno, sc->ale_cdata.ale_rx_seqno);
1504 sc->ale_cdata.ale_rx_seqno++;
1642 paddr = sc->ale_cdata.ale_tx_ring_paddr;
1649 paddr = sc->ale_cdata.ale_rx_page[0].page_paddr;
1651 paddr = sc->ale_cdata.ale_rx_page[1].page_paddr;
1655 paddr = sc->ale_cdata.ale_tx_cmb_paddr;
1657 paddr = sc->ale_cdata.ale_rx_page[0].cmb_paddr;
1659 paddr = sc->ale_cdata.ale_rx_page[1].cmb_paddr;
1891 txd = &sc->ale_cdata.ale_txdesc[i];
1929 sc->ale_cdata.ale_tx_prod = 0;
1930 sc->ale_cdata.ale_tx_cons = 0;
1931 sc->ale_cdata.ale_tx_cnt = 0;
1933 memset(sc->ale_cdata.ale_tx_ring, 0, ALE_TX_RING_SZ);
1934 memset(sc->ale_cdata.ale_tx_cmb, 0, ALE_TX_CMB_SZ);
1936 txd = &sc->ale_cdata.ale_txdesc[i];
1939 *sc->ale_cdata.ale_tx_cmb = 0;
1940 bus_dmamap_sync(sc->sc_dmat, sc->ale_cdata.ale_tx_cmb_map, 0,
1941 sc->ale_cdata.ale_tx_cmb_map->dm_mapsize, BUS_DMASYNC_PREWRITE);
1942 bus_dmamap_sync(sc->sc_dmat, sc->ale_cdata.ale_tx_ring_map, 0,
1943 sc->ale_cdata.ale_tx_ring_map->dm_mapsize, BUS_DMASYNC_PREWRITE);
1952 sc->ale_cdata.ale_rx_seqno = 0;
1953 sc->ale_cdata.ale_rx_curp = 0;
1956 rx_page = &sc->ale_cdata.ale_rx_page[i];