1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /*
3 * Copyright(c) 2020-2023, 2025 Intel Corporation
4 */
5 #ifndef __IWL_PNVM_H__
6 #define __IWL_PNVM_H__
7
8 #include "iwl-drv.h"
9 #include "fw/notif-wait.h"
10 #include "fw/img.h"
11
12 #define MVM_UCODE_PNVM_TIMEOUT (HZ / 4)
13
14 #define MAX_PNVM_NAME 64
15
16 int iwl_pnvm_load(struct iwl_trans *trans,
17 struct iwl_notif_wait_data *notif_wait,
18 const struct iwl_fw *fw, __le32 sku_id[3]);
19
20 static inline
iwl_pnvm_get_fs_name(struct iwl_trans * trans,u8 * pnvm_name,size_t max_len)21 void iwl_pnvm_get_fs_name(struct iwl_trans *trans,
22 u8 *pnvm_name, size_t max_len)
23 {
24 char _fw_name_pre[FW_NAME_PRE_BUFSIZE];
25
26 snprintf(pnvm_name, max_len, "%s.pnvm",
27 iwl_drv_get_fwname_pre(trans, _fw_name_pre));
28 }
29
30 #endif /* __IWL_PNVM_H__ */
31