162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright(c) 2018 - 2020 Intel Corporation. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef _HFI1_MSIX_H 762306a36Sopenharmony_ci#define _HFI1_MSIX_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "hfi.h" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci/* MSIx interface */ 1262306a36Sopenharmony_ciint msix_initialize(struct hfi1_devdata *dd); 1362306a36Sopenharmony_ciint msix_request_irqs(struct hfi1_devdata *dd); 1462306a36Sopenharmony_civoid msix_clean_up_interrupts(struct hfi1_devdata *dd); 1562306a36Sopenharmony_ciint msix_request_general_irq(struct hfi1_devdata *dd); 1662306a36Sopenharmony_ciint msix_request_rcd_irq(struct hfi1_ctxtdata *rcd); 1762306a36Sopenharmony_ciint msix_request_sdma_irq(struct sdma_engine *sde); 1862306a36Sopenharmony_civoid msix_free_irq(struct hfi1_devdata *dd, u8 msix_intr); 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci/* Netdev interface */ 2162306a36Sopenharmony_civoid msix_netdev_synchronize_irq(struct hfi1_devdata *dd); 2262306a36Sopenharmony_ciint msix_netdev_request_rcd_irq(struct hfi1_ctxtdata *rcd); 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#endif 25