Lines Matching refs:ucode
818 struct amdgpu_firmware_info *ucode, in amdgpu_ucode_init_single_fw() argument
834 if (!ucode->fw) in amdgpu_ucode_init_single_fw()
837 ucode->mc_addr = mc_addr; in amdgpu_ucode_init_single_fw()
838 ucode->kaddr = kptr; in amdgpu_ucode_init_single_fw()
840 if (ucode->ucode_id == AMDGPU_UCODE_ID_STORAGE) in amdgpu_ucode_init_single_fw()
843 header = (const struct common_firmware_header *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
844 cp_hdr = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
845 cpv2_hdr = (const struct gfx_firmware_header_v2_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
846 dmcu_hdr = (const struct dmcu_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
847 dmcub_hdr = (const struct dmcub_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
848 mes_hdr = (const struct mes_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
849 sdma_hdr = (const struct sdma_firmware_header_v2_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
850 sdmav3_hdr = (const struct sdma_firmware_header_v3_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
851 imu_hdr = (const struct imu_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
852 vpe_hdr = (const struct vpe_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
853 umsch_mm_hdr = (const struct umsch_mm_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
856 switch (ucode->ucode_id) { in amdgpu_ucode_init_single_fw()
858 ucode->ucode_size = le32_to_cpu(sdma_hdr->ctx_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
859 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
863 ucode->ucode_size = le32_to_cpu(sdma_hdr->ctl_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
864 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
868 ucode->ucode_size = le32_to_cpu(sdmav3_hdr->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
869 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
874 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes) - in amdgpu_ucode_init_single_fw()
876 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
881 ucode->ucode_size = le32_to_cpu(cp_hdr->jt_size) * 4; in amdgpu_ucode_init_single_fw()
882 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
887 ucode->ucode_size = adev->gfx.rlc.save_restore_list_cntl_size_bytes; in amdgpu_ucode_init_single_fw()
891 ucode->ucode_size = adev->gfx.rlc.save_restore_list_gpm_size_bytes; in amdgpu_ucode_init_single_fw()
895 ucode->ucode_size = adev->gfx.rlc.save_restore_list_srm_size_bytes; in amdgpu_ucode_init_single_fw()
899 ucode->ucode_size = adev->gfx.rlc.rlc_iram_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
903 ucode->ucode_size = adev->gfx.rlc.rlc_dram_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
907 ucode->ucode_size = adev->gfx.rlc.rlcp_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
911 ucode->ucode_size = adev->gfx.rlc.rlcv_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
915 ucode->ucode_size = adev->gfx.rlc.global_tap_delays_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
919 ucode->ucode_size = adev->gfx.rlc.se0_tap_delays_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
923 ucode->ucode_size = adev->gfx.rlc.se1_tap_delays_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
927 ucode->ucode_size = adev->gfx.rlc.se2_tap_delays_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
931 ucode->ucode_size = adev->gfx.rlc.se3_tap_delays_ucode_size_bytes; in amdgpu_ucode_init_single_fw()
935 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
936 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
940 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_data_size_bytes); in amdgpu_ucode_init_single_fw()
941 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
945 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
946 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
950 ucode->ucode_size = le32_to_cpu(mes_hdr->mes_ucode_data_size_bytes); in amdgpu_ucode_init_single_fw()
951 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
955 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes) - in amdgpu_ucode_init_single_fw()
957 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
961 ucode->ucode_size = le32_to_cpu(dmcu_hdr->intv_size_bytes); in amdgpu_ucode_init_single_fw()
962 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
967 ucode->ucode_size = le32_to_cpu(dmcub_hdr->inst_const_bytes); in amdgpu_ucode_init_single_fw()
968 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
972 ucode->ucode_size = ucode->fw->size; in amdgpu_ucode_init_single_fw()
973 ucode_addr = (u8 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
976 ucode->ucode_size = ucode->fw->size; in amdgpu_ucode_init_single_fw()
977 ucode_addr = (u8 *)ucode->fw->data; in amdgpu_ucode_init_single_fw()
980 ucode->ucode_size = le32_to_cpu(imu_hdr->imu_iram_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
981 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
985 ucode->ucode_size = le32_to_cpu(imu_hdr->imu_dram_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
986 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
991 ucode->ucode_size = le32_to_cpu(cpv2_hdr->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
992 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
996 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
997 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1001 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1002 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1006 ucode->ucode_size = le32_to_cpu(cpv2_hdr->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1007 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1011 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1012 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1016 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1017 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1021 ucode->ucode_size = le32_to_cpu(cpv2_hdr->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1022 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1026 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1027 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1031 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1032 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1036 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1037 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1041 ucode->ucode_size = le32_to_cpu(cpv2_hdr->data_size_bytes); in amdgpu_ucode_init_single_fw()
1042 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1046 ucode->ucode_size = le32_to_cpu(vpe_hdr->ctx_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1047 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1051 ucode->ucode_size = le32_to_cpu(vpe_hdr->ctl_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1052 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1056 ucode->ucode_size = le32_to_cpu(umsch_mm_hdr->umsch_mm_ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1057 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1061 ucode->ucode_size = le32_to_cpu(umsch_mm_hdr->umsch_mm_ucode_data_size_bytes); in amdgpu_ucode_init_single_fw()
1062 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1066 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1067 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1072 ucode->ucode_size = le32_to_cpu(header->ucode_size_bytes); in amdgpu_ucode_init_single_fw()
1073 ucode_addr = (u8 *)ucode->fw->data + in amdgpu_ucode_init_single_fw()
1077 memcpy(ucode->kaddr, ucode_addr, ucode->ucode_size); in amdgpu_ucode_init_single_fw()
1082 static int amdgpu_ucode_patch_jt(struct amdgpu_firmware_info *ucode, in amdgpu_ucode_patch_jt() argument
1090 if (!ucode->fw) in amdgpu_ucode_patch_jt()
1093 comm_hdr = (const struct common_firmware_header *)ucode->fw->data; in amdgpu_ucode_patch_jt()
1094 header = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_patch_jt()
1095 dst_addr = ucode->kaddr + in amdgpu_ucode_patch_jt()
1098 src_addr = (uint8_t *)ucode->fw->data + in amdgpu_ucode_patch_jt()
1137 struct amdgpu_firmware_info *ucode = NULL; in amdgpu_ucode_init_bo() local
1156 ucode = &adev->firmware.ucode[i]; in amdgpu_ucode_init_bo()
1157 if (ucode->fw) { in amdgpu_ucode_init_bo()
1158 amdgpu_ucode_init_single_fw(adev, ucode, adev->firmware.fw_buf_mc + fw_offset, in amdgpu_ucode_init_bo()
1164 cp_hdr = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_ucode_init_bo()
1165 amdgpu_ucode_patch_jt(ucode, adev->firmware.fw_buf_mc + fw_offset, in amdgpu_ucode_init_bo()
1169 fw_offset += ALIGN(ucode->ucode_size, PAGE_SIZE); in amdgpu_ucode_init_bo()