xref: /dpdk/drivers/common/cnxk/roc_ml_priv.h (revision dfcf94749ac9a899eb091bb99ac78d57ed7b215b)
1*dfcf9474SSrikanth Yalavarthi /* SPDX-License-Identifier: BSD-3-Clause
2*dfcf9474SSrikanth Yalavarthi  * Copyright (c) 2022 Marvell.
3*dfcf9474SSrikanth Yalavarthi  */
4*dfcf9474SSrikanth Yalavarthi 
5*dfcf9474SSrikanth Yalavarthi #ifndef _ROC_ML_PRIV_H_
6*dfcf9474SSrikanth Yalavarthi #define _ROC_ML_PRIV_H_
7*dfcf9474SSrikanth Yalavarthi 
8*dfcf9474SSrikanth Yalavarthi #include "roc_api.h"
9*dfcf9474SSrikanth Yalavarthi 
10*dfcf9474SSrikanth Yalavarthi struct ml {
11*dfcf9474SSrikanth Yalavarthi 	struct plt_pci_device *pci_dev;
12*dfcf9474SSrikanth Yalavarthi 	struct dev dev;
13*dfcf9474SSrikanth Yalavarthi 	uint8_t *ml_reg_addr;
14*dfcf9474SSrikanth Yalavarthi 	uint64_t ml_mlr_base;
15*dfcf9474SSrikanth Yalavarthi 	bool ml_mlr_base_saved;
16*dfcf9474SSrikanth Yalavarthi } __plt_cache_aligned;
17*dfcf9474SSrikanth Yalavarthi 
18*dfcf9474SSrikanth Yalavarthi static inline struct ml *
roc_ml_to_ml_priv(struct roc_ml * roc_ml)19*dfcf9474SSrikanth Yalavarthi roc_ml_to_ml_priv(struct roc_ml *roc_ml)
20*dfcf9474SSrikanth Yalavarthi {
21*dfcf9474SSrikanth Yalavarthi 	return (struct ml *)&roc_ml->reserved[0];
22*dfcf9474SSrikanth Yalavarthi }
23*dfcf9474SSrikanth Yalavarthi 
24*dfcf9474SSrikanth Yalavarthi #endif /* _ROC_ML_PRIV_H_ */
25