Lines Matching refs:firmware

446 int qe_upload_firmware(const struct qe_firmware *firmware)  in qe_upload_firmware()  argument
455 if (!firmware) { in qe_upload_firmware()
460 hdr = &firmware->header; in qe_upload_firmware()
477 if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { in qe_upload_firmware()
483 calc_size = struct_size(firmware, microcode, firmware->count); in qe_upload_firmware()
485 for (i = 0; i < firmware->count; i++) in qe_upload_firmware()
492 be32_to_cpu(firmware->microcode[i].count); in qe_upload_firmware()
501 crc = be32_to_cpu(*(__be32 *)((void *)firmware + calc_size)); in qe_upload_firmware()
502 if (crc != crc32(0, firmware, calc_size)) { in qe_upload_firmware()
510 if (!firmware->split) in qe_upload_firmware()
513 if (firmware->soc.model) in qe_upload_firmware()
516 firmware->id, be16_to_cpu(firmware->soc.model), in qe_upload_firmware()
517 firmware->soc.major, firmware->soc.minor); in qe_upload_firmware()
520 firmware->id); in qe_upload_firmware()
527 strlcpy(qe_firmware_info.id, firmware->id, sizeof(qe_firmware_info.id)); in qe_upload_firmware()
528 qe_firmware_info.extended_modes = be64_to_cpu(firmware->extended_modes); in qe_upload_firmware()
529 memcpy(qe_firmware_info.vtraps, firmware->vtraps, in qe_upload_firmware()
530 sizeof(firmware->vtraps)); in qe_upload_firmware()
533 for (i = 0; i < firmware->count; i++) { in qe_upload_firmware()
534 const struct qe_microcode *ucode = &firmware->microcode[i]; in qe_upload_firmware()
538 qe_upload_microcode(firmware, ucode); in qe_upload_firmware()