xref: /onnv-gate/usr/src/uts/common/sys/nxge/nxge_fzc.h (revision 9047:a54fa242f4f8)
13859Sml29623 /*
23859Sml29623  * CDDL HEADER START
33859Sml29623  *
43859Sml29623  * The contents of this file are subject to the terms of the
53859Sml29623  * Common Development and Distribution License (the "License").
63859Sml29623  * You may not use this file except in compliance with the License.
73859Sml29623  *
83859Sml29623  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
93859Sml29623  * or http://www.opensolaris.org/os/licensing.
103859Sml29623  * See the License for the specific language governing permissions
113859Sml29623  * and limitations under the License.
123859Sml29623  *
133859Sml29623  * When distributing Covered Code, include this CDDL HEADER in each
143859Sml29623  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
153859Sml29623  * If applicable, add the following below this CDDL HEADER, with the
163859Sml29623  * fields enclosed by brackets "[]" replaced with your own identifying
173859Sml29623  * information: Portions Copyright [yyyy] [name of copyright owner]
183859Sml29623  *
193859Sml29623  * CDDL HEADER END
203859Sml29623  */
21*9047SMichael.Speer@Sun.COM 
223859Sml29623 /*
23*9047SMichael.Speer@Sun.COM  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
243859Sml29623  * Use is subject to license terms.
253859Sml29623  */
263859Sml29623 
273859Sml29623 #ifndef	_SYS_NXGE_NXGE_FZC_H
283859Sml29623 #define	_SYS_NXGE_NXGE_FZC_H
293859Sml29623 
303859Sml29623 #ifdef	__cplusplus
313859Sml29623 extern "C" {
323859Sml29623 #endif
333859Sml29623 
343859Sml29623 #include <npi_vir.h>
353859Sml29623 
363859Sml29623 nxge_status_t nxge_fzc_intr_init(p_nxge_t);
373859Sml29623 nxge_status_t nxge_fzc_intr_ldg_num_set(p_nxge_t);
383859Sml29623 nxge_status_t nxge_fzc_intr_tmres_set(p_nxge_t);
393859Sml29623 nxge_status_t nxge_fzc_intr_sid_set(p_nxge_t);
403859Sml29623 
413859Sml29623 nxge_status_t nxge_fzc_dmc_rx_log_page_vld(p_nxge_t, uint16_t,
423859Sml29623 	uint32_t, boolean_t);
433859Sml29623 nxge_status_t nxge_fzc_dmc_rx_log_page_mask(p_nxge_t, uint16_t,
443859Sml29623 	uint32_t, uint32_t, uint32_t);
453859Sml29623 
463859Sml29623 void nxge_init_fzc_txdma_channels(p_nxge_t);
473859Sml29623 
486495Sspeer nxge_status_t nxge_init_fzc_tdc(p_nxge_t, uint16_t);
493859Sml29623 nxge_status_t nxge_init_fzc_txdma_channel(p_nxge_t, uint16_t,
503859Sml29623 	p_tx_ring_t, p_tx_mbox_t);
513859Sml29623 nxge_status_t nxge_init_fzc_txdma_port(p_nxge_t);
523859Sml29623 
536495Sspeer nxge_status_t nxge_init_fzc_rxdma_channel(p_nxge_t, uint16_t);
543859Sml29623 
556495Sspeer nxge_status_t nxge_init_fzc_rdc(p_nxge_t, uint16_t);
563859Sml29623 nxge_status_t nxge_init_fzc_rx_common(p_nxge_t);
573859Sml29623 nxge_status_t nxge_init_fzc_rxdma_port(p_nxge_t);
583859Sml29623 
59*9047SMichael.Speer@Sun.COM nxge_status_t nxge_init_fzc_rdc_tbl(nxge_t *, nxge_rdc_grp_t *, int);
606495Sspeer 
616495Sspeer int nxge_fzc_rdc_tbl_bind(nxge_t *, int, int);
626495Sspeer int nxge_fzc_rdc_tbl_unbind(p_nxge_t, int);
636495Sspeer 
643859Sml29623 nxge_status_t nxge_init_fzc_rxdma_channel_pages(p_nxge_t,
653859Sml29623 	uint16_t, p_rx_rbr_ring_t);
663859Sml29623 
673859Sml29623 nxge_status_t nxge_init_fzc_rxdma_channel_red(p_nxge_t,
683859Sml29623 	uint16_t, p_rx_rcr_ring_t);
693859Sml29623 
703859Sml29623 nxge_status_t nxge_init_fzc_rxdma_channel_clrlog(p_nxge_t,
713859Sml29623 	uint16_t, p_rx_rbr_ring_t);
723859Sml29623 
733859Sml29623 nxge_status_t nxge_init_fzc_txdma_channel_pages(p_nxge_t,
743859Sml29623 	uint16_t, p_tx_ring_t);
753859Sml29623 
763859Sml29623 nxge_status_t nxge_init_fzc_txdma_channel_drr(p_nxge_t, uint16_t,
773859Sml29623 	p_tx_ring_t);
783859Sml29623 
793859Sml29623 nxge_status_t nxge_init_fzc_txdma_port(p_nxge_t);
803859Sml29623 
813859Sml29623 void nxge_init_fzc_ldg_num(p_nxge_t);
823859Sml29623 void nxge_init_fzc_sys_int_data(p_nxge_t);
833859Sml29623 void nxge_init_fzc_ldg_int_timer(p_nxge_t);
843859Sml29623 nxge_status_t nxge_fzc_sys_err_mask_set(p_nxge_t, uint64_t);
853859Sml29623 
863859Sml29623 #if	defined(sun4v) && defined(NIU_LP_WORKAROUND)
873859Sml29623 nxge_status_t nxge_init_hv_fzc_rxdma_channel_pages(p_nxge_t,
883859Sml29623 	uint16_t, p_rx_rbr_ring_t);
893859Sml29623 nxge_status_t nxge_init_hv_fzc_txdma_channel_pages(p_nxge_t,
903859Sml29623 	uint16_t, p_tx_ring_t);
913859Sml29623 #endif
923859Sml29623 
933859Sml29623 #ifdef	__cplusplus
943859Sml29623 }
953859Sml29623 #endif
963859Sml29623 
973859Sml29623 #endif	/* _SYS_NXGE_NXGE_FZC_H */
98