Loading...
1/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2/*
3 * Copyright(c) 2020-2023 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
11#define MVM_UCODE_PNVM_TIMEOUT (HZ / 4)
12
13#define MAX_PNVM_NAME 64
14
15int iwl_pnvm_load(struct iwl_trans *trans,
16 struct iwl_notif_wait_data *notif_wait,
17 const struct iwl_ucode_capabilities *capa);
18
19static inline
20void iwl_pnvm_get_fs_name(struct iwl_trans *trans,
21 u8 *pnvm_name, size_t max_len)
22{
23 char _fw_name_pre[FW_NAME_PRE_BUFSIZE];
24
25 snprintf(pnvm_name, max_len, "%s.pnvm",
26 iwl_drv_get_fwname_pre(trans, _fw_name_pre));
27}
28
29#endif /* __IWL_PNVM_H__ */
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
17int iwl_pnvm_load(struct iwl_trans *trans,
18 struct iwl_notif_wait_data *notif_wait);
19
20static inline
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__ */