Lines Matching refs:channel

91     p_tx_ring_t ring_p, uint16_t channel);
150 int channel) in nxge_init_txdma_channel() argument
156 status = nxge_map_txdma(nxge, channel); in nxge_init_txdma_channel()
160 (void) npi_txdma_dump_tdc_regs(nxge->npi_handle, channel); in nxge_init_txdma_channel()
164 status = nxge_txdma_hw_start(nxge, channel); in nxge_init_txdma_channel()
166 (void) nxge_unmap_txdma_channel(nxge, channel); in nxge_init_txdma_channel()
167 (void) npi_txdma_dump_tdc_regs(nxge->npi_handle, channel); in nxge_init_txdma_channel()
171 if (!nxge->statsp->tdc_ksp[channel]) in nxge_init_txdma_channel()
172 nxge_setup_tdc_kstats(nxge, channel); in nxge_init_txdma_channel()
203 nxge_uninit_txdma_channel(p_nxge_t nxgep, int channel) in nxge_uninit_txdma_channel() argument
207 if (nxgep->statsp->tdc_ksp[channel]) { in nxge_uninit_txdma_channel()
208 kstat_delete(nxgep->statsp->tdc_ksp[channel]); in nxge_uninit_txdma_channel()
209 nxgep->statsp->tdc_ksp[channel] = 0; in nxge_uninit_txdma_channel()
212 if (nxge_txdma_stop_channel(nxgep, channel) != NXGE_OK) in nxge_uninit_txdma_channel()
215 nxge_unmap_txdma_channel(nxgep, channel); in nxge_uninit_txdma_channel()
263 nxge_reset_txdma_channel(p_nxge_t nxgep, uint16_t channel, uint64_t reg_data) in nxge_reset_txdma_channel() argument
273 rs = npi_txdma_channel_reset(handle, channel); in nxge_reset_txdma_channel()
276 channel); in nxge_reset_txdma_channel()
288 TXDMA_REG_WRITE64(handle, TX_RING_KICK_REG, channel, 0); in nxge_reset_txdma_channel()
316 nxge_init_txdma_channel_event_mask(p_nxge_t nxgep, uint16_t channel, in nxge_init_txdma_channel_event_mask() argument
327 rs = npi_txdma_event_mask(handle, OP_SET, channel, mask_p); in nxge_init_txdma_channel_event_mask()
356 nxge_init_txdma_channel_cntl_stat(p_nxge_t nxgep, uint16_t channel, in nxge_init_txdma_channel_cntl_stat() argument
367 rs = npi_txdma_control_status(handle, OP_SET, channel, in nxge_init_txdma_channel_cntl_stat()
406 uint16_t channel, p_tx_ring_t tx_desc_p, p_tx_mbox_t mbox_p) in nxge_enable_txdma_channel() argument
419 rs = npi_txdma_ring_config(handle, OP_SET, channel, in nxge_enable_txdma_channel()
428 if (nxge_hio_intr_add(nxgep, VP_BOUND_TX, channel) != NXGE_OK) in nxge_enable_txdma_channel()
433 rs = npi_txdma_mbox_config(handle, OP_SET, channel, in nxge_enable_txdma_channel()
441 rs = npi_txdma_channel_init_enable(handle, channel); in nxge_enable_txdma_channel()
1131 uint8_t channel; in nxge_tx_intr() local
1168 channel = ldvp->channel; in nxge_tx_intr()
1173 nxgep, ldvp, channel)); in nxge_tx_intr()
1175 rs = npi_txdma_control_status(handle, OP_GET, channel, &cs); in nxge_tx_intr()
1179 channel, vindex, rs)); in nxge_tx_intr()
1184 channel, vindex, rs)); in nxge_tx_intr()
1190 channel, vindex, rs)); in nxge_tx_intr()
1250 int channel) in nxge_txdma_channel_disable() argument
1263 rs = npi_txdma_channel_disable(handle, channel); in nxge_txdma_channel_disable()
1266 "rs 0x%x", channel, rs)); in nxge_txdma_channel_disable()
1274 "(inject err)", rs, channel)); in nxge_txdma_channel_disable()
1276 handle, channel, &intr_dbg); in nxge_txdma_channel_disable()
1277 rs = npi_txdma_channel_disable(handle, channel); in nxge_txdma_channel_disable()
1282 rs, channel)); in nxge_txdma_channel_disable()
1369 nxge_txdma_enable_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_enable_channel() argument
1374 "==> nxge_txdma_enable_channel: channel %d", channel)); in nxge_txdma_enable_channel()
1378 (void) npi_txdma_channel_enable(handle, channel); in nxge_txdma_enable_channel()
1384 nxge_txdma_disable_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_disable_channel() argument
1389 "==> nxge_txdma_disable_channel: channel %d", channel)); in nxge_txdma_disable_channel()
1393 (void) npi_txdma_channel_disable(handle, channel); in nxge_txdma_disable_channel()
1424 nxge_txdma_stop_inj_err(p_nxge_t nxgep, int channel) in nxge_txdma_stop_inj_err() argument
1438 rs = npi_txdma_channel_disable(handle, channel); in nxge_txdma_stop_inj_err()
1443 "stopped OK", channel)); in nxge_txdma_stop_inj_err()
1449 "injecting error", channel, rs)); in nxge_txdma_stop_inj_err()
1453 (void) npi_txdma_inj_int_error_set(handle, channel, &intr_dbg); in nxge_txdma_stop_inj_err()
1456 rs = npi_txdma_channel_disable(handle, channel); in nxge_txdma_stop_inj_err()
1461 "stopped OK ", channel)); in nxge_txdma_stop_inj_err()
1470 " (injected error but still not stopped)", channel, rs)); in nxge_txdma_stop_inj_err()
1508 nxge_txdma_fix_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_fix_channel() argument
1513 ring_p = nxge_txdma_get_ring(nxgep, channel); in nxge_txdma_fix_channel()
1519 if (ring_p->tdc != channel) { in nxge_txdma_fix_channel()
1523 ring_p->tdc, channel)); in nxge_txdma_fix_channel()
1527 nxge_txdma_fixup_channel(nxgep, ring_p, channel); in nxge_txdma_fix_channel()
1534 nxge_txdma_fixup_channel(p_nxge_t nxgep, p_tx_ring_t ring_p, uint16_t channel) in nxge_txdma_fixup_channel() argument
1544 if (ring_p->tdc != channel) { in nxge_txdma_fixup_channel()
1548 ring_p->tdc, channel)); in nxge_txdma_fixup_channel()
1595 nxge_txdma_kick_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_kick_channel() argument
1601 ring_p = nxge_txdma_get_ring(nxgep, channel); in nxge_txdma_kick_channel()
1608 if (ring_p->tdc != channel) { in nxge_txdma_kick_channel()
1612 ring_p->tdc, channel)); in nxge_txdma_kick_channel()
1616 nxge_txdma_hw_kick_channel(nxgep, ring_p, channel); in nxge_txdma_kick_channel()
1623 nxge_txdma_hw_kick_channel(p_nxge_t nxgep, p_tx_ring_t ring_p, uint16_t channel) in nxge_txdma_hw_kick_channel() argument
1774 nxge_txdma_channel_hung(p_nxge_t nxgep, p_tx_ring_t tx_ring_p, uint16_t channel) in nxge_txdma_channel_hung() argument
1786 "==> nxge_txdma_channel_hung: channel %d", channel)); in nxge_txdma_channel_hung()
1798 channel, tx_rd_index, tail_index, tail_wrap)); in nxge_txdma_channel_hung()
1803 (void) npi_txdma_ring_head_get(handle, channel, &tx_head); in nxge_txdma_channel_hung()
1916 nxge_txdma_fix_hung_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_fix_hung_channel() argument
1921 ring_p = nxge_txdma_get_ring(nxgep, channel); in nxge_txdma_fix_hung_channel()
1928 if (ring_p->tdc != channel) { in nxge_txdma_fix_hung_channel()
1932 ring_p->tdc, channel)); in nxge_txdma_fix_hung_channel()
1936 nxge_txdma_fixup_channel(nxgep, ring_p, channel); in nxge_txdma_fix_hung_channel()
1944 uint16_t channel) in nxge_txdma_fixup_hung_channel() argument
1958 if (ring_p->tdc != channel) { in nxge_txdma_fixup_hung_channel()
1963 ring_p->tdc, channel)); in nxge_txdma_fixup_hung_channel()
1978 status = npi_txdma_channel_disable(handle, channel); in nxge_txdma_fixup_hung_channel()
1983 ring_p->tdc, channel)); in nxge_txdma_fixup_hung_channel()
1990 (void) npi_txdma_inj_int_error_set(handle, channel, &intr_dbg); in nxge_txdma_fixup_hung_channel()
1993 status = npi_txdma_channel_disable(handle, channel); in nxge_txdma_fixup_hung_channel()
1998 ring_p->tdc, channel)); in nxge_txdma_fixup_hung_channel()
2005 ring_p->tdc, channel)); in nxge_txdma_fixup_hung_channel()
2092 nxge_txdma_regs_dump(p_nxge_t nxgep, int channel) in nxge_txdma_regs_dump() argument
2105 nxgep->function_num, channel); in nxge_txdma_regs_dump()
2108 (void) npi_txdma_log_page_get(handle, channel, &cfg); in nxge_txdma_regs_dump()
2112 (void) npi_txdma_log_page_get(handle, channel, &cfg); in nxge_txdma_regs_dump()
2116 (void) npi_txdma_ring_head_get(handle, channel, &hdl); in nxge_txdma_regs_dump()
2117 (void) npi_txdma_desc_kick_reg_get(handle, channel, &kick); in nxge_txdma_regs_dump()
2125 (void) npi_txdma_control_status(handle, OP_GET, channel, &cs); in nxge_txdma_regs_dump()
2131 (void) npi_txc_dma_max_burst(handle, OP_GET, channel, &burst); in nxge_txdma_regs_dump()
2132 (void) npi_txc_dma_bytes_transmitted(handle, channel, &bytes); in nxge_txdma_regs_dump()
2168 nxge_t *nxgep, int channel) in nxge_tdc_hvio_setup() argument
2174 ring = nxgep->tx_rings->rings[channel]; in nxge_tdc_hvio_setup()
2175 data = nxgep->tx_buf_pool_p->dma_buf_pool_p[channel]; in nxge_tdc_hvio_setup()
2192 control = nxgep->tx_cntl_pool_p->dma_buf_pool_p[channel]; in nxge_tdc_hvio_setup()
2210 nxge_map_txdma(p_nxge_t nxgep, int channel) in nxge_map_txdma() argument
2230 if (nxge_alloc_txb(nxgep, channel) != NXGE_OK) in nxge_map_txdma()
2233 num_chunks = nxgep->tx_buf_pool_p->num_chunks[channel]; in nxge_map_txdma()
2234 pData = &nxgep->tx_buf_pool_p->dma_buf_pool_p[channel]; in nxge_map_txdma()
2235 pControl = &nxgep->tx_cntl_pool_p->dma_buf_pool_p[channel]; in nxge_map_txdma()
2236 pRing = &nxgep->tx_rings->rings[channel]; in nxge_map_txdma()
2237 mailbox = &nxgep->tx_mbox_areas_p->txmbox_areas_p[channel]; in nxge_map_txdma()
2251 status = nxge_map_txdma_channel(nxgep, channel, in nxge_map_txdma()
2257 nxgep, channel, status)); in nxge_map_txdma()
2263 ring->index = (uint16_t)channel; in nxge_map_txdma()
2264 ring->tdc_stats = &nxgep->statsp->tdc_stats[channel]; in nxge_map_txdma()
2268 (void) nxge_tdc_lp_conf(nxgep, channel); in nxge_map_txdma()
2270 nxge_tdc_hvio_setup(nxgep, channel); in nxge_map_txdma()
2275 "(status 0x%x channel %d)", status, channel)); in nxge_map_txdma()
2281 nxge_map_txdma_channel(p_nxge_t nxgep, uint16_t channel, in nxge_map_txdma_channel() argument
2295 "==> nxge_map_txdma_channel (channel %d)", channel)); in nxge_map_txdma_channel()
2299 status = nxge_map_txdma_channel_buf_ring(nxgep, channel, in nxge_map_txdma_channel()
2304 "map buffer failed 0x%x", channel, status)); in nxge_map_txdma_channel()
2311 nxge_map_txdma_channel_cfg_ring(nxgep, channel, dma_cntl_p, *tx_desc_p, in nxge_map_txdma_channel()
2320 status, channel)); in nxge_map_txdma_channel()
2327 status, channel)); in nxge_map_txdma_channel()
2334 nxge_unmap_txdma_channel(p_nxge_t nxgep, uint16_t channel) in nxge_unmap_txdma_channel() argument
2340 "==> nxge_unmap_txdma_channel (channel %d)", channel)); in nxge_unmap_txdma_channel()
2344 ring = nxgep->tx_rings->rings[channel]; in nxge_unmap_txdma_channel()
2345 mailbox = nxgep->tx_mbox_areas_p->txmbox_areas_p[channel]; in nxge_unmap_txdma_channel()
2352 nxge_free_txb(nxgep, channel); in nxge_unmap_txdma_channel()
2357 nxgep->tx_rings->rings[channel] = NULL; in nxge_unmap_txdma_channel()
2525 nxge_map_txdma_channel_buf_ring(p_nxge_t nxgep, uint16_t channel, in nxge_map_txdma_channel_buf_ring() argument
2548 channel, num_chunks, dma_bufp)); in nxge_map_txdma_channel_buf_ring()
2556 channel, tmp_bufp, tmp_bufp->nblocks, nmsgs)); in nxge_map_txdma_channel_buf_ring()
2562 channel)); in nxge_map_txdma_channel_buf_ring()
2577 nxgep->instance, channel); in nxge_map_txdma_channel_buf_ring()
2605 tx_ring_p->tdc = channel; in nxge_map_txdma_channel_buf_ring()
2623 channel, tx_ring_p->tx_ring_size, nmsgs, in nxge_map_txdma_channel_buf_ring()
2759 nxge_txdma_hw_start(p_nxge_t nxgep, int channel) in nxge_txdma_hw_start() argument
2788 status = nxge_txdma_start_channel(nxgep, channel, in nxge_txdma_hw_start()
2789 (p_tx_ring_t)tx_desc_rings[channel], in nxge_txdma_hw_start()
2790 (p_tx_mbox_t)tx_mbox_p[channel]); in nxge_txdma_hw_start()
2807 "(status 0x%x channel %d)", status, channel)); in nxge_txdma_hw_start()
2841 nxge_txdma_start_channel(p_nxge_t nxgep, uint16_t channel, in nxge_txdma_start_channel() argument
2847 "==> nxge_txdma_start_channel (channel %d)", channel)); in nxge_txdma_start_channel()
2851 (void) nxge_txdma_stop_inj_err(nxgep, channel); in nxge_txdma_start_channel()
2858 status = nxge_reset_txdma_channel(nxgep, channel, in nxge_txdma_start_channel()
2863 " reset channel failed 0x%x", channel, status)); in nxge_txdma_start_channel()
2873 status = nxge_init_fzc_txdma_channel(nxgep, channel, in nxge_txdma_start_channel()
2885 channel, &tx_ring_p->tx_evmask); in nxge_txdma_start_channel()
2895 status = nxge_enable_txdma_channel(nxgep, channel, in nxge_txdma_start_channel()
2935 nxge_txdma_stop_channel(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_stop_channel() argument
2941 "==> nxge_txdma_stop_channel: channel %d", channel)); in nxge_txdma_stop_channel()
2948 (void) nxge_txdma_stop_inj_err(nxgep, channel); in nxge_txdma_stop_channel()
2955 tx_ring_p = nxgep->tx_rings->rings[channel]; in nxge_txdma_stop_channel()
2966 status = nxge_reset_txdma_channel(nxgep, channel, in nxge_txdma_stop_channel()
2976 channel, &tx_ring_p->tx_evmask); in nxge_txdma_stop_channel()
2983 status = nxge_init_txdma_channel_cntl_stat(nxgep, channel, in nxge_txdma_stop_channel()
2989 tx_mbox_p = nxgep->tx_mbox_areas_p->txmbox_areas_p[channel]; in nxge_txdma_stop_channel()
2992 status = nxge_disable_txdma_channel(nxgep, channel, in nxge_txdma_stop_channel()
3027 nxge_txdma_get_ring(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_get_ring() argument
3044 if (channel == ring->tdc) { in nxge_txdma_get_ring()
3080 nxge_txdma_get_mbox(p_nxge_t nxgep, uint16_t channel) in nxge_txdma_get_mbox() argument
3104 if (channel == ring->tdc) { in nxge_txdma_get_mbox()
3158 uint8_t channel; in nxge_tx_err_evnts() local
3169 channel = ldvp->channel; in nxge_tx_err_evnts()
3177 if ((rs = npi_txdma_ring_error_get(handle, channel, in nxge_tx_err_evnts()
3184 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3188 "fatal error: mailbox", channel)); in nxge_tx_err_evnts()
3193 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3197 "fatal error: pkt_size_err", channel)); in nxge_tx_err_evnts()
3202 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3206 "fatal error: tx_ring_oflow", channel)); in nxge_tx_err_evnts()
3211 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3215 "fatal error: pre_buf_par_err", channel)); in nxge_tx_err_evnts()
3219 par_err.bits.ldw.inject_parity_error &= ~(1 << channel); in nxge_tx_err_evnts()
3225 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3229 "fatal error: nack_pref", channel)); in nxge_tx_err_evnts()
3234 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3238 "fatal error: nack_pkt_rd", channel)); in nxge_tx_err_evnts()
3243 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3247 "fatal error: config_partition_err", channel)); in nxge_tx_err_evnts()
3252 NXGE_FM_REPORT_ERROR(nxgep, nxgep->mac.portnum, channel, in nxge_tx_err_evnts()
3256 "fatal error: pkt_prt_err", channel)); in nxge_tx_err_evnts()
3261 TXDMA_REG_WRITE64(nxgep->npi_handle, TDMC_INTR_DBG_REG, channel, 0); in nxge_tx_err_evnts()
3267 channel, cs.value)); in nxge_tx_err_evnts()
3268 status = nxge_txdma_fatal_err_recover(nxgep, channel, in nxge_tx_err_evnts()
3283 uint16_t channel, in nxge_txdma_fatal_err_recover() argument
3293 "Recovering from TxDMAChannel#%d error...", channel)); in nxge_txdma_fatal_err_recover()
3304 rs = npi_txdma_channel_control(handle, TXDMA_STOP, channel); in nxge_txdma_fatal_err_recover()
3308 "stop failed ", channel)); in nxge_txdma_fatal_err_recover()
3319 if ((rs = npi_txdma_channel_control(handle, TXDMA_RESET, channel)) != in nxge_txdma_fatal_err_recover()
3323 " reset channel failed 0x%x", channel, rs)); in nxge_txdma_fatal_err_recover()
3332 TXDMA_REG_WRITE64(handle, TX_RING_KICK_REG, channel, 0); in nxge_txdma_fatal_err_recover()
3338 tx_mbox_p = nxge_txdma_get_mbox(nxgep, channel); in nxge_txdma_fatal_err_recover()
3347 status = nxge_init_fzc_txdma_channel(nxgep, channel, in nxge_txdma_fatal_err_recover()
3357 status = nxge_init_txdma_channel_event_mask(nxgep, channel, in nxge_txdma_fatal_err_recover()
3372 status = nxge_enable_txdma_channel(nxgep, channel, in nxge_txdma_fatal_err_recover()
3380 channel)); in nxge_txdma_fatal_err_recover()
3390 "failed to recover this txdma channel", channel)); in nxge_txdma_fatal_err_recover()