iPXE
mlx_nvconfig_defaults.c File Reference

Go to the source code of this file.

Data Structures

struct  tlv_default

Macros

#define TlvDefaultEntry(_tlv_type, _data_size, _set_defaults)

Functions

 FILE_LICENCE (GPL2_OR_LATER)
static mlx_status nvconfig_get_boot_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_boot_ext_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_iscsi_init_dhcp_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_ib_boot_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_wol_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_iscsi_gen_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_ib_dhcp_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_ocsd_ocbb_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_vpi_link_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_rom_banner_to_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_nv_virt_caps_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_nv_virt_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_rom_cap_default_conf (IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_nvdata_default_access (IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type, IN mlx_size data_size, OUT mlx_void *data)
static mlx_status nvconfig_nvdata_read_default_value (IN mlx_utils *utils, IN mlx_uint8 modifier, IN struct tlv_default *def, OUT void *def_struct)
static void nvconfig_nvdata_read_default_values (IN mlx_utils *utils, IN mlx_uint8 modifier, IN struct tlv_default defaults_table[], IN mlx_uint8 defaults_table_size, OUT void *def_strct)
mlx_status nvconfig_read_port_default_values (IN mlx_utils *utils, IN mlx_uint8 port, OUT struct mlx_nvconfig_port_conf_defaults *port_conf_def)
mlx_status nvconfig_read_general_default_values (IN mlx_utils *utils, OUT struct mlx_nvconfig_conf_defaults *conf_def)
mlx_status nvconfig_read_rom_ini_values (IN mlx_utils *utils, OUT struct mlx_nvcofnig_romini *rom_ini)

Variables

static struct tlv_default tlv_port_defaults []
static struct tlv_default tlv_general_defaults []

Macro Definition Documentation

◆ TlvDefaultEntry

#define TlvDefaultEntry ( _tlv_type,
_data_size,
_set_defaults )
Value:
{ \
.tlv_type = _tlv_type, \
.data_size = sizeof ( _data_size ), \
.set_defaults = _set_defaults, \
}

Definition at line 34 of file mlx_nvconfig_defaults.c.

34#define TlvDefaultEntry( _tlv_type, _data_size, _set_defaults) { \
35 .tlv_type = _tlv_type, \
36 .data_size = sizeof ( _data_size ), \
37 .set_defaults = _set_defaults, \
38 }

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER )

◆ nvconfig_get_boot_default_conf()

mlx_status nvconfig_get_boot_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 42 of file mlx_nvconfig_defaults.c.

47{
48 union mlx_nvconfig_nic_boot_conf *nic_boot_conf =
50 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
51 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
52
53 /* boot_option_rom_en is deprecated - enabled always */
55
56 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
57 "TLV not found. Using hard-coded defaults ");
58 port_conf_def->boot_vlan = nic_boot_conf->vlan_id;
59 port_conf_def->boot_protocol = nic_boot_conf->legacy_boot_prot;
60 port_conf_def->boot_retry_count = nic_boot_conf->boot_retry_count;
61 port_conf_def->boot_vlan_en = nic_boot_conf->en_vlan;
62
63 return MLX_SUCCESS;
64
65nvdata_access_err:
66 port_conf_def->boot_vlan = DEFAULT_BOOT_VLAN;
67 port_conf_def->boot_protocol = DEFAULT_BOOT_PROTOCOL;
68
69 return status;
70}
#define NULL
NULL pointer (VOID *)
Definition Base.h:322
uint8_t data[48]
Additional event data.
Definition ena.h:11
uint8_t status
Status.
Definition ena.h:5
#define MLX_CHECK_STATUS(id, status, label, message)
Definition mlx_bail.h:37
#define DEFAULT_BOOT_VLAN
#define DEFAULT_OPTION_ROM_EN
#define DEFAULT_BOOT_PROTOCOL
#define MLX_SUCCESS

