xref: /openbmc/linux/drivers/net/wireless/ath/ath11k/pci.h (revision 5697a564)
15762613eSGovind Singh /* SPDX-License-Identifier: BSD-3-Clause-Clear */
25762613eSGovind Singh /*
35762613eSGovind Singh  * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
45762613eSGovind Singh  */
55762613eSGovind Singh 
65762613eSGovind Singh #include "core.h"
75762613eSGovind Singh 
85697a564SGovind Singh struct ath11k_msi_user {
95697a564SGovind Singh 	char *name;
105697a564SGovind Singh 	int num_vectors;
115697a564SGovind Singh 	u32 base_vector;
125697a564SGovind Singh };
135697a564SGovind Singh 
145697a564SGovind Singh struct ath11k_msi_config {
155697a564SGovind Singh 	int total_vectors;
165697a564SGovind Singh 	int total_users;
175697a564SGovind Singh 	struct ath11k_msi_user *users;
185697a564SGovind Singh };
195697a564SGovind Singh 
205762613eSGovind Singh struct ath11k_pci {
215762613eSGovind Singh 	struct pci_dev *pdev;
225762613eSGovind Singh 	struct ath11k_base *ab;
235762613eSGovind Singh 	u16 dev_id;
245697a564SGovind Singh 	u32 msi_ep_base_data;
255762613eSGovind Singh };
265762613eSGovind Singh 
275762613eSGovind Singh static inline struct ath11k_pci *ath11k_pci_priv(struct ath11k_base *ab)
285762613eSGovind Singh {
295762613eSGovind Singh 	return (struct ath11k_pci *)ab->drv_priv;
305762613eSGovind Singh }
31