fw_hdr
struct fw_hdr fw_hdr; /* XXX: waste of space, need a sparse struct */
struct fw_hdr *card_fw, const int t4_fw_install,
offsetof(struct fw_hdr, fw_ver), 1,
offsetof(struct fw_hdr, fw_ver), 1,
offsetof(struct fw_hdr, tp_microcode_ver),
static int fw_compatible(const struct fw_hdr *hdr1, const struct fw_hdr *hdr2)
struct fw_hdr *card_fw, const int t4_fw_install,
const struct fw_hdr *fs_fw;
const struct fw_hdr *drv_fw;
drv_fw = &fw_info->fw_hdr;
const struct fw_hdr *hdr)
const struct fw_hdr *hdr = (const struct fw_hdr *)fw_data;
((struct fw_hdr *)first_page)->fw_ver = cpu_to_be32(0xffffffff);
fw_start + offsetof(struct fw_hdr, fw_ver),
const struct fw_hdr *fw_hdr = (const struct fw_hdr *)fw_data;
be32_to_cpu(fw_hdr->magic) == FW_HDR_MAGIC_BOOTSTRAP;
if (!t4_fw_matches_chip(adap, fw_hdr))
reset = ((be32_to_cpu(fw_hdr->flags) & FW_HDR_FLAGS_RESET_HALT) == 0);
hdr = (struct fw_hdr *)fw_data;
fw_info->fw_hdr.fw_ver = hdr->fw_ver;
fw_info->fw_hdr.chip = hdr->chip;
fw_info->fw_hdr.intfver_nic = hdr->intfver_nic;
fw_info->fw_hdr.intfver_vnic = hdr->intfver_vnic;
fw_info->fw_hdr.intfver_ofld = hdr->intfver_ofld;
fw_info->fw_hdr.intfver_ri = hdr->intfver_ri;
fw_info->fw_hdr.intfver_iscsipdu = hdr->intfver_iscsipdu;
fw_info->fw_hdr.intfver_iscsi = hdr->intfver_iscsi;
fw_info->fw_hdr.intfver_fcoepdu = hdr->intfver_fcoepdu;
fw_info->fw_hdr.intfver_fcoe = hdr->intfver_fcoe;
struct fw_hdr *card_fw, *hdr;
if (fw_size < sizeof (struct fw_hdr)) {