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