diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0008-drm-amdgpu-Add-debugfs-file-for-VBIOS-and-version.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0008-drm-amdgpu-Add-debugfs-file-for-VBIOS-and-version.patch | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0008-drm-amdgpu-Add-debugfs-file-for-VBIOS-and-version.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0008-drm-amdgpu-Add-debugfs-file-for-VBIOS-and-version.patch deleted file mode 100644 index 0de2785d..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0008-drm-amdgpu-Add-debugfs-file-for-VBIOS-and-version.patch +++ /dev/null @@ -1,155 +0,0 @@ -From a3ca0eca99fe708407653cc6eed74eb8c01e12e7 Mon Sep 17 00:00:00 2001 -From: Kent Russell <kent.russell@amd.com> -Date: Tue, 22 Aug 2017 12:31:43 -0400 -Subject: [PATCH 0008/4131] drm/amdgpu: Add debugfs file for VBIOS and version -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Add 2 debugfs files, one that contains the VBIOS version, and one that -contains the VBIOS itself. These won't change after initialization, -so we can add the VBIOS version when we parse the atombios information. - -This ensures that we can find out the VBIOS version, even when the dmesg -buffer fills up, and makes it easier to associate which VBIOS version is -for which GPU on mGPU configurations. Set the size to 20 characters in -case of some weird VBIOS version that exceeds the expected 17 character -format (3-8-3\0). The VBIOS dump also allows for easy debugging - - v2: Move to debugfs, clarify commit message, add VBIOS dump file - -Signed-off-by: Kent Russell <kent.russell@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 62 ++++++++++++++++++++++++++++++ - drivers/gpu/drm/amd/amdgpu/atom.c | 5 ++- - drivers/gpu/drm/amd/amdgpu/atom.h | 1 + - 3 files changed, 67 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -index bc746a6..16af41e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c -@@ -65,6 +65,8 @@ MODULE_FIRMWARE("amdgpu/raven_gpu_info.bin"); - static int amdgpu_debugfs_regs_init(struct amdgpu_device *adev); - static void amdgpu_debugfs_regs_cleanup(struct amdgpu_device *adev); - static int amdgpu_debugfs_test_ib_ring_init(struct amdgpu_device *adev); -+static int amdgpu_debugfs_vbios_dump_init(struct amdgpu_device *adev); -+static int amdgpu_debugfs_vbios_version_init(struct amdgpu_device *adev); - - static const char *amdgpu_asic_name[] = { - "TAHITI", -@@ -2199,6 +2201,14 @@ int amdgpu_device_init(struct amdgpu_device *adev, - if (r) - DRM_ERROR("registering firmware debugfs failed (%d).\n", r); - -+ r = amdgpu_debugfs_vbios_dump_init(adev); -+ if (r) -+ DRM_ERROR("Creating vbios dump debugfs failed (%d).\n", r); -+ -+ r = amdgpu_debugfs_vbios_version_init(adev); -+ if (r) -+ DRM_ERROR("Creating vbios version debugfs failed (%d).\n", r); -+ - if ((amdgpu_testing & 1)) { - if (adev->accel_working) - amdgpu_test_moves(adev); -@@ -3752,6 +3762,50 @@ int amdgpu_debugfs_init(struct drm_minor *minor) - { - return 0; - } -+ -+static int amdgpu_debugfs_get_vbios_dump(struct seq_file *m, void *data) -+{ -+ struct drm_info_node *node = (struct drm_info_node *) m->private; -+ struct drm_device *dev = node->minor->dev; -+ struct amdgpu_device *adev = dev->dev_private; -+ -+ seq_write(m, adev->bios, adev->bios_size); -+ return 0; -+} -+ -+static int amdgpu_debugfs_get_vbios_version(struct seq_file *m, void *data) -+{ -+ struct drm_info_node *node = (struct drm_info_node *) m->private; -+ struct drm_device *dev = node->minor->dev; -+ struct amdgpu_device *adev = dev->dev_private; -+ struct atom_context *ctx = adev->mode_info.atom_context; -+ -+ seq_printf(m, "%s\n", ctx->vbios_version); -+ return 0; -+} -+ -+static const struct drm_info_list amdgpu_vbios_dump_list[] = { -+ {"amdgpu_vbios", -+ amdgpu_debugfs_get_vbios_dump, -+ 0, NULL}, -+}; -+ -+static const struct drm_info_list amdgpu_vbios_version_list[] = { -+ {"amdgpu_vbios_version", -+ amdgpu_debugfs_get_vbios_version, -+ 0, NULL}, -+}; -+ -+static int amdgpu_debugfs_vbios_dump_init(struct amdgpu_device *adev) -+{ -+ return amdgpu_debugfs_add_files(adev, -+ amdgpu_vbios_dump_list, 1); -+} -+static int amdgpu_debugfs_vbios_version_init(struct amdgpu_device *adev) -+{ -+ return amdgpu_debugfs_add_files(adev, -+ amdgpu_vbios_version_list, 1); -+} - #else - static int amdgpu_debugfs_test_ib_ring_init(struct amdgpu_device *adev) - { -@@ -3761,5 +3815,13 @@ static int amdgpu_debugfs_regs_init(struct amdgpu_device *adev) - { - return 0; - } -+static int amdgpu_debugfs_vbios_dump_init(struct amdgpu_device *adev) -+{ -+ return 0; -+} -+static int amdgpu_debugfs_vbios_version_init(struct amdgpu_device *adev) -+{ -+ return 0; -+} - static void amdgpu_debugfs_regs_cleanup(struct amdgpu_device *adev) { } - #endif -diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c -index d69aa2e..69500a8 100644 ---- a/drivers/gpu/drm/amd/amdgpu/atom.c -+++ b/drivers/gpu/drm/amd/amdgpu/atom.c -@@ -1343,8 +1343,11 @@ struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios) - idx = 0x80; - - str = CSTR(idx); -- if (*str != '\0') -+ if (*str != '\0') { - pr_info("ATOM BIOS: %s\n", str); -+ strlcpy(ctx->vbios_version, str, sizeof(ctx->vbios_version)); -+ } -+ - - return ctx; - } -diff --git a/drivers/gpu/drm/amd/amdgpu/atom.h b/drivers/gpu/drm/amd/amdgpu/atom.h -index ddd8045..a391709 100644 ---- a/drivers/gpu/drm/amd/amdgpu/atom.h -+++ b/drivers/gpu/drm/amd/amdgpu/atom.h -@@ -140,6 +140,7 @@ struct atom_context { - int io_mode; - uint32_t *scratch; - int scratch_size_bytes; -+ char vbios_version[20]; - }; - - extern int amdgpu_atom_debug; --- -2.7.4 - |