1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /****************************************************************************** 3 * 4 * Copyright(c) 2020-2021 Intel Corporation 5 * 6 *****************************************************************************/ 7 8 #ifndef __IWL_PNVM_H__ 9 #define __IWL_PNVM_H__ 10 11 #include "fw/notif-wait.h" 12 13 #define MVM_UCODE_PNVM_TIMEOUT (HZ / 4) 14 15 #define MAX_PNVM_NAME 64 16 17 int iwl_pnvm_load(struct iwl_trans *trans, 18 struct iwl_notif_wait_data *notif_wait); 19 20 static inline iwl_pnvm_get_fs_name(struct iwl_trans * trans,u8 * pnvm_name,size_t max_len)21void iwl_pnvm_get_fs_name(struct iwl_trans *trans, 22 u8 *pnvm_name, size_t max_len) 23 { 24 int pre_len; 25 26 /* 27 * The prefix unfortunately includes a hyphen at the end, so 28 * don't add the dot here... 29 */ 30 snprintf(pnvm_name, max_len, "%spnvm", trans->cfg->fw_name_pre); 31 32 /* ...but replace the hyphen with the dot here. */ 33 pre_len = strlen(trans->cfg->fw_name_pre); 34 if (pre_len < max_len && pre_len > 0) 35 pnvm_name[pre_len - 1] = '.'; 36 } 37 38 #endif /* __IWL_PNVM_H__ */ 39