Lines Matching refs:l1

128 	atge_l1_data_t *l1;  in atge_l1_alloc_dma()  local
132 l1 = kmem_zalloc(sizeof (atge_l1_data_t), KM_SLEEP); in atge_l1_alloc_dma()
133 atgep->atge_private_data = l1; in atge_l1_alloc_dma()
168 l1->atge_rx_ring = kmem_alloc(sizeof (atge_ring_t), KM_SLEEP); in atge_l1_alloc_dma()
169 l1->atge_rx_ring->r_atge = atgep; in atge_l1_alloc_dma()
170 l1->atge_rx_ring->r_desc_ring = NULL; in atge_l1_alloc_dma()
178 l1->atge_rx_ring->r_desc_ring = dma; in atge_l1_alloc_dma()
183 err = atge_alloc_buffers(l1->atge_rx_ring, L1_RX_RING_CNT, in atge_l1_alloc_dma()
199 l1->atge_l1_cmb = dma; in atge_l1_alloc_dma()
213 l1->atge_l1_rr = dma; in atge_l1_alloc_dma()
228 l1->atge_l1_smb = dma; in atge_l1_alloc_dma()
242 atge_l1_data_t *l1; in atge_l1_free_dma() local
244 l1 = atgep->atge_private_data; in atge_l1_free_dma()
260 if (l1 && l1->atge_l1_cmb != NULL) { in atge_l1_free_dma()
261 atge_free_a_dma_blk(l1->atge_l1_cmb); in atge_l1_free_dma()
262 l1->atge_l1_cmb = NULL; in atge_l1_free_dma()
265 if (l1 && l1->atge_l1_rr != NULL) { in atge_l1_free_dma()
266 atge_free_a_dma_blk(l1->atge_l1_rr); in atge_l1_free_dma()
267 l1->atge_l1_rr = NULL; in atge_l1_free_dma()
270 if (l1 && l1->atge_l1_smb != NULL) { in atge_l1_free_dma()
271 atge_free_a_dma_blk(l1->atge_l1_smb); in atge_l1_free_dma()
272 l1->atge_l1_smb = NULL; in atge_l1_free_dma()
278 if (l1 && l1->atge_rx_ring != NULL) { in atge_l1_free_dma()
279 atge_free_buffers(l1->atge_rx_ring, L1_RX_RING_CNT); in atge_l1_free_dma()
281 if (l1->atge_rx_ring->r_desc_ring != NULL) { in atge_l1_free_dma()
282 atge_free_a_dma_blk(l1->atge_rx_ring->r_desc_ring); in atge_l1_free_dma()
285 kmem_free(l1->atge_rx_ring, sizeof (atge_ring_t)); in atge_l1_free_dma()
286 l1->atge_rx_ring = NULL; in atge_l1_free_dma()
301 atge_l1_data_t *l1; in atge_l1_init_rx_ring() local
306 l1 = atgep->atge_private_data; in atge_l1_init_rx_ring()
307 l1->atge_rx_ring->r_consumer = L1_RX_RING_CNT - 1; in atge_l1_init_rx_ring()
308 dma = l1->atge_rx_ring->r_desc_ring; in atge_l1_init_rx_ring()
315 l1->atge_rx_ring->r_buf_tbl[i]->cookie.dmac_laddress); in atge_l1_init_rx_ring()
317 (l1->atge_rx_ring->r_buf_tbl[i]->len & L1_RD_LEN_MASK) << in atge_l1_init_rx_ring()
339 atge_l1_data_t *l1; in atge_l1_init_rr_ring() local
342 l1 = atgep->atge_private_data; in atge_l1_init_rr_ring()
343 l1->atge_l1_rr_consumers = 0; in atge_l1_init_rr_ring()
345 dma = l1->atge_l1_rr; in atge_l1_init_rr_ring()
353 atge_l1_data_t *l1; in atge_l1_init_smb() local
356 l1 = atgep->atge_private_data; in atge_l1_init_smb()
357 dma = l1->atge_l1_smb; in atge_l1_init_smb()
365 atge_l1_data_t *l1; in atge_l1_init_cmb() local
368 l1 = atgep->atge_private_data; in atge_l1_init_cmb()
369 dma = l1->atge_l1_cmb; in atge_l1_init_cmb()
377 atge_l1_data_t *l1; in atge_l1_sync_mbox() local
379 l1 = atgep->atge_private_data; in atge_l1_sync_mbox()
383 ((l1->atge_rx_ring->r_consumer << MBOX_RD_PROD_IDX_SHIFT) & in atge_l1_sync_mbox()
385 ((l1->atge_l1_rr_consumers << in atge_l1_sync_mbox()
395 atge_l1_data_t *l1; in atge_l1_program_dma() local
398 l1 = atgep->atge_private_data; in atge_l1_program_dma()
408 r = l1->atge_rx_ring; in atge_l1_program_dma()
414 ATGE_ADDR_LO(l1->atge_l1_rr->cookie.dmac_laddress)); in atge_l1_program_dma()
418 ATGE_ADDR_LO(l1->atge_l1_cmb->cookie.dmac_laddress)); in atge_l1_program_dma()
422 ATGE_ADDR_LO(l1->atge_l1_smb->cookie.dmac_laddress)); in atge_l1_program_dma()
452 atge_l1_data_t *l1; in atge_l1_gather_stats() local
459 l1 = atgep->atge_private_data; in atge_l1_gather_stats()
460 dma = l1->atge_l1_smb; in atge_l1_gather_stats()
628 atge_l1_data_t *l1; in atge_l1_rx() local
638 l1 = atgep->atge_private_data; in atge_l1_rx()
639 ASSERT(l1 != NULL); in atge_l1_rx()
641 DMA_SYNC(l1->atge_l1_rr, 0, L1_RR_RING_SZ, DDI_DMA_SYNC_FORKERNEL); in atge_l1_rx()
643 while (l1->atge_l1_rr_consumers != l1->atge_l1_rx_prod_cons) { in atge_l1_rx()
644 rx_rr = (l1_rx_rdesc_t *)(l1->atge_l1_rr->addr + in atge_l1_rx()
645 (l1->atge_l1_rr_consumers * sizeof (l1_rx_rdesc_t))); in atge_l1_rx()
647 index = ATGE_GET32(l1->atge_l1_rr, &rx_rr->index); in atge_l1_rx()
648 flags = ATGE_GET32(l1->atge_l1_rr, &rx_rr->flags); in atge_l1_rx()
649 totlen = L1_RX_BYTES(ATGE_GET32(l1->atge_l1_rr, &rx_rr->len)); in atge_l1_rx()
666 l1->atge_rx_ring->r_consumer += nsegs; in atge_l1_rx()
667 l1->atge_rx_ring->r_consumer %= L1_RX_RING_CNT; in atge_l1_rx()
709 buf = l1->atge_rx_ring->r_buf_tbl[rx_cons]; in atge_l1_rx()
711 l1->atge_rx_ring->r_desc_ring->addr + in atge_l1_rx()
716 l1->atge_rx_ring->r_desc_ring, &rxd->len)); in atge_l1_rx()
737 l1->atge_rx_ring->r_consumer += nsegs; in atge_l1_rx()
738 l1->atge_rx_ring->r_consumer %= L1_RX_RING_CNT; in atge_l1_rx()
740 l1->atge_rx_ring->r_consumer = rx_cons; in atge_l1_rx()
748 ATGE_INC_SLOT(l1->atge_l1_rr_consumers, L1_RR_RING_CNT); in atge_l1_rx()
753 DMA_SYNC(l1->atge_rx_ring->r_desc_ring, 0, L1_RX_RING_SZ, in atge_l1_rx()
756 DMA_SYNC(l1->atge_l1_rr, 0, L1_RR_RING_SZ, DDI_DMA_SYNC_FORDEV); in atge_l1_rx()
761 atgep->atge_name, __func__, l1->atge_rx_ring->r_consumer, in atge_l1_rx()
762 rx_cons, l1->atge_l1_rr_consumers)); in atge_l1_rx()
813 atge_l1_data_t *l1; in atge_l1_interrupt() local
816 l1 = atgep->atge_private_data; in atge_l1_interrupt()
818 DMA_SYNC(l1->atge_l1_cmb, 0, L1_CMB_BLOCK_SZ, in atge_l1_interrupt()
821 cmb = (l1_cmb_t *)l1->atge_l1_cmb->addr; in atge_l1_interrupt()
822 l1->atge_l1_intr_status = in atge_l1_interrupt()
823 ATGE_GET32(l1->atge_l1_cmb, &cmb->intr_status); in atge_l1_interrupt()
824 l1->atge_l1_rx_prod_cons = in atge_l1_interrupt()
825 (ATGE_GET32(l1->atge_l1_cmb, &cmb->rx_prod_cons) & in atge_l1_interrupt()
827 l1->atge_l1_tx_prod_cons = in atge_l1_interrupt()
828 (ATGE_GET32(l1->atge_l1_cmb, &cmb->tx_prod_cons) & in atge_l1_interrupt()
834 atgep->atge_name, __func__, l1->atge_l1_intr_status, in atge_l1_interrupt()
835 l1->atge_l1_rx_prod_cons, l1->atge_l1_tx_prod_cons, in atge_l1_interrupt()
836 l1->atge_l1_rr_consumers)); in atge_l1_interrupt()
842 DMA_SYNC(l1->atge_l1_cmb, 0, L1_CMB_BLOCK_SZ, in atge_l1_interrupt()
850 if ((l1->atge_l1_intr_status & (INTR_CMB_RX | INTR_MAC_RX)) && in atge_l1_interrupt()
851 (l1->atge_l1_intr_status & in atge_l1_interrupt()
853 (l1->atge_l1_rr_consumers == l1->atge_l1_rx_prod_cons))) { in atge_l1_interrupt()
859 l1->atge_l1_rx_prod_cons, in atge_l1_interrupt()
860 l1->atge_l1_rr_consumers)); in atge_l1_interrupt()
870 if (l1->atge_l1_intr_status & INTR_SMB) in atge_l1_interrupt()
873 if (l1->atge_l1_intr_status & (INTR_CMB_TX | INTR_MAC_TX)) { in atge_l1_interrupt()
875 atge_tx_reclaim(atgep, l1->atge_l1_tx_prod_cons); in atge_l1_interrupt()