References mlx_nvconfig_port_conf_defaults::boot_option_rom_en, mlx_nvconfig_port_conf_defaults::boot_protocol, mlx_nvconfig_nic_boot_conf::boot_retry_count, mlx_nvconfig_port_conf_defaults::boot_retry_count, mlx_nvconfig_port_conf_defaults::boot_vlan, mlx_nvconfig_port_conf_defaults::boot_vlan_en, data, DEFAULT_BOOT_PROTOCOL, DEFAULT_BOOT_VLAN, DEFAULT_OPTION_ROM_EN, mlx_nvconfig_nic_boot_conf::en_vlan, IN, mlx_nvconfig_nic_boot_conf::legacy_boot_prot, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, status, and mlx_nvconfig_nic_boot_conf::vlan_id.

◆ nvconfig_get_boot_ext_default_conf()

mlx_status nvconfig_get_boot_ext_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 74 of file mlx_nvconfig_defaults.c.

79{
80 union mlx_nvconfig_nic_boot_ext_conf *nic_boot_ext_conf =
82 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
83 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
84
85 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
86 "TLV not found. Using hard-coded defaults ");
87 port_conf_def->linkup_timeout = nic_boot_ext_conf->linkup_timeout;
88 port_conf_def->ip_ver = nic_boot_ext_conf->ip_ver;
89 port_conf_def->undi_network_wait_to = nic_boot_ext_conf->undi_network_wait_to;
90 return MLX_SUCCESS;
91
92nvdata_access_err:
94 port_conf_def->ip_ver = DEFAULT_BOOT_IP_VER;
96 return status;
97}
#define DEFAULT_BOOT_UNDI_NETWORK_WAIT_TO
#define DEFAULT_BOOT_LINK_UP_TO
#define DEFAULT_BOOT_IP_VER

References data, DEFAULT_BOOT_IP_VER, DEFAULT_BOOT_LINK_UP_TO, DEFAULT_BOOT_UNDI_NETWORK_WAIT_TO, IN, mlx_nvconfig_nic_boot_ext_conf::ip_ver, mlx_nvconfig_port_conf_defaults::ip_ver, mlx_nvconfig_nic_boot_ext_conf::linkup_timeout, mlx_nvconfig_port_conf_defaults::linkup_timeout, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, status, mlx_nvconfig_nic_boot_ext_conf::undi_network_wait_to, and mlx_nvconfig_port_conf_defaults::undi_network_wait_to.

◆ nvconfig_get_iscsi_init_dhcp_default_conf()

mlx_status nvconfig_get_iscsi_init_dhcp_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 101 of file mlx_nvconfig_defaults.c.

106{
107 union mlx_nvconfig_iscsi_init_dhcp_conf *iscsi_init_dhcp_conf =
109 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
110 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
111
112 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
113 "TLV not found. Using hard-coded defaults ");
114 port_conf_def->iscsi_dhcp_params_en = iscsi_init_dhcp_conf->dhcp_iscsi_en;
115 port_conf_def->iscsi_ipv4_dhcp_en = iscsi_init_dhcp_conf->ipv4_dhcp_en;
116
117 return MLX_SUCCESS;
118
119nvdata_access_err:
122
123 return status;
124}
#define DEFAULT_ISCSI_IPV4_DHCP_EN
#define DEFAULT_ISCSI_DHCP_PARAM_EN

References data, DEFAULT_ISCSI_DHCP_PARAM_EN, DEFAULT_ISCSI_IPV4_DHCP_EN, mlx_nvconfig_iscsi_init_dhcp_conf::dhcp_iscsi_en, IN, mlx_nvconfig_iscsi_init_dhcp_conf::ipv4_dhcp_en, mlx_nvconfig_port_conf_defaults::iscsi_dhcp_params_en, mlx_nvconfig_port_conf_defaults::iscsi_ipv4_dhcp_en, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, and status.

◆ nvconfig_get_ib_boot_default_conf()

mlx_status nvconfig_get_ib_boot_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 128 of file mlx_nvconfig_defaults.c.

133{
134 union mlx_nvconfig_nic_ib_boot_conf *ib_boot_conf =
136 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
137 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
138
139 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
140 "nvconfig_nvdata_default_access failed ");
141 port_conf_def->boot_pkey = ib_boot_conf->boot_pkey;
142
143nvdata_access_err:
144 return status;
145}

