Lines Matching refs:dcfg

311 	siena_mc_dynamic_config_hdr_t *dcfg = NULL;
332 EFSYS_KMEM_ALLOC(enp->en_esip, size, dcfg);
333 if (dcfg == NULL) {
339 (caddr_t)dcfg, SIENA_NVRAM_CHUNK)) != 0)
343 if (EFX_DWORD_FIELD(dcfg->magic, EFX_DWORD_0)
350 hdr_length = EFX_WORD_FIELD(dcfg->length, EFX_WORD_0);
351 nversions = EFX_DWORD_FIELD(dcfg->num_fw_version_items, EFX_DWORD_0);
352 vpd_offset = EFX_DWORD_FIELD(dcfg->dynamic_vpd_offset, EFX_DWORD_0);
353 vpd_length = EFX_DWORD_FIELD(dcfg->dynamic_vpd_length, EFX_DWORD_0);
366 * Read the remaining portion of the dcfg, either including
368 * so we have to parse each tag), or just the dcfg header itself
373 (caddr_t)dcfg + SIENA_NVRAM_CHUNK,
381 cksum += ((uint8_t *)dcfg)[pos];
397 * Construct a new "null" dcfg, with an empty version vector,
401 EFX_POPULATE_DWORD_1(dcfg->magic,
403 EFX_POPULATE_WORD_1(dcfg->length, EFX_WORD_0, sizeof (*dcfg));
404 EFX_POPULATE_BYTE_1(dcfg->version, EFX_BYTE_0,
406 EFX_POPULATE_DWORD_1(dcfg->dynamic_vpd_offset,
407 EFX_DWORD_0, sizeof (*dcfg));
408 EFX_POPULATE_DWORD_1(dcfg->dynamic_vpd_length, EFX_DWORD_0, 0);
409 EFX_POPULATE_DWORD_1(dcfg->num_fw_version_items, EFX_DWORD_0, 0);
412 *dcfgp = dcfg;
422 EFSYS_KMEM_FREE(enp->en_esip, size, dcfg);
492 siena_mc_dynamic_config_hdr_t *dcfg;
508 * Find the highest version reported by all dcfg structures on ports
535 B_FALSE, &dcfg, &length)) != 0)
538 nitems = EFX_DWORD_FIELD(dcfg->num_fw_version_items,
543 verp = &dcfg->fw_version[partn];
552 EFSYS_KMEM_FREE(enp->en_esip, length, dcfg);
614 siena_mc_dynamic_config_hdr_t *dcfg = NULL;
640 B_TRUE, &dcfg, &length)) != 0)
643 hdr_length = EFX_WORD_FIELD(dcfg->length, EFX_WORD_0);
644 nitems = EFX_DWORD_FIELD(dcfg->num_fw_version_items, EFX_DWORD_0);
645 vpd_length = EFX_DWORD_FIELD(dcfg->dynamic_vpd_length, EFX_DWORD_0);
646 vpd_offset = EFX_DWORD_FIELD(dcfg->dynamic_vpd_offset, EFX_DWORD_0);
659 (void) memmove((caddr_t)dcfg + required_hdr_length,
660 (caddr_t)dcfg + vpd_offset, vpd_length);
662 EFX_POPULATE_DWORD_1(dcfg->dynamic_vpd_offset,
667 (void) memset((caddr_t)dcfg + hdr_length, 0,
670 EFX_POPULATE_WORD_1(dcfg->length,
679 fwverp = &dcfg->fw_version[partn];
689 EFX_POPULATE_DWORD_1(dcfg->num_fw_version_items,
696 cksum += ((uint8_t *)dcfg)[pos];
697 dcfg->csum.eb_u8[0] -= cksum;
705 (caddr_t)dcfg, vpd_offset + vpd_length)) != 0)
708 EFSYS_KMEM_FREE(enp->en_esip, length, dcfg);
723 EFSYS_KMEM_FREE(enp->en_esip, length, dcfg);