mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
drm/amdgpu: add the hw_ip version of all IP's
Add all the IP's version information on a SOC to the devcoredump. Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
2e52dd1ee4
commit
d72e2bdac4
|
|
@ -29,6 +29,42 @@
|
|||
#include "sienna_cichlid.h"
|
||||
#include "smu_v13_0_10.h"
|
||||
|
||||
const char *hw_ip_names[MAX_HWIP] = {
|
||||
[GC_HWIP] = "GC",
|
||||
[HDP_HWIP] = "HDP",
|
||||
[SDMA0_HWIP] = "SDMA0",
|
||||
[SDMA1_HWIP] = "SDMA1",
|
||||
[SDMA2_HWIP] = "SDMA2",
|
||||
[SDMA3_HWIP] = "SDMA3",
|
||||
[SDMA4_HWIP] = "SDMA4",
|
||||
[SDMA5_HWIP] = "SDMA5",
|
||||
[SDMA6_HWIP] = "SDMA6",
|
||||
[SDMA7_HWIP] = "SDMA7",
|
||||
[LSDMA_HWIP] = "LSDMA",
|
||||
[MMHUB_HWIP] = "MMHUB",
|
||||
[ATHUB_HWIP] = "ATHUB",
|
||||
[NBIO_HWIP] = "NBIO",
|
||||
[MP0_HWIP] = "MP0",
|
||||
[MP1_HWIP] = "MP1",
|
||||
[UVD_HWIP] = "UVD/JPEG/VCN",
|
||||
[VCN1_HWIP] = "VCN1",
|
||||
[VCE_HWIP] = "VCE",
|
||||
[VPE_HWIP] = "VPE",
|
||||
[DF_HWIP] = "DF",
|
||||
[DCE_HWIP] = "DCE",
|
||||
[OSSSYS_HWIP] = "OSSSYS",
|
||||
[SMUIO_HWIP] = "SMUIO",
|
||||
[PWR_HWIP] = "PWR",
|
||||
[NBIF_HWIP] = "NBIF",
|
||||
[THM_HWIP] = "THM",
|
||||
[CLK_HWIP] = "CLK",
|
||||
[UMC_HWIP] = "UMC",
|
||||
[RSMU_HWIP] = "RSMU",
|
||||
[XGMI_HWIP] = "XGMI",
|
||||
[DCI_HWIP] = "DCI",
|
||||
[PCIE_HWIP] = "PCIE",
|
||||
};
|
||||
|
||||
int amdgpu_reset_init(struct amdgpu_device *adev)
|
||||
{
|
||||
int ret = 0;
|
||||
|
|
@ -196,6 +232,30 @@ amdgpu_devcoredump_read(char *buffer, loff_t offset, size_t count,
|
|||
coredump->reset_task_info.process_name,
|
||||
coredump->reset_task_info.pid);
|
||||
|
||||
/* GPU IP's information of the SOC */
|
||||
if (coredump->adev) {
|
||||
drm_printf(&p, "\nIP Information\n");
|
||||
drm_printf(&p, "SOC Family: %d\n", coredump->adev->family);
|
||||
drm_printf(&p, "SOC Revision id: %d\n", coredump->adev->rev_id);
|
||||
drm_printf(&p, "SOC External Revision id: %d\n",
|
||||
coredump->adev->external_rev_id);
|
||||
|
||||
for (int i = 1; i < MAX_HWIP; i++) {
|
||||
for (int j = 0; j < HWIP_MAX_INSTANCE; j++) {
|
||||
int ver = coredump->adev->ip_versions[i][j];
|
||||
|
||||
if (ver)
|
||||
drm_printf(&p, "HWIP: %s[%d][%d]: v%d.%d.%d.%d.%d\n",
|
||||
hw_ip_names[i], i, j,
|
||||
IP_VERSION_MAJ(ver),
|
||||
IP_VERSION_MIN(ver),
|
||||
IP_VERSION_REV(ver),
|
||||
IP_VERSION_VARIANT(ver),
|
||||
IP_VERSION_SUBREV(ver));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (coredump->ring) {
|
||||
drm_printf(&p, "\nRing timed out details\n");
|
||||
drm_printf(&p, "IP Type: %d Ring Name: %s\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user