References mlx_nvconfig_nic_ib_boot_conf::boot_pkey, mlx_nvconfig_port_conf_defaults::boot_pkey, data, IN, MLX_CHECK_STATUS, NULL, OUT, and status.

◆ nvconfig_get_wol_default_conf()

mlx_status nvconfig_get_wol_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 149 of file mlx_nvconfig_defaults.c.

154{
155 union mlx_nvconfig_wol_conf *wol_conf = (union mlx_nvconfig_wol_conf *) data;
156 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
157 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
158
159 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
160 "nvconfig_nvdata_default_access failed ");
161 port_conf_def->en_wol_magic = wol_conf->en_wol_magic;
162
163nvdata_access_err:
164 return status;
165}

References data, mlx_nvconfig_port_conf_defaults::en_wol_magic, mlx_nvconfig_wol_conf::en_wol_magic, IN, MLX_CHECK_STATUS, NULL, OUT, and status.

◆ nvconfig_get_iscsi_gen_default_conf()

mlx_status nvconfig_get_iscsi_gen_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 169 of file mlx_nvconfig_defaults.c.

173{
174 union mlx_nvconfig_iscsi_general *iscsi_gen =
176 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
177 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
178
179 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
180 "nvconfig_nvdata_default_access failed ");
181 port_conf_def->iscsi_boot_to_target = iscsi_gen->boot_to_target;
182 port_conf_def->iscsi_vlan_en = iscsi_gen->vlan_en;
183 port_conf_def->iscsi_tcp_timestamps_en = iscsi_gen->tcp_timestamps_en;
184 port_conf_def->iscsi_chap_mutual_auth_en = iscsi_gen->chap_mutual_auth_en;
185 port_conf_def->iscsi_chap_auth_en = iscsi_gen->chap_auth_en;
186 port_conf_def->iscsi_lun_busy_retry_count = iscsi_gen->lun_busy_retry_count;
187 port_conf_def->iscsi_link_up_delay_time = iscsi_gen->link_up_delay_time;
188 port_conf_def->iscsi_drive_num = iscsi_gen->drive_num;
189
190 return MLX_SUCCESS;
191
192nvdata_access_err:
194 return status;
195}
#define DEFAULT_ISCSI_DRIVE_NUM

References mlx_nvconfig_iscsi_general::boot_to_target, mlx_nvconfig_iscsi_general::chap_auth_en, mlx_nvconfig_iscsi_general::chap_mutual_auth_en, data, DEFAULT_ISCSI_DRIVE_NUM, mlx_nvconfig_iscsi_general::drive_num, IN, mlx_nvconfig_port_conf_defaults::iscsi_boot_to_target, mlx_nvconfig_port_conf_defaults::iscsi_chap_auth_en, mlx_nvconfig_port_conf_defaults::iscsi_chap_mutual_auth_en, mlx_nvconfig_port_conf_defaults::iscsi_drive_num, mlx_nvconfig_port_conf_defaults::iscsi_link_up_delay_time, mlx_nvconfig_port_conf_defaults::iscsi_lun_busy_retry_count, mlx_nvconfig_port_conf_defaults::iscsi_tcp_timestamps_en, mlx_nvconfig_port_conf_defaults::iscsi_vlan_en, mlx_nvconfig_iscsi_general::link_up_delay_time, mlx_nvconfig_iscsi_general::lun_busy_retry_count, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, status, mlx_nvconfig_iscsi_general::tcp_timestamps_en, and mlx_nvconfig_iscsi_general::vlan_en.

◆ nvconfig_get_ib_dhcp_default_conf()

mlx_status nvconfig_get_ib_dhcp_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 199 of file mlx_nvconfig_defaults.c.

204{
205 union mlx_nvconfig_ib_dhcp_conf *ib_dhcp =
207 struct mlx_nvconfig_port_conf_defaults *port_conf_def =
208 (struct mlx_nvconfig_port_conf_defaults *) def_struct;
209
210 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
211 "nvconfig_nvdata_default_access failed ");
212 port_conf_def->client_identifier = ib_dhcp->client_identifier;
213 port_conf_def->mac_admin_bit = ib_dhcp->mac_admin_bit;
214
215nvdata_access_err:
216 return status;
217}

