Lines Matching refs:channel

65 static hxge_status_t hxge_map_rxdma_channel(p_hxge_t hxgep, uint16_t channel,
70 static void hxge_unmap_rxdma_channel(p_hxge_t hxgep, uint16_t channel,
79 uint16_t channel, p_hxge_dma_common_t *dma_buf_p,
83 static hxge_status_t hxge_rxdma_start_channel(p_hxge_t hxgep, uint16_t channel,
86 static hxge_status_t hxge_rxdma_stop_channel(p_hxge_t hxgep, uint16_t channel);
95 uint16_t channel);
103 uint16_t channel);
160 hxge_init_rxdma_channel_cntl_stat(p_hxge_t hxgep, uint16_t channel, in hxge_init_rxdma_channel_cntl_stat() argument
171 rs = hpi_rxdma_control_status(handle, OP_SET, channel, cs_p); in hxge_init_rxdma_channel_cntl_stat()
181 hxge_enable_rxdma_channel(p_hxge_t hxgep, uint16_t channel, in hxge_enable_rxdma_channel() argument
251 rs = hpi_rxdma_cfg_rdc_rcr_threshold(handle, channel, in hxge_enable_rxdma_channel()
257 rs = hpi_rxdma_cfg_rdc_rcr_timeout(handle, channel, in hxge_enable_rxdma_channel()
264 hpi_rxdma_rdc_rbr_kick(handle, channel, n_init_kick); in hxge_enable_rxdma_channel()
267 (void) hpi_rxdma_channel_rbr_empty_clear(handle, channel); in hxge_enable_rxdma_channel()
272 rs = hpi_rxdma_cfg_rdc_enable(handle, channel); in hxge_enable_rxdma_channel()
283 hxge_disable_rxdma_channel(p_hxge_t hxgep, uint16_t channel) in hxge_disable_rxdma_channel() argument
293 rs = hpi_rxdma_cfg_rdc_disable(handle, channel); in hxge_disable_rxdma_channel()
304 hxge_rxdma_channel_rcrflush(p_hxge_t hxgep, uint8_t channel) in hxge_rxdma_channel_rcrflush() argument
313 hpi_rxdma_rdc_rcr_flush(handle, channel); in hxge_rxdma_channel_rcrflush()
764 uint16_t channel; in hxge_rxdma_hw_mode() local
811 channel = rbr_rings[i]->rdc; in hxge_rxdma_hw_mode()
815 channel)); in hxge_rxdma_hw_mode()
816 rs = hpi_rxdma_cfg_rdc_enable(handle, channel); in hxge_rxdma_hw_mode()
820 channel)); in hxge_rxdma_hw_mode()
821 rs = hpi_rxdma_cfg_rdc_disable(handle, channel); in hxge_rxdma_hw_mode()
1084 uint8_t channel; in hxge_rx_intr() local
1112 channel = ldvp->vdma_index; in hxge_rx_intr()
1113 ring = hxgep->rx_rcr_rings->rcr_rings[channel]; in hxge_rx_intr()
1114 rhp = &hxgep->rx_ring_handles[channel]; in hxge_rx_intr()
1128 RXDMA_REG_READ64(handle, RDC_STAT, channel, &cs.value); in hxge_rx_intr()
1131 RXDMA_REG_WRITE64(handle, RDC_STAT, channel, cs.value); in hxge_rx_intr()
1147 (void) hxge_rx_err_evnts(hxgep, channel, ldvp, cs); in hxge_rx_intr()
1157 rbrp = hxgep->rx_rbr_rings->rbr_rings[channel]; in hxge_rx_intr()
1164 RXDMA_REG_WRITE64(handle, RDC_STAT, channel, cs.value); in hxge_rx_intr()
1390 uint8_t channel; in hxge_rx_pkts() local
1408 "channel %d", vindex, ldvp->channel)); in hxge_rx_pkts()
1411 channel = rcrp->rdc; in hxge_rx_pkts()
1412 if (channel != ldvp->channel) { in hxge_rx_pkts()
1415 vindex, ldvp->channel, channel)); in hxge_rx_pkts()
1422 channel, rcrp->rcr_desc_rd_head_p, in hxge_rx_pkts()
1425 (void) hpi_rxdma_rdc_rcr_qlen_get(handle, channel, &qlen); in hxge_rx_pkts()
1426 RXDMA_REG_READ64(handle, RDC_RCR_TAIL, channel, &rcr_tail_reg.value); in hxge_rx_pkts()
1432 channel, qlen)); in hxge_rx_pkts()
1437 "qlen %d", channel, qlen)); in hxge_rx_pkts()
1445 if (hxgep->rdc_first_intr[channel]) in hxge_rx_pkts()
1472 channel, qlen_hw, qlen_sw)); in hxge_rx_pkts()
1492 "but 0x%x pending\n", channel, npkt_read, qlen_hw)); in hxge_rx_pkts()
1525 channel, multi, in hxge_rx_pkts()
1550 channel, multi, nrcr_read, npkt_read, rcr_desc_rd_head_pp, in hxge_rx_pkts()
1573 channel, rcr_cfg_b.value); in hxge_rx_pkts()
1577 if (hxgep->rdc_first_intr[channel] && (npkt_read > 0)) { in hxge_rx_pkts()
1578 hxgep->rdc_first_intr[channel] = B_FALSE; in hxge_rx_pkts()
1583 RXDMA_REG_WRITE64(handle, RDC_STAT, channel, pktcs.value); in hxge_rx_pkts()
1588 channel, rcrp->rcr_desc_rd_head_pp, rcrp->comp_rd_index)); in hxge_rx_pkts()
1631 uint8_t channel; in hxge_receive_packet() local
1660 channel = rcr_p->rdc; in hxge_receive_packet()
1672 channel, (long long) rcr_entry)); in hxge_receive_packet()
1890 " channel %d RCR ctrl_fifo_ded error", channel)); in hxge_receive_packet()
1895 " RCR data_fifo_ded error", channel)); in hxge_receive_packet()
2064 hxge_rx_rbr_empty_recover(p_hxge_t hxgep, uint8_t channel) in hxge_rx_rbr_empty_recover() argument
2070 rcrp = hxgep->rx_rcr_rings->rcr_rings[channel]; in hxge_rx_rbr_empty_recover()
2077 (void) hpi_rxdma_cfg_rdc_wait_for_qst(handle, channel); in hxge_rx_rbr_empty_recover()
2102 uint8_t channel; in hxge_rx_err_evnts() local
2108 channel = ldvp->channel; in hxge_rx_err_evnts()
2114 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2119 "fatal error: rx_rbr_timeout", channel)); in hxge_rx_err_evnts()
2129 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2134 "fatal error: rcr_shadow_par_err", channel)); in hxge_rx_err_evnts()
2139 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2144 "fatal error: rbr_prefetch_par_err", channel)); in hxge_rx_err_evnts()
2149 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2154 "fatal error: rbr_pre_empty", channel)); in hxge_rx_err_evnts()
2159 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2164 "fatal error: peu_resp_err", channel)); in hxge_rx_err_evnts()
2177 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2182 "fatal error: rcr_shadow_full", channel)); in hxge_rx_err_evnts()
2187 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2192 "fatal error: rcrfull error", channel)); in hxge_rx_err_evnts()
2197 hxge_rx_rbr_empty_recover(hxgep, channel); in hxge_rx_err_evnts()
2202 HXGE_FM_REPORT_ERROR(hxgep, channel, in hxge_rx_err_evnts()
2207 "fatal error: rbr_full error", channel)); in hxge_rx_err_evnts()
2214 rcrp = hxgep->rx_rcr_rings->rcr_rings[channel]; in hxge_rx_err_evnts()
2219 channel)); in hxge_rx_err_evnts()
2223 status = hxge_rxdma_fatal_err_recover(hxgep, channel); in hxge_rx_err_evnts()
2238 uint16_t channel; in hxge_map_rxdma() local
2321 channel = ((p_hxge_dma_common_t)dma_buf_p[i])->dma_channel; in hxge_map_rxdma()
2322 status = hxge_map_rxdma_channel(hxgep, channel, in hxge_map_rxdma()
2353 status, channel, i)); in hxge_map_rxdma()
2356 channel = ((p_hxge_dma_common_t)dma_buf_p[i])->dma_channel; in hxge_map_rxdma()
2357 hxge_unmap_rxdma_channel(hxgep, channel, in hxge_map_rxdma()
2370 "<== hxge_map_rxdma: (status 0x%x channel %d)", status, channel)); in hxge_map_rxdma()
2379 uint16_t channel; in hxge_unmap_rxdma() local
2433 channel = ((p_hxge_dma_common_t)dma_buf_p[i])->dma_channel; in hxge_unmap_rxdma()
2436 ndmas, channel)); in hxge_unmap_rxdma()
2437 (void) hxge_unmap_rxdma_channel(hxgep, channel, in hxge_unmap_rxdma()
2454 hxge_map_rxdma_channel(p_hxge_t hxgep, uint16_t channel, in hxge_map_rxdma_channel() argument
2466 "==> hxge_map_rxdma_channel (channel %d)", channel)); in hxge_map_rxdma_channel()
2471 status = hxge_map_rxdma_channel_buf_ring(hxgep, channel, in hxge_map_rxdma_channel()
2476 "map buffer failed 0x%x", channel, status)); in hxge_map_rxdma_channel()
2483 status = hxge_map_rxdma_channel_cfg_ring(hxgep, channel, in hxge_map_rxdma_channel()
2489 "map config failed 0x%x", channel, status)); in hxge_map_rxdma_channel()
2498 status, channel)); in hxge_map_rxdma_channel()
2506 hxgep, status, channel)); in hxge_map_rxdma_channel()
2514 hxgep, status, channel)); in hxge_map_rxdma_channel()
2521 hxge_unmap_rxdma_channel(p_hxge_t hxgep, uint16_t channel, in hxge_unmap_rxdma_channel() argument
2525 "==> hxge_unmap_rxdma_channel (channel %d)", channel)); in hxge_unmap_rxdma_channel()
2838 hxge_map_rxdma_channel_buf_ring(p_hxge_t hxgep, uint16_t channel, in hxge_map_rxdma_channel_buf_ring() argument
2854 "==> hxge_map_rxdma_channel_buf_ring: channel %d", channel)); in hxge_map_rxdma_channel_buf_ring()
2859 "chunks bufp 0x%016llx", channel, num_chunks, dma_bufp)); in hxge_map_rxdma_channel_buf_ring()
2866 channel, tmp_bufp, tmp_bufp->nblocks, nmsgs)); in hxge_map_rxdma_channel_buf_ring()
2872 "no msg blocks", channel)); in hxge_map_rxdma_channel_buf_ring()
2888 rbrp->rdc = channel; in hxge_map_rxdma_channel_buf_ring()
2925 channel, rbrp->rbr_max_size, rbrp->rbb_max, nmsgs, in hxge_map_rxdma_channel_buf_ring()
2948 "dma_bufp $%p dvma_addr $%p", channel, i, in hxge_map_rxdma_channel_buf_ring()
2978 rx_msg_p->buf_dma.dma_channel = channel; in hxge_map_rxdma_channel_buf_ring()
2986 "channel %d msg block entries %d", channel, index)); in hxge_map_rxdma_channel_buf_ring()
2994 "channel %d done buf info init", channel)); in hxge_map_rxdma_channel_buf_ring()
3008 channel, status)); in hxge_map_rxdma_channel_buf_ring()
3138 uint16_t channel; in hxge_rxdma_hw_start() local
3210 channel = rbr_rings[i]->rdc; in hxge_rxdma_hw_start()
3213 ndmas, channel)); in hxge_rxdma_hw_start()
3214 status = hxge_rxdma_start_channel(hxgep, channel, in hxge_rxdma_hw_start()
3231 "(status 0x%x channel %d i %d)", status, channel, i)); in hxge_rxdma_hw_start()
3233 channel = rbr_rings[i]->rdc; in hxge_rxdma_hw_start()
3234 (void) hxge_rxdma_stop_channel(hxgep, channel); in hxge_rxdma_hw_start()
3247 uint16_t channel; in hxge_rxdma_hw_stop() local
3275 channel = rbr_rings[i]->rdc; in hxge_rxdma_hw_stop()
3278 ndmas, channel)); in hxge_rxdma_hw_stop()
3279 (void) hxge_rxdma_stop_channel(hxgep, channel); in hxge_rxdma_hw_stop()
3290 hxge_rxdma_start_channel(p_hxge_t hxgep, uint16_t channel, in hxge_rxdma_start_channel() argument
3309 rs = hpi_rxdma_cfg_rdc_reset(handle, channel); in hxge_rxdma_start_channel()
3314 status, channel)); in hxge_rxdma_start_channel()
3318 "==> hxge_rxdma_start_channel: reset done: channel %d", channel)); in hxge_rxdma_start_channel()
3326 channel, rbr_p, rcr_p, mbox_p); in hxge_rxdma_start_channel()
3331 status, channel)); in hxge_rxdma_start_channel()
3345 rs = hpi_rxdma_event_mask(handle, OP_SET, channel, &ent_mask); in hxge_rxdma_start_channel()
3350 status, channel)); in hxge_rxdma_start_channel()
3355 channel, ent_mask.value)); in hxge_rxdma_start_channel()
3362 channel, rbr_p, rcr_p, mbox_p, n_init_kick); in hxge_rxdma_start_channel()
3367 status, channel)); in hxge_rxdma_start_channel()
3372 "control done - channel %d cs 0x%016llx", channel, cs.value)); in hxge_rxdma_start_channel()
3383 status = hxge_init_rxdma_channel_cntl_stat(hxgep, channel, &cs); in hxge_rxdma_start_channel()
3385 "channel %d rx_dma_cntl_stat 0x%0016llx", channel, cs.value)); in hxge_rxdma_start_channel()
3390 status, channel)); in hxge_rxdma_start_channel()
3395 "control done - channel %d cs 0x%016llx", channel, cs.value)); in hxge_rxdma_start_channel()
3403 hxge_rxdma_stop_channel(p_hxge_t hxgep, uint16_t channel) in hxge_rxdma_stop_channel() argument
3420 rs = hpi_rxdma_cfg_rdc_reset(handle, channel); in hxge_rxdma_stop_channel()
3425 rs, channel)); in hxge_rxdma_stop_channel()
3433 rs = hpi_rxdma_event_mask(handle, OP_SET, channel, &ent_mask); in hxge_rxdma_stop_channel()
3438 rs, channel)); in hxge_rxdma_stop_channel()
3446 status = hxge_init_rxdma_channel_cntl_stat(hxgep, channel, &cs); in hxge_rxdma_stop_channel()
3455 status, channel)); in hxge_rxdma_stop_channel()
3463 status = hxge_disable_rxdma_channel(hxgep, channel); in hxge_rxdma_stop_channel()
3469 status, channel)); in hxge_rxdma_stop_channel()
3544 hxge_rxdma_fatal_err_recover(p_hxge_t hxgep, uint16_t channel) in hxge_rxdma_fatal_err_recover() argument
3570 rbrp = (p_rx_rbr_ring_t)hxgep->rx_rbr_rings->rbr_rings[channel]; in hxge_rxdma_fatal_err_recover()
3571 rcrp = (p_rx_rcr_ring_t)hxgep->rx_rcr_rings->rcr_rings[channel]; in hxge_rxdma_fatal_err_recover()
3578 rs = hpi_rxdma_cfg_rdc_disable(handle, channel); in hxge_rxdma_fatal_err_recover()
3588 rs = hpi_rxdma_event_mask(handle, OP_SET, channel, &ent_mask); in hxge_rxdma_fatal_err_recover()
3591 "Set rxdma event masks failed (channel %d)", channel)); in hxge_rxdma_fatal_err_recover()
3596 rs = hpi_rxdma_cfg_rdc_reset(handle, channel); in hxge_rxdma_fatal_err_recover()
3599 "Reset rxdma failed (channel %d)", channel)); in hxge_rxdma_fatal_err_recover()
3603 mboxp = (p_rx_mbox_t)hxgep->rx_mbox_areas_p->rxmbox_areas[channel]; in hxge_rxdma_fatal_err_recover()
3645 (void) hxge_rxdma_start_channel(hxgep, channel, rbrp, rcrp, mboxp, in hxge_rxdma_fatal_err_recover()
3653 rs = hpi_rxdma_cfg_rdc_enable(handle, channel); in hxge_rxdma_fatal_err_recover()
3656 "hpi_rxdma_cfg_rdc_enable (channel %d)", channel)); in hxge_rxdma_fatal_err_recover()
3678 "Error Recovery failed for channel(%d)", channel)); in hxge_rxdma_fatal_err_recover()
3687 uint16_t channel; in hxge_rx_port_fatal_err_recover() local
3724 channel = ((p_hxge_dma_common_t)dma_buf_p[i])->dma_channel; in hxge_rx_port_fatal_err_recover()
3725 rcrp = hxgep->rx_rcr_rings->rcr_rings[channel]; in hxge_rx_port_fatal_err_recover()
3733 if (hxge_rxdma_fatal_err_recover(hxgep, channel) != HXGE_OK) { in hxge_rx_port_fatal_err_recover()
3735 "Could not recover channel %d", channel)); in hxge_rx_port_fatal_err_recover()