diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0890-drm-amd-dal-initial-framework-for-s3-debugging.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0890-drm-amd-dal-initial-framework-for-s3-debugging.patch | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/common/recipes-kernel/linux/files/0890-drm-amd-dal-initial-framework-for-s3-debugging.patch b/common/recipes-kernel/linux/files/0890-drm-amd-dal-initial-framework-for-s3-debugging.patch deleted file mode 100644 index 9b43e81f..00000000 --- a/common/recipes-kernel/linux/files/0890-drm-amd-dal-initial-framework-for-s3-debugging.patch +++ /dev/null @@ -1,83 +0,0 @@ -From d9d03b7b657d80cf163e650f8c6afc60d114e6f7 Mon Sep 17 00:00:00 2001 -From: Mykola Lysenko <Mykola.Lysenko@amd.com> -Date: Wed, 9 Mar 2016 05:45:11 -0500 -Subject: [PATCH 0890/1110] drm/amd/dal: initial framework for s3 debugging - -Adds sysfs driver property to trigger suspend/resume -sequences, thus allow to debug through them w/o actual -s3. - -E.g. - -will trigger suspend sequence and - -will trigger resume sequence. - -Currently it only supports DAL s3 sequences, but could be -expanded to support whole driver sequence. - -Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com> -Acked-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c | 37 +++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c -index 5bef63c..bf4ad69 100644 ---- a/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/dal/amdgpu_dm/amdgpu_dm.c -@@ -1232,6 +1232,38 @@ static const struct amdgpu_display_funcs dm_dce_v11_0_display_funcs = { - .resume_mc_access = dce_v11_0_resume_mc_access, /* called unconditionally */ - }; - -+#if defined(CONFIG_DEBUG_KERNEL_DAL) -+ -+static ssize_t s3_debug_store( -+ struct device *device, -+ struct device_attribute *attr, -+ const char *buf, -+ size_t count) -+{ -+ int ret; -+ int s3_state; -+ struct pci_dev *pdev = to_pci_dev(device); -+ struct drm_device *drm_dev = pci_get_drvdata(pdev); -+ struct amdgpu_device *adev = drm_dev->dev_private; -+ -+ ret = kstrtoint(buf, 0, &s3_state); -+ -+ if (ret == 0) { -+ if (s3_state) { -+ dm_resume(adev); -+ amdgpu_dm_display_resume(adev); -+ drm_kms_helper_hotplug_event(adev->ddev); -+ } else -+ dm_suspend(adev); -+ } -+ -+ return ret == 0 ? count : 0; -+} -+ -+DEVICE_ATTR_WO(s3_debug); -+ -+#endif -+ - static int dm_early_init(void *handle) - { - struct amdgpu_device *adev = (struct amdgpu_device *)handle; -@@ -1279,6 +1311,11 @@ static int dm_early_init(void *handle) - /* Note: Do NOT change adev->audio_endpt_rreg and - * adev->audio_endpt_wreg because they are initialised in - * amdgpu_device_init() */ -+#if defined(CONFIG_DEBUG_KERNEL_DAL) -+ device_create_file( -+ adev->ddev->dev, -+ &dev_attr_s3_debug); -+#endif - - return 0; - } --- -2.7.4 - |