References mlx_nvconfig_ib_dhcp_conf::client_identifier, mlx_nvconfig_port_conf_defaults::client_identifier, data, IN, mlx_nvconfig_ib_dhcp_conf::mac_admin_bit, mlx_nvconfig_port_conf_defaults::mac_admin_bit, MLX_CHECK_STATUS, NULL, OUT, and status.

◆ nvconfig_get_ocsd_ocbb_default_conf()

mlx_status nvconfig_get_ocsd_ocbb_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 221 of file mlx_nvconfig_defaults.c.

222 {
223 union mlx_nvconfig_ocsd_ocbb_conf *ocsd_ocbb =
225 struct mlx_nvconfig_conf_defaults *conf_def =
226 (struct mlx_nvconfig_conf_defaults *) def_struct;
227
228 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
229 "TLV not found. Using hard-coded defaults ");
230 conf_def->ocsd_ocbb_en = ocsd_ocbb->ocsd_ocbb_en;
231
232 return MLX_SUCCESS;
233
234nvdata_access_err:
236
237 return status;
238}
#define DEFAULT_OCSD_OCBB_EN

References data, DEFAULT_OCSD_OCBB_EN, IN, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, mlx_nvconfig_conf_defaults::ocsd_ocbb_en, mlx_nvconfig_ocsd_ocbb_conf::ocsd_ocbb_en, OUT, and status.

◆ nvconfig_get_vpi_link_default_conf()

mlx_status nvconfig_get_vpi_link_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

◆ nvconfig_get_rom_banner_to_default_conf()

mlx_status nvconfig_get_rom_banner_to_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 264 of file mlx_nvconfig_defaults.c.

269{
270 union mlx_nvconfig_rom_banner_timeout_conf *rom_banner_timeout_conf =
272 struct mlx_nvconfig_conf_defaults *conf_def =
273 (struct mlx_nvconfig_conf_defaults *) def_struct;
274
275 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
276 "TLV not found. Using hard-coded defaults ");
277 conf_def->flexboot_menu_to = rom_banner_timeout_conf->rom_banner_to;
278
279 return MLX_SUCCESS;
280
281nvdata_access_err:
283
284 return status;
285}
#define DEFAULT_FLEXBOOT_MENU_TO

References data, DEFAULT_FLEXBOOT_MENU_TO, mlx_nvconfig_conf_defaults::flexboot_menu_to, IN, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, mlx_nvconfig_rom_banner_timeout_conf::rom_banner_to, and status.

◆ nvconfig_get_nv_virt_caps_default_conf()

mlx_status nvconfig_get_nv_virt_caps_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 289 of file mlx_nvconfig_defaults.c.

294{
295 union mlx_nvconfig_virt_caps *nv_virt_caps =
297 struct mlx_nvconfig_conf_defaults *conf_def =
298 (struct mlx_nvconfig_conf_defaults *) def_struct;
299
300 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
301 "TLV not found. Using hard-coded defaults ");
302 conf_def->max_vfs = nv_virt_caps->max_vfs_per_pf;
303
304 return MLX_SUCCESS;
305
306nvdata_access_err:
307 conf_def->max_vfs = DEFAULT_MAX_VFS;
308
309 return status;
310}
#define DEFAULT_MAX_VFS

References data, DEFAULT_MAX_VFS, IN, mlx_nvconfig_conf_defaults::max_vfs, mlx_nvconfig_virt_caps::max_vfs_per_pf, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, and status.

◆ nvconfig_get_nv_virt_default_conf()

mlx_status nvconfig_get_nv_virt_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 314 of file mlx_nvconfig_defaults.c.

319{
320 union mlx_nvconfig_virt_conf *nv_virt_conf =
322 struct mlx_nvconfig_conf_defaults *conf_def =
323 (struct mlx_nvconfig_conf_defaults *) def_struct;
324
325 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
326 "nvconfig_nvdata_default_access failed ");
327 conf_def->total_vfs = nv_virt_conf->num_of_vfs;
328 conf_def->sriov_en = nv_virt_conf->virt_mode;
329
330nvdata_access_err:
331 return status;
332}

