aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch')
-rw-r--r--common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch211
1 files changed, 0 insertions, 211 deletions
diff --git a/common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch b/common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch
deleted file mode 100644
index 50c39836..00000000
--- a/common/recipes-kernel/linux/files/0023-drm-amdgpu-add-more-debugging-output-for-driver-fail.patch
+++ /dev/null
@@ -1,211 +0,0 @@
-From 0273b5fac28b3b13111b978c7c27c908ba9d28c2 Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Mon, 7 Dec 2015 17:02:53 -0500
-Subject: [PATCH 0023/1110] drm/amdgpu: add more debugging output for driver
- failures
-
-Add more fine grained debugging output for init/fini/suspend/
-resume failures.
-
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 73 +++++++++++++++++++++++-------
- 1 file changed, 57 insertions(+), 16 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-index c5206fd..991884a 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-@@ -1214,12 +1214,14 @@ static int amdgpu_early_init(struct amdgpu_device *adev)
- } else {
- if (adev->ip_blocks[i].funcs->early_init) {
- r = adev->ip_blocks[i].funcs->early_init((void *)adev);
-- if (r == -ENOENT)
-+ if (r == -ENOENT) {
- adev->ip_block_status[i].valid = false;
-- else if (r)
-+ } else if (r) {
-+ DRM_ERROR("early_init %d failed %d\n", i, r);
- return r;
-- else
-+ } else {
- adev->ip_block_status[i].valid = true;
-+ }
- } else {
- adev->ip_block_status[i].valid = true;
- }
-@@ -1237,20 +1239,28 @@ static int amdgpu_init(struct amdgpu_device *adev)
- if (!adev->ip_block_status[i].valid)
- continue;
- r = adev->ip_blocks[i].funcs->sw_init((void *)adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("sw_init %d failed %d\n", i, r);
- return r;
-+ }
- adev->ip_block_status[i].sw = true;
- /* need to do gmc hw init early so we can allocate gpu mem */
- if (adev->ip_blocks[i].type == AMD_IP_BLOCK_TYPE_GMC) {
- r = amdgpu_vram_scratch_init(adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("amdgpu_vram_scratch_init failed %d\n", r);
- return r;
-+ }
- r = adev->ip_blocks[i].funcs->hw_init((void *)adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("hw_init %d failed %d\n", i, r);
- return r;
-+ }
- r = amdgpu_wb_init(adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("amdgpu_wb_init failed %d\n", r);
- return r;
-+ }
- adev->ip_block_status[i].hw = true;
- }
- }
-@@ -1262,8 +1272,10 @@ static int amdgpu_init(struct amdgpu_device *adev)
- if (adev->ip_blocks[i].type == AMD_IP_BLOCK_TYPE_GMC)
- continue;
- r = adev->ip_blocks[i].funcs->hw_init((void *)adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("hw_init %d failed %d\n", i, r);
- return r;
-+ }
- adev->ip_block_status[i].hw = true;
- }
-
-@@ -1280,12 +1292,16 @@ static int amdgpu_late_init(struct amdgpu_device *adev)
- /* enable clockgating to save power */
- r = adev->ip_blocks[i].funcs->set_clockgating_state((void *)adev,
- AMD_CG_STATE_GATE);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("set_clockgating_state(gate) %d failed %d\n", i, r);
- return r;
-+ }
- if (adev->ip_blocks[i].funcs->late_init) {
- r = adev->ip_blocks[i].funcs->late_init((void *)adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("late_init %d failed %d\n", i, r);
- return r;
-+ }
- }
- }
-
-@@ -1306,10 +1322,15 @@ static int amdgpu_fini(struct amdgpu_device *adev)
- /* ungate blocks before hw fini so that we can shutdown the blocks safely */
- r = adev->ip_blocks[i].funcs->set_clockgating_state((void *)adev,
- AMD_CG_STATE_UNGATE);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("set_clockgating_state(ungate) %d failed %d\n", i, r);
- return r;
-+ }
- r = adev->ip_blocks[i].funcs->hw_fini((void *)adev);
- /* XXX handle errors */
-+ if (r) {
-+ DRM_DEBUG("hw_fini %d failed %d\n", i, r);
-+ }
- adev->ip_block_status[i].hw = false;
- }
-
-@@ -1318,6 +1339,9 @@ static int amdgpu_fini(struct amdgpu_device *adev)
- continue;
- r = adev->ip_blocks[i].funcs->sw_fini((void *)adev);
- /* XXX handle errors */
-+ if (r) {
-+ DRM_DEBUG("sw_fini %d failed %d\n", i, r);
-+ }
- adev->ip_block_status[i].sw = false;
- adev->ip_block_status[i].valid = false;
- }
-@@ -1335,9 +1359,15 @@ static int amdgpu_suspend(struct amdgpu_device *adev)
- /* ungate blocks so that suspend can properly shut them down */
- r = adev->ip_blocks[i].funcs->set_clockgating_state((void *)adev,
- AMD_CG_STATE_UNGATE);
-+ if (r) {
-+ DRM_ERROR("set_clockgating_state(ungate) %d failed %d\n", i, r);
-+ }
- /* XXX handle errors */
- r = adev->ip_blocks[i].funcs->suspend(adev);
- /* XXX handle errors */
-+ if (r) {
-+ DRM_ERROR("suspend %d failed %d\n", i, r);
-+ }
- }
-
- return 0;
-@@ -1351,8 +1381,10 @@ static int amdgpu_resume(struct amdgpu_device *adev)
- if (!adev->ip_block_status[i].valid)
- continue;
- r = adev->ip_blocks[i].funcs->resume(adev);
-- if (r)
-+ if (r) {
-+ DRM_ERROR("resume %d failed %d\n", i, r);
- return r;
-+ }
- }
-
- return 0;
-@@ -1484,8 +1516,10 @@ int amdgpu_device_init(struct amdgpu_device *adev,
- return -EINVAL;
- }
- r = amdgpu_atombios_init(adev);
-- if (r)
-+ if (r) {
-+ dev_err(adev->dev, "amdgpu_atombios_init failed\n");
- return r;
-+ }
-
- /* Post card if necessary */
- if (!amdgpu_card_posted(adev)) {
-@@ -1499,21 +1533,26 @@ int amdgpu_device_init(struct amdgpu_device *adev,
-
- /* Initialize clocks */
- r = amdgpu_atombios_get_clock_info(adev);
-- if (r)
-+ if (r) {
-+ dev_err(adev->dev, "amdgpu_atombios_get_clock_info failed\n");
- return r;
-+ }
- /* init i2c buses */
- amdgpu_atombios_i2c_init(adev);
-
- /* Fence driver */
- r = amdgpu_fence_driver_init(adev);
-- if (r)
-+ if (r) {
-+ dev_err(adev->dev, "amdgpu_fence_driver_init failed\n");
- return r;
-+ }
-
- /* init the mode config */
- drm_mode_config_init(adev->ddev);
-
- r = amdgpu_init(adev);
- if (r) {
-+ dev_err(adev->dev, "amdgpu_init failed\n");
- amdgpu_fini(adev);
- return r;
- }
-@@ -1570,8 +1609,10 @@ int amdgpu_device_init(struct amdgpu_device *adev,
- * explicit gating rather than handling it automatically.
- */
- r = amdgpu_late_init(adev);
-- if (r)
-+ if (r) {
-+ dev_err(adev->dev, "amdgpu_late_init failed\n");
- return r;
-+ }
-
- return 0;
- }
---
-2.7.4
-