Lines Matching full:firmware

329 /* Firmware information stored here for qe_get_firmware_info() */
333 * Set to 1 if QE firmware has been uploaded, and therefore
376 * 'calc_size' is the calculated size, in bytes, of the firmware structure and
381 int qe_upload_firmware(const struct qe_firmware *firmware) in qe_upload_firmware() argument
396 if (!firmware) { in qe_upload_firmware()
401 hdr = &firmware->header; in qe_upload_firmware()
421 if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { in qe_upload_firmware()
427 calc_size += (firmware->count - 1) * sizeof(struct qe_microcode); in qe_upload_firmware()
429 for (i = 0; i < firmware->count; i++) in qe_upload_firmware()
436 be32_to_cpu(firmware->microcode[i].count); in qe_upload_firmware()
448 crc = be32_to_cpu(*(u32 *)((void *)firmware + calc_size)); in qe_upload_firmware()
449 if (crc != (crc32(-1, (const void *) firmware, calc_size) ^ -1)) { in qe_upload_firmware()
450 printf("Firmware CRC is invalid\n"); in qe_upload_firmware()
457 if (!firmware->split) { in qe_upload_firmware()
462 if (firmware->soc.model) in qe_upload_firmware()
463 printf("Firmware '%s' for %u V%u.%u\n", in qe_upload_firmware()
464 firmware->id, be16_to_cpu(firmware->soc.model), in qe_upload_firmware()
465 firmware->soc.major, firmware->soc.minor); in qe_upload_firmware()
467 printf("Firmware '%s'\n", firmware->id); in qe_upload_firmware()
474 strncpy(qe_firmware_info.id, (char *)firmware->id, 62); in qe_upload_firmware()
475 qe_firmware_info.extended_modes = firmware->extended_modes; in qe_upload_firmware()
476 memcpy(qe_firmware_info.vtraps, firmware->vtraps, in qe_upload_firmware()
477 sizeof(firmware->vtraps)); in qe_upload_firmware()
481 for (i = 0; i < firmware->count; i++) { in qe_upload_firmware()
482 const struct qe_microcode *ucode = &firmware->microcode[i]; in qe_upload_firmware()
486 qe_upload_microcode(firmware, ucode); in qe_upload_firmware()
515 * 'calc_size' is the calculated size, in bytes, of the firmware structure and
520 int u_qe_upload_firmware(const struct qe_firmware *firmware) in u_qe_upload_firmware() argument
535 if (!firmware) { in u_qe_upload_firmware()
540 hdr = &firmware->header; in u_qe_upload_firmware()
560 if ((firmware->count < 1) || (firmware->count > MAX_QE_RISC)) { in u_qe_upload_firmware()
566 calc_size += (firmware->count - 1) * sizeof(struct qe_microcode); in u_qe_upload_firmware()
568 for (i = 0; i < firmware->count; i++) in u_qe_upload_firmware()
575 be32_to_cpu(firmware->microcode[i].count); in u_qe_upload_firmware()
587 crc = be32_to_cpu(*(u32 *)((void *)firmware + calc_size)); in u_qe_upload_firmware()
588 if (crc != (crc32(-1, (const void *)firmware, calc_size) ^ -1)) { in u_qe_upload_firmware()
589 printf("Firmware CRC is invalid\n"); in u_qe_upload_firmware()
596 if (!firmware->split) { in u_qe_upload_firmware()
601 if (firmware->soc.model) in u_qe_upload_firmware()
602 printf("Firmware '%s' for %u V%u.%u\n", in u_qe_upload_firmware()
603 firmware->id, be16_to_cpu(firmware->soc.model), in u_qe_upload_firmware()
604 firmware->soc.major, firmware->soc.minor); in u_qe_upload_firmware()
606 printf("Firmware '%s'\n", firmware->id); in u_qe_upload_firmware()
609 for (i = 0; i < firmware->count; i++) { in u_qe_upload_firmware()
610 const struct qe_microcode *ucode = &firmware->microcode[i]; in u_qe_upload_firmware()
614 qe_upload_microcode(firmware, ucode); in u_qe_upload_firmware()
633 int u_qe_firmware_resume(const struct qe_firmware *firmware, qe_map_t *qe_immrr) in u_qe_firmware_resume() argument
647 if (!firmware) in u_qe_firmware_resume()
650 hdr = &firmware->header; in u_qe_firmware_resume()
664 if (!firmware->split) { in u_qe_firmware_resume()
670 for (i = 0; i < firmware->count; i++) { in u_qe_firmware_resume()
671 const struct qe_microcode *ucode = &firmware->microcode[i]; in u_qe_firmware_resume()
677 code = (const void *)firmware + be32_to_cpu(ucode->code_offset); in u_qe_firmware_resume()
729 struct qe_firmware *firmware = (void *) addr; in qe_cmd() local
731 if (length != be32_to_cpu(firmware->header.length)) { in qe_cmd()
746 "fw <addr> [<length>] - Upload firmware binary at address <addr> to "