References data, IN, MLX_CHECK_STATUS, NULL, mlx_nvconfig_virt_conf::num_of_vfs, OUT, mlx_nvconfig_conf_defaults::sriov_en, status, mlx_nvconfig_conf_defaults::total_vfs, and mlx_nvconfig_virt_conf::virt_mode.

◆ nvconfig_get_rom_cap_default_conf()

mlx_status nvconfig_get_rom_cap_default_conf ( IN void * data,
IN int status,
OUT void * def_struct )
static

Definition at line 336 of file mlx_nvconfig_defaults.c.

337 {
338 union mlx_nvconfig_rom_cap_conf *rom_cap_conf =
340 struct mlx_nvconfig_conf_defaults *conf_def =
341 (struct mlx_nvconfig_conf_defaults *) def_struct;
342
343 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
344 "TLV not found. Using hard-coded defaults ");
345 conf_def->boot_ip_ver_en = rom_cap_conf->boot_ip_ver_en;
346
347 return MLX_SUCCESS;
348
349nvdata_access_err:
351
352 return status;
353}
#define DEFAULT_BOOT_IP_VERSION_EN

References mlx_nvconfig_conf_defaults::boot_ip_ver_en, mlx_nvconfig_rom_cap_conf::boot_ip_ver_en, data, DEFAULT_BOOT_IP_VERSION_EN, IN, MLX_CHECK_STATUS, MLX_SUCCESS, NULL, OUT, and status.

◆ nvconfig_nvdata_default_access()

mlx_status nvconfig_nvdata_default_access ( IN mlx_utils * utils,
IN mlx_uint8 port,
IN mlx_uint16 tlv_type,
IN mlx_size data_size,
OUT mlx_void * data )
static

Definition at line 376 of file mlx_nvconfig_defaults.c.

383{
386 mlx_uint8 version = 0;
387
389 data_size, TLV_ACCESS_DEFAULT_EN, 0,
390 &version, data);
391 MLX_CHECK_STATUS(NULL, status, nvdata_access_err,
392 "nvconfig_nvdata_access failed ");
393 for (index = 0; index * 4 < data_size; index++) {
395 ((mlx_uint32 *) data) + index);
396 }
397
398nvdata_access_err:
399 return status;
400}
u8 port
Port number.
Definition CIB_PRM.h:3
long index
Definition bigint.h:65
u32 version
Driver version.
Definition ath9k_hw.c:1985
mlx_status mlx_memory_be32_to_cpu(IN mlx_utils *utils, IN mlx_uint32 source, IN mlx_uint32 *destination)
Definition mlx_memory.c:224
mlx_status nvconfig_nvdata_access(IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type, IN REG_ACCESS_OPT opt, IN mlx_size data_size, IN NV_DEFAULT_OPT def_en, IN NVDA_WRITER_ID writer_id, IN OUT mlx_uint8 *version, IN OUT mlx_void *data)
@ TLV_ACCESS_DEFAULT_EN
@ REG_ACCESS_READ
uint32_t mlx_uint32
int mlx_status
uint8_t mlx_uint8

References data, tlv_default::data_size, IN, index, MLX_CHECK_STATUS, mlx_memory_be32_to_cpu(), MLX_SUCCESS, NULL, nvconfig_nvdata_access(), OUT, port, REG_ACCESS_READ, status, TLV_ACCESS_DEFAULT_EN, tlv_default::tlv_type, and version.

Referenced by nvconfig_nvdata_read_default_value().

◆ nvconfig_nvdata_read_default_value()

mlx_status nvconfig_nvdata_read_default_value ( IN mlx_utils * utils,
IN mlx_uint8 modifier,
IN struct tlv_default * def,
OUT void * def_struct )
static

Definition at line 404 of file mlx_nvconfig_defaults.c.

