Lines Matching +full:revision +full:- +full:id

41 		((struct amdgpu_cgs_device *)cgs_device)->adev
142 if (adev->asic_type >= CHIP_TOPAZ) in fw_type_convert()
167 fw_version = adev->sdma.instance[0].fw_version; in amdgpu_get_firmware_version()
170 fw_version = adev->sdma.instance[1].fw_version; in amdgpu_get_firmware_version()
173 fw_version = adev->gfx.ce_fw_version; in amdgpu_get_firmware_version()
176 fw_version = adev->gfx.pfp_fw_version; in amdgpu_get_firmware_version()
179 fw_version = adev->gfx.me_fw_version; in amdgpu_get_firmware_version()
182 fw_version = adev->gfx.mec_fw_version; in amdgpu_get_firmware_version()
185 fw_version = adev->gfx.mec_fw_version; in amdgpu_get_firmware_version()
188 fw_version = adev->gfx.mec_fw_version; in amdgpu_get_firmware_version()
191 fw_version = adev->gfx.rlc_fw_version; in amdgpu_get_firmware_version()
212 enum AMDGPU_UCODE_ID id; in amdgpu_cgs_get_firmware_info() local
215 id = fw_type_convert(cgs_device, type); in amdgpu_cgs_get_firmware_info()
216 ucode = &adev->firmware.ucode[id]; in amdgpu_cgs_get_firmware_info()
217 if (ucode->fw == NULL) in amdgpu_cgs_get_firmware_info()
218 return -EINVAL; in amdgpu_cgs_get_firmware_info()
220 gpu_addr = ucode->mc_addr; in amdgpu_cgs_get_firmware_info()
221 header = (const struct gfx_firmware_header_v1_0 *)ucode->fw->data; in amdgpu_cgs_get_firmware_info()
222 data_size = le32_to_cpu(header->header.ucode_size_bytes); in amdgpu_cgs_get_firmware_info()
226 gpu_addr += ALIGN(le32_to_cpu(header->header.ucode_size_bytes), PAGE_SIZE); in amdgpu_cgs_get_firmware_info()
227 data_size = le32_to_cpu(header->jt_size) << 2; in amdgpu_cgs_get_firmware_info()
230 info->kptr = ucode->kaddr; in amdgpu_cgs_get_firmware_info()
231 info->image_size = data_size; in amdgpu_cgs_get_firmware_info()
232 info->mc_addr = gpu_addr; in amdgpu_cgs_get_firmware_info()
233 info->version = (uint16_t)le32_to_cpu(header->header.ucode_version); in amdgpu_cgs_get_firmware_info()
236 info->image_size = le32_to_cpu(header->jt_offset) << 2; in amdgpu_cgs_get_firmware_info()
238 info->fw_version = amdgpu_get_firmware_version(cgs_device, type); in amdgpu_cgs_get_firmware_info()
239 info->feature_version = (uint16_t)le32_to_cpu(header->ucode_feature_version); in amdgpu_cgs_get_firmware_info()
250 if (!adev->pm.fw) { in amdgpu_cgs_get_firmware_info()
251 switch (adev->asic_type) { in amdgpu_cgs_get_firmware_info()
256 if ((adev->pdev->revision == 0x81) && in amdgpu_cgs_get_firmware_info()
257 ((adev->pdev->device == 0x6810) || in amdgpu_cgs_get_firmware_info()
258 (adev->pdev->device == 0x6811))) { in amdgpu_cgs_get_firmware_info()
259 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
266 if (((adev->pdev->device == 0x6820) && in amdgpu_cgs_get_firmware_info()
267 ((adev->pdev->revision == 0x81) || in amdgpu_cgs_get_firmware_info()
268 (adev->pdev->revision == 0x83))) || in amdgpu_cgs_get_firmware_info()
269 ((adev->pdev->device == 0x6821) && in amdgpu_cgs_get_firmware_info()
270 ((adev->pdev->revision == 0x83) || in amdgpu_cgs_get_firmware_info()
271 (adev->pdev->revision == 0x87))) || in amdgpu_cgs_get_firmware_info()
272 ((adev->pdev->revision == 0x87) && in amdgpu_cgs_get_firmware_info()
273 ((adev->pdev->device == 0x6823) || in amdgpu_cgs_get_firmware_info()
274 (adev->pdev->device == 0x682b)))) { in amdgpu_cgs_get_firmware_info()
275 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
282 if (((adev->pdev->revision == 0x81) && in amdgpu_cgs_get_firmware_info()
283 ((adev->pdev->device == 0x6600) || in amdgpu_cgs_get_firmware_info()
284 (adev->pdev->device == 0x6604) || in amdgpu_cgs_get_firmware_info()
285 (adev->pdev->device == 0x6605) || in amdgpu_cgs_get_firmware_info()
286 (adev->pdev->device == 0x6610))) || in amdgpu_cgs_get_firmware_info()
287 ((adev->pdev->revision == 0x83) && in amdgpu_cgs_get_firmware_info()
288 (adev->pdev->device == 0x6610))) { in amdgpu_cgs_get_firmware_info()
289 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
296 if (((adev->pdev->revision == 0x81) && in amdgpu_cgs_get_firmware_info()
297 (adev->pdev->device == 0x6660)) || in amdgpu_cgs_get_firmware_info()
298 ((adev->pdev->revision == 0x83) && in amdgpu_cgs_get_firmware_info()
299 ((adev->pdev->device == 0x6660) || in amdgpu_cgs_get_firmware_info()
300 (adev->pdev->device == 0x6663) || in amdgpu_cgs_get_firmware_info()
301 (adev->pdev->device == 0x6665) || in amdgpu_cgs_get_firmware_info()
302 (adev->pdev->device == 0x6667)))) { in amdgpu_cgs_get_firmware_info()
303 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
305 } else if ((adev->pdev->revision == 0xc3) && in amdgpu_cgs_get_firmware_info()
306 (adev->pdev->device == 0x6665)) { in amdgpu_cgs_get_firmware_info()
307 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
314 if ((adev->pdev->revision == 0x80) || in amdgpu_cgs_get_firmware_info()
315 (adev->pdev->revision == 0x81) || in amdgpu_cgs_get_firmware_info()
316 (adev->pdev->device == 0x665f)) { in amdgpu_cgs_get_firmware_info()
317 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
324 if (adev->pdev->revision == 0x80) { in amdgpu_cgs_get_firmware_info()
325 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
332 if (((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x81)) || in amdgpu_cgs_get_firmware_info()
333 ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0x83)) || in amdgpu_cgs_get_firmware_info()
334 ((adev->pdev->device == 0x6907) && (adev->pdev->revision == 0x87)) || in amdgpu_cgs_get_firmware_info()
335 ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0xD1)) || in amdgpu_cgs_get_firmware_info()
336 ((adev->pdev->device == 0x6900) && (adev->pdev->revision == 0xD3))) { in amdgpu_cgs_get_firmware_info()
337 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
343 if (((adev->pdev->device == 0x6939) && (adev->pdev->revision == 0xf1)) || in amdgpu_cgs_get_firmware_info()
344 ((adev->pdev->device == 0x6938) && (adev->pdev->revision == 0xf1))) { in amdgpu_cgs_get_firmware_info()
345 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
355 if (ASICID_IS_P21(adev->pdev->device, adev->pdev->revision)) { in amdgpu_cgs_get_firmware_info()
356 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
358 } else if (ASICID_IS_P31(adev->pdev->device, adev->pdev->revision)) { in amdgpu_cgs_get_firmware_info()
359 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
370 if (ASICID_IS_P20(adev->pdev->device, adev->pdev->revision)) { in amdgpu_cgs_get_firmware_info()
371 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
373 } else if (ASICID_IS_P30(adev->pdev->device, adev->pdev->revision)) { in amdgpu_cgs_get_firmware_info()
374 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
384 if (ASICID_IS_P23(adev->pdev->device, adev->pdev->revision)) { in amdgpu_cgs_get_firmware_info()
385 info->is_kicker = true; in amdgpu_cgs_get_firmware_info()
395 if ((adev->pdev->device == 0x687f) && in amdgpu_cgs_get_firmware_info()
396 ((adev->pdev->revision == 0xc0) || in amdgpu_cgs_get_firmware_info()
397 (adev->pdev->revision == 0xc1) || in amdgpu_cgs_get_firmware_info()
398 (adev->pdev->revision == 0xc3))) in amdgpu_cgs_get_firmware_info()
411 return -EINVAL; in amdgpu_cgs_get_firmware_info()
414 err = amdgpu_ucode_request(adev, &adev->pm.fw, fw_name); in amdgpu_cgs_get_firmware_info()
417 amdgpu_ucode_release(&adev->pm.fw); in amdgpu_cgs_get_firmware_info()
421 if (adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) { in amdgpu_cgs_get_firmware_info()
422 ucode = &adev->firmware.ucode[AMDGPU_UCODE_ID_SMC]; in amdgpu_cgs_get_firmware_info()
423 ucode->ucode_id = AMDGPU_UCODE_ID_SMC; in amdgpu_cgs_get_firmware_info()
424 ucode->fw = adev->pm.fw; in amdgpu_cgs_get_firmware_info()
425 header = (const struct common_firmware_header *)ucode->fw->data; in amdgpu_cgs_get_firmware_info()
426 adev->firmware.fw_size += in amdgpu_cgs_get_firmware_info()
427 ALIGN(le32_to_cpu(header->ucode_size_bytes), PAGE_SIZE); in amdgpu_cgs_get_firmware_info()
431 hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data; in amdgpu_cgs_get_firmware_info()
432 amdgpu_ucode_print_smc_hdr(&hdr->header); in amdgpu_cgs_get_firmware_info()
433 adev->pm.fw_version = le32_to_cpu(hdr->header.ucode_version); in amdgpu_cgs_get_firmware_info()
434 ucode_size = le32_to_cpu(hdr->header.ucode_size_bytes); in amdgpu_cgs_get_firmware_info()
435 ucode_start_address = le32_to_cpu(hdr->ucode_start_addr); in amdgpu_cgs_get_firmware_info()
436 src = (const uint8_t *)(adev->pm.fw->data + in amdgpu_cgs_get_firmware_info()
437 le32_to_cpu(hdr->header.ucode_array_offset_bytes)); in amdgpu_cgs_get_firmware_info()
439 info->version = adev->pm.fw_version; in amdgpu_cgs_get_firmware_info()
440 info->image_size = ucode_size; in amdgpu_cgs_get_firmware_info()
441 info->ucode_start_address = ucode_start_address; in amdgpu_cgs_get_firmware_info()
442 info->kptr = (void *)src; in amdgpu_cgs_get_firmware_info()
465 cgs_device->base.ops = &amdgpu_cgs_ops; in amdgpu_cgs_create_device()
466 cgs_device->adev = adev; in amdgpu_cgs_create_device()