drm/amdgpu: Print full vbios info

Add build number, version and date to the existing part number print.

Example:

[drm] ATOM BIOS: 113-PN000108-103, build: 00159017, ver: 022.040.003.043.000001, 2025/07/27

Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Lijo Lazar 2026-02-18 16:21:23 +05:30 committed by Alex Deucher
parent a17ef94121
commit 4fd7b724a8

View File

@ -1462,8 +1462,6 @@ static void atom_get_vbios_pn(struct atom_context *ctx)
ctx->vbios_pn[count] = 0;
}
drm_info(ctx->card->dev, "ATOM BIOS: %s\n", ctx->vbios_pn);
}
static void atom_get_vbios_version(struct atom_context *ctx)
@ -1520,6 +1518,30 @@ static void atom_get_vbios_build(struct atom_context *ctx)
strscpy(ctx->build_num, str, len);
}
static inline void atom_print_vbios_info(struct atom_context *ctx)
{
char vbios_info[256];
int off = 0;
if (ctx->vbios_pn[0])
off += scnprintf(vbios_info + off, sizeof(vbios_info) - off,
"%s", ctx->vbios_pn);
if (ctx->build_num[0])
off += scnprintf(vbios_info + off, sizeof(vbios_info) - off,
"%sbuild: %s", off ? ", " : "",
ctx->build_num);
if (ctx->vbios_ver_str[0])
off += scnprintf(vbios_info + off, sizeof(vbios_info) - off,
"%sver: %s", off ? ", " : "",
ctx->vbios_ver_str);
if (ctx->date[0])
off += scnprintf(vbios_info + off, sizeof(vbios_info) - off,
"%s%.10s", off ? ", " : "",
ctx->date);
if (off)
drm_info(ctx->card->dev, "ATOM BIOS: %s\n", vbios_info);
}
struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios)
{
int base;
@ -1582,6 +1604,8 @@ struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios)
atom_get_vbios_version(ctx);
atom_get_vbios_build(ctx);
atom_print_vbios_info(ctx);
return ctx;
}