410{
412 void *data = NULL;
413
414 status = mlx_memory_zalloc(utils, def->data_size,&data);
415 MLX_CHECK_STATUS(utils, status, memory_err,
416 "mlx_memory_zalloc failed ");
417 status = nvconfig_nvdata_default_access(utils, modifier, def->tlv_type,
418 def->data_size, data);
419 def->set_defaults(data, status, def_struct);
420 mlx_memory_free(utils, &data);
421
422memory_err:
423 return status;
424}
mlx_status mlx_memory_zalloc(IN mlx_utils *utils, IN mlx_size size, OUT mlx_void **ptr)
Definition mlx_memory.c:45
mlx_status mlx_memory_free(IN mlx_utils *utils, IN mlx_void **ptr)
Definition mlx_memory.c:63
static mlx_status nvconfig_nvdata_default_access(IN mlx_utils *utils, IN mlx_uint8 port, IN mlx_uint16 tlv_type, IN mlx_size data_size, OUT mlx_void *data)

References data, IN, MLX_CHECK_STATUS, mlx_memory_free(), mlx_memory_zalloc(), MLX_SUCCESS, NULL, nvconfig_nvdata_default_access(), OUT, and status.

Referenced by nvconfig_nvdata_read_default_values().

◆ nvconfig_nvdata_read_default_values()

void nvconfig_nvdata_read_default_values ( IN mlx_utils * utils,
IN mlx_uint8 modifier,
IN struct tlv_default defaults_table[],
IN mlx_uint8 defaults_table_size,
OUT void * def_strct )
static

Definition at line 428 of file mlx_nvconfig_defaults.c.

435{
436 struct tlv_default *defs;
437 unsigned int i;
438
439 for (i = 0; i < defaults_table_size; i++) {
440 defs = &defaults_table[i];
441 nvconfig_nvdata_read_default_value(utils, modifier, defs, def_strct);
442 }
443}
static mlx_status nvconfig_nvdata_read_default_value(IN mlx_utils *utils, IN mlx_uint8 modifier, IN struct tlv_default *def, OUT void *def_struct)

References IN, nvconfig_nvdata_read_default_value(), and OUT.

Referenced by nvconfig_read_general_default_values(), and nvconfig_read_port_default_values().

◆ nvconfig_read_port_default_values()

mlx_status nvconfig_read_port_default_values ( IN mlx_utils * utils,
IN mlx_uint8 port,
OUT struct mlx_nvconfig_port_conf_defaults * port_conf_def )

Definition at line 446 of file mlx_nvconfig_defaults.c.

451{
453
454 if (utils == NULL || port_conf_def == NULL) {
456 MLX_DEBUG_ERROR(utils,"bad params.");
457 goto bad_param;
458 }
459 mlx_memory_set(utils, port_conf_def, 0, sizeof(*port_conf_def));
461 (sizeof(tlv_port_defaults)/sizeof(tlv_port_defaults[0])),
462 port_conf_def);
463
464bad_param:
465 return status;
466}
#define MLX_DEBUG_ERROR(...)
Definition mlx_logging.h:29
mlx_status mlx_memory_set(IN mlx_utils *utils, IN mlx_void *block, IN mlx_int32 value, IN mlx_size size)
Definition mlx_memory.c:171
static struct tlv_default tlv_port_defaults[]
static void nvconfig_nvdata_read_default_values(IN mlx_utils *utils, IN mlx_uint8 modifier, IN struct tlv_default defaults_table[], IN mlx_uint8 defaults_table_size, OUT void *def_strct)
#define MLX_INVALID_PARAMETER

References IN, MLX_DEBUG_ERROR, MLX_INVALID_PARAMETER, mlx_memory_set(), MLX_SUCCESS, NULL, nvconfig_nvdata_read_default_values(), OUT, port, status, and tlv_port_defaults.

◆ nvconfig_read_general_default_values()

mlx_status nvconfig_read_general_default_values ( IN mlx_utils * utils,
OUT struct mlx_nvconfig_conf_defaults * conf_def )

Definition at line 469 of file mlx_nvconfig_defaults.c.

