Lines Matching refs:ucode
568 struct amdgpu_firmware_info *ucode, in amdgpu_ucode_init_single_fw() argument
578 if (NULL == ucode->fw) in amdgpu_ucode_init_single_fw()
581 ucode->mc_addr = mc_addr; in amdgpu_ucode_init_single_fw()
582 ucode->kaddr = kptr; in amdgpu_ucode_init_single_fw()
584 if (ucode->ucode_id == AMDGPU_UCODE_ID_STORAGE) in amdgpu_ucode_init_single_fw()
587 header = (const struct common_firmware_header *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
588 cp_hdr = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
589 dmcu_hdr = (const struct dmcu_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
590 dmcub_hdr = (const struct dmcub_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
591 mes_hdr = (const struct mes_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
594 switch (ucode->ucode_id) { in amdgpu_ucode_init_single_fw()
597 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes) - in amdgpu_ucode_init_single_fw()
599 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
604 ucode->ucode_size = le32_to_cpu(cp_hdr->jt_size) * 4; in amdgpu_ucode_init_single_fw()
605 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
610 ucode->ucode_size = adev->gfx.rlc.save_restore_list_cntl_size_bytes; in amdgpu_ucode_init_single_fw()
614 ucode->ucode_size = adev->gfx.rlc.save_restore_list_gpm_size_bytes; in amdgpu_ucode_init_single_fw()
618 ucode->ucode_size = adev->gfx.rlc.save_restore_list_srm_size_bytes; in amdgpu_ucode_init_single_fw()
622 ucode->ucode_size = adev->gfx.rlc.rlc_iram_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
626 ucode->ucode_size = adev->gfx.rlc.rlc_dram_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
630 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
631 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
635 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_data_size_bytes); in amdgpu_ucode_init_single_fw()
636 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
640 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes) - in amdgpu_ucode_init_single_fw()
642 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
646 ucode->ucode_size = le32_to_cpu(dmcu_hdr->intv_size_bytes); in amdgpu_ucode_init_single_fw()
647 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
652 ucode->ucode_size = le32_to_cpu(dmcub_hdr->inst_const_bytes); in amdgpu_ucode_init_single_fw()
653 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
657 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
658 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
663 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
664 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
668 memcpy(ucode->kaddr, ucode_addr, ucode->ucode_size); in amdgpu_ucode_init_single_fw()
673 static int amdgpu_ucode_patch_jt(struct amdgpu_firmware_info *ucode, in amdgpu_ucode_patch_jt() argument
681 if (NULL == ucode->fw) in amdgpu_ucode_patch_jt()
684 comm_hdr = (const struct common_firmware_header *)ucode->fw->data; in amdgpu_ucode_patch_jt()
685 header = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_patch_jt()
686 dst_addr = ucode->kaddr + in amdgpu_ucode_patch_jt()
689 src_addr = (uint8_t *)ucode->fw->data + in amdgpu_ucode_patch_jt()
727 struct amdgpu_firmware_info *ucode = NULL; in amdgpu_ucode_init_bo() local
746 ucode = &adev->firmware.ucode[i]; in amdgpu_ucode_init_bo()
747 if (ucode->fw) { in amdgpu_ucode_init_bo()
748 amdgpu_ucode_init_single_fw(adev, ucode, adev->firmware.fw_buf_mc + fw_offset, in amdgpu_ucode_init_bo()
753 cp_hdr = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_bo()
754 amdgpu_ucode_patch_jt(ucode, adev->firmware.fw_buf_mc + fw_offset, in amdgpu_ucode_init_bo()
758 fw_offset += ALIGN(ucode->ucode_size, PAGE_SIZE); in amdgpu_ucode_init_bo()