1 /* 2 * Arm SCP/MCP Software 3 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved. 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 * 7 * Description: 8 * CMN_BOOKER Context structure Interface 9 */ 10 11 #ifndef INTERNAL_CMN_BOOKER_CTX_H 12 #define INTERNAL_CMN_BOOKER_CTX_H 13 14 #include <cmn_booker.h> 15 16 #include <mod_cmn_booker.h> 17 18 #include <stdbool.h> 19 #include <stdint.h> 20 21 static struct cmn_booker_ctx { 22 const struct mod_cmn_booker_config *config; 23 24 struct cmn_booker_cfgm_reg *root; 25 26 /* Number of HN-F (system cache) nodes in the system */ 27 unsigned int hnf_count; 28 uint64_t *hnf_cache_group; 29 uint64_t *sn_nodeid_group; 30 31 /* 32 * External RN-SAMs. The driver keeps a list of tuples (node identifier and 33 * node pointers). The configuration of these nodes is via the SAM API. 34 */ 35 unsigned int external_rnsam_count; 36 struct external_rnsam_tuple *external_rnsam_table; 37 38 /* 39 * Internal RN-SAMs. The driver keeps a list of RN-SAM pointers to 40 * configure them once the system has been fully discovered and all 41 * parameters are known 42 */ 43 unsigned int internal_rnsam_count; 44 struct cmn_booker_rnsam_reg **internal_rnsam_table; 45 46 bool initialized; 47 } *ctx; 48 49 50 #endif /* INTERNAL_CMN600_CTX_H */ 51