473{
475
476 if (utils == NULL || conf_def == NULL) {
478 MLX_DEBUG_ERROR(utils,"bad params.");
479 goto bad_param;
480 }
481 mlx_memory_set(utils, conf_def, 0, sizeof(*conf_def));
483 (sizeof(tlv_general_defaults)/sizeof(tlv_general_defaults[0])),
484 conf_def);
485
486bad_param:
487 return status;
488}
static struct tlv_default tlv_general_defaults[]

References IN, MLX_DEBUG_ERROR, MLX_INVALID_PARAMETER, mlx_memory_set(), MLX_SUCCESS, NULL, nvconfig_nvdata_read_default_values(), OUT, status, and tlv_general_defaults.

◆ nvconfig_read_rom_ini_values()

mlx_status nvconfig_read_rom_ini_values ( IN mlx_utils * utils,
OUT struct mlx_nvcofnig_romini * rom_ini )

Definition at line 491 of file mlx_nvconfig_defaults.c.

495{
497 mlx_uint8 version = 0;
499
500 if (utils == NULL || rom_ini == NULL) {
502 MLX_DEBUG_ERROR(utils,"bad params.");
503 goto bad_param;
504 }
505 mlx_memory_set(utils, rom_ini, 0, sizeof(*rom_ini));
506
508 sizeof(*rom_ini), TLV_ACCESS_DEFAULT_DIS, 0,
509 &version, rom_ini);
510 MLX_CHECK_STATUS(NULL, status, bad_param,
511 "nvconfig_nvdata_access failed ");
512 for (index = 0; index * 4 < sizeof(*rom_ini); index++) {
513 mlx_memory_be32_to_cpu(utils, (((mlx_uint32 *) rom_ini)[index]),
514 ((mlx_uint32 *) rom_ini) + index);
515 }
516
517bad_param:
518 return status;
519}
@ TLV_ACCESS_DEFAULT_DIS
@ GLOBAL_ROM_INI_TYPE

References GLOBAL_ROM_INI_TYPE, IN, index, MLX_CHECK_STATUS, MLX_DEBUG_ERROR, MLX_INVALID_PARAMETER, mlx_memory_be32_to_cpu(), mlx_memory_set(), MLX_SUCCESS, NULL, nvconfig_nvdata_access(), OUT, REG_ACCESS_READ, status, TLV_ACCESS_DEFAULT_DIS, and version.

Variable Documentation

◆ tlv_port_defaults

struct tlv_default tlv_port_defaults[]
static
Initial value:
= {
}
static mlx_status nvconfig_get_vpi_link_default_conf(IN void *data, IN int status, OUT void *def_struct)
#define TlvDefaultEntry(_tlv_type, _data_size, _set_defaults)
static mlx_status nvconfig_get_ib_boot_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_iscsi_gen_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_boot_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_wol_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_boot_ext_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_iscsi_init_dhcp_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_ib_dhcp_default_conf(IN void *data, IN int status, OUT void *def_struct)
@ ISCSI_INITIATOR_DHCP_CONF_TYPE
@ BOOT_SETTINGS_EXT_TYPE
@ IB_DHCP_SETTINGS_TYPE
@ ISCSI_GENERAL_SETTINGS_TYPE
@ VPI_LINK_TYPE
@ IB_BOOT_SETTING_TYPE
@ WAKE_ON_LAN_TYPE
@ BOOT_SETTINGS_TYPE

Definition at line 355 of file mlx_nvconfig_defaults.c.

Referenced by nvconfig_read_port_default_values().

◆ tlv_general_defaults

struct tlv_default tlv_general_defaults[]
static
Initial value:
= {
}
static mlx_status nvconfig_get_rom_cap_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_ocsd_ocbb_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_rom_banner_to_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_nv_virt_caps_default_conf(IN void *data, IN int status, OUT void *def_struct)
static mlx_status nvconfig_get_nv_virt_default_conf(IN void *data, IN int status, OUT void *def_struct)
@ OCSD_OCBB_TYPE
@ BANNER_TO_TYPE
@ GLOPAL_PCI_CAPS_TYPE
@ NV_ROM_CAP_TYPE
@ GLOPAL_PCI_SETTINGS_TYPE

Definition at line 366 of file mlx_nvconfig_defaults.c.

Referenced by nvconfig_read_general_default_values().