xref: /dpdk/drivers/common/sfc_efx/base/rhead_intr.c (revision 672386c1e9e1f64f7aa3b1360ad22dc737ea8d72)
190ff7b9bSAndrew Rybchenko /* SPDX-License-Identifier: BSD-3-Clause
290ff7b9bSAndrew Rybchenko  *
3*672386c1SAndrew Rybchenko  * Copyright(c) 2019-2021 Xilinx, Inc.
490ff7b9bSAndrew Rybchenko  * Copyright(c) 2018-2019 Solarflare Communications Inc.
590ff7b9bSAndrew Rybchenko  */
690ff7b9bSAndrew Rybchenko 
790ff7b9bSAndrew Rybchenko #include "efx.h"
890ff7b9bSAndrew Rybchenko #include "efx_impl.h"
990ff7b9bSAndrew Rybchenko 
1090ff7b9bSAndrew Rybchenko 
1190ff7b9bSAndrew Rybchenko #if EFSYS_OPT_RIVERHEAD
1290ff7b9bSAndrew Rybchenko 
1390ff7b9bSAndrew Rybchenko 	__checkReturn	efx_rc_t
rhead_intr_init(__in efx_nic_t * enp,__in efx_intr_type_t type,__in efsys_mem_t * esmp)1490ff7b9bSAndrew Rybchenko rhead_intr_init(
1590ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp,
1690ff7b9bSAndrew Rybchenko 	__in		efx_intr_type_t type,
1790ff7b9bSAndrew Rybchenko 	__in		efsys_mem_t *esmp)
1890ff7b9bSAndrew Rybchenko {
1990ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp, type, esmp))
2090ff7b9bSAndrew Rybchenko 
2190ff7b9bSAndrew Rybchenko 	return (0);
2290ff7b9bSAndrew Rybchenko }
2390ff7b9bSAndrew Rybchenko 
2490ff7b9bSAndrew Rybchenko 
2590ff7b9bSAndrew Rybchenko 			void
rhead_intr_enable(__in efx_nic_t * enp)2690ff7b9bSAndrew Rybchenko rhead_intr_enable(
2790ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp)
2890ff7b9bSAndrew Rybchenko {
2990ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp))
3090ff7b9bSAndrew Rybchenko }
3190ff7b9bSAndrew Rybchenko 
3290ff7b9bSAndrew Rybchenko 
3390ff7b9bSAndrew Rybchenko 			void
rhead_intr_disable(__in efx_nic_t * enp)3490ff7b9bSAndrew Rybchenko rhead_intr_disable(
3590ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp)
3690ff7b9bSAndrew Rybchenko {
3790ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp))
3890ff7b9bSAndrew Rybchenko }
3990ff7b9bSAndrew Rybchenko 
4090ff7b9bSAndrew Rybchenko 
4190ff7b9bSAndrew Rybchenko 			void
rhead_intr_disable_unlocked(__in efx_nic_t * enp)4290ff7b9bSAndrew Rybchenko rhead_intr_disable_unlocked(
4390ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp)
4490ff7b9bSAndrew Rybchenko {
4590ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp))
4690ff7b9bSAndrew Rybchenko }
4790ff7b9bSAndrew Rybchenko 
4890ff7b9bSAndrew Rybchenko 	__checkReturn	efx_rc_t
rhead_intr_trigger(__in efx_nic_t * enp,__in unsigned int level)4990ff7b9bSAndrew Rybchenko rhead_intr_trigger(
5090ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp,
5190ff7b9bSAndrew Rybchenko 	__in		unsigned int level)
5290ff7b9bSAndrew Rybchenko {
5390ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp, level))
5490ff7b9bSAndrew Rybchenko 
5590ff7b9bSAndrew Rybchenko 	return (ENOTSUP);
5690ff7b9bSAndrew Rybchenko }
5790ff7b9bSAndrew Rybchenko 
5890ff7b9bSAndrew Rybchenko 			void
rhead_intr_status_line(__in efx_nic_t * enp,__out boolean_t * fatalp,__out uint32_t * qmaskp)5990ff7b9bSAndrew Rybchenko rhead_intr_status_line(
6090ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp,
6190ff7b9bSAndrew Rybchenko 	__out		boolean_t *fatalp,
6290ff7b9bSAndrew Rybchenko 	__out		uint32_t *qmaskp)
6390ff7b9bSAndrew Rybchenko {
6490ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp, qmaskp))
6590ff7b9bSAndrew Rybchenko 
6690ff7b9bSAndrew Rybchenko 	/*
6790ff7b9bSAndrew Rybchenko 	 * Riverhead does not support line interrupts,
6890ff7b9bSAndrew Rybchenko 	 * so this function should never be called.
6990ff7b9bSAndrew Rybchenko 	 */
7090ff7b9bSAndrew Rybchenko 
7190ff7b9bSAndrew Rybchenko 	/* Fatal errors are reported via events */
7290ff7b9bSAndrew Rybchenko 	*fatalp = B_FALSE;
7390ff7b9bSAndrew Rybchenko }
7490ff7b9bSAndrew Rybchenko 
7590ff7b9bSAndrew Rybchenko 			void
rhead_intr_status_message(__in efx_nic_t * enp,__in unsigned int message,__out boolean_t * fatalp)7690ff7b9bSAndrew Rybchenko rhead_intr_status_message(
7790ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp,
7890ff7b9bSAndrew Rybchenko 	__in		unsigned int message,
7990ff7b9bSAndrew Rybchenko 	__out		boolean_t *fatalp)
8090ff7b9bSAndrew Rybchenko {
8190ff7b9bSAndrew Rybchenko 	EFSYS_ASSERT(enp->en_family == EFX_FAMILY_RIVERHEAD);
8290ff7b9bSAndrew Rybchenko 
8390ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp, message))
8490ff7b9bSAndrew Rybchenko 
8590ff7b9bSAndrew Rybchenko 	/* Fatal errors are reported via events */
8690ff7b9bSAndrew Rybchenko 	*fatalp = B_FALSE;
8790ff7b9bSAndrew Rybchenko }
8890ff7b9bSAndrew Rybchenko 
8990ff7b9bSAndrew Rybchenko 			void
rhead_intr_fatal(__in efx_nic_t * enp)9090ff7b9bSAndrew Rybchenko rhead_intr_fatal(
9190ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp)
9290ff7b9bSAndrew Rybchenko {
9390ff7b9bSAndrew Rybchenko 	/* Fatal errors are reported via events */
9490ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp))
9590ff7b9bSAndrew Rybchenko }
9690ff7b9bSAndrew Rybchenko 
9790ff7b9bSAndrew Rybchenko 			void
rhead_intr_fini(__in efx_nic_t * enp)9890ff7b9bSAndrew Rybchenko rhead_intr_fini(
9990ff7b9bSAndrew Rybchenko 	__in		efx_nic_t *enp)
10090ff7b9bSAndrew Rybchenko {
10190ff7b9bSAndrew Rybchenko 	_NOTE(ARGUNUSED(enp))
10290ff7b9bSAndrew Rybchenko }
10390ff7b9bSAndrew Rybchenko 
10490ff7b9bSAndrew Rybchenko #endif	/* EFSYS_OPT_RIVERHEAD */
105