All of lore.kernel.org
 help / color / mirror / Atom feed
From: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	Alex Deucher <alexander.deucher-5C7GfCeVMHo@public.gmane.org>
Cc: Huang Rui <ray.huang-5C7GfCeVMHo@public.gmane.org>
Subject: [PATCH 3/3] drm/amdgpu: fix to clear ASIC INIT COMPLETE bit on resuming phase
Date: Mon, 10 Apr 2017 17:37:51 +0800	[thread overview]
Message-ID: <1491817071-17014-3-git-send-email-ray.huang@amd.com> (raw)
In-Reply-To: <1491817071-17014-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>

ASIC_INIT_COMPLETE bit must be cleared during S3 resuming phase,
because VBIOS will check the bit to decide if execute ASIC_Init
posting via kernel driver.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c     | 5 ++++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
index ad43299..b0dd72a8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
@@ -1727,8 +1727,11 @@ void amdgpu_atombios_scratch_regs_restore(struct amdgpu_device *adev)
 {
 	int i;
 
-	for (i = 0; i < AMDGPU_BIOS_NUM_SCRATCH; i++)
+	for (i = 0; i < AMDGPU_BIOS_NUM_SCRATCH; i++) {
+		if (i == 7)
+			adev->bios_scratch[i] &= ~ATOM_S7_ASIC_INIT_COMPLETE_MASK;
 		WREG32(mmBIOS_SCRATCH_0 + i, adev->bios_scratch[i]);
+	}
 }
 
 void amdgpu_atombios_scratch_regs_engine_hung(struct amdgpu_device *adev,
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index 4b9abd6..c7e28bf 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -26,6 +26,7 @@
 #include "atomfirmware.h"
 #include "amdgpu_atomfirmware.h"
 #include "atom.h"
+#include "atombios.h"
 
 #define get_index_into_master_table(master_table, table_name) (offsetof(struct master_table, table_name) / sizeof(uint16_t))
 
@@ -77,8 +78,11 @@ void amdgpu_atomfirmware_scratch_regs_restore(struct amdgpu_device *adev)
 {
 	int i;
 
-	for (i = 0; i < AMDGPU_BIOS_NUM_SCRATCH; i++)
+	for (i = 0; i < AMDGPU_BIOS_NUM_SCRATCH; i++) {
+		if (i == 7)
+			adev->bios_scratch[i] &= ~ATOM_S7_ASIC_INIT_COMPLETE_MASK;
 		WREG32(adev->bios_scratch_reg_offset + i, adev->bios_scratch[i]);
+	}
 }
 
 int amdgpu_atomfirmware_allocate_fb_scratch(struct amdgpu_device *adev)
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2017-04-10  9:37 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-10  9:37 [PATCH 1/3] drm/amd/powerplay: fix suspend error on DPM disabled Huang Rui
     [not found] ` <1491817071-17014-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2017-04-10  9:37   ` [PATCH 2/3] drm/amdgpu: do not free fence buf when driver probes Huang Rui
2017-04-10  9:37   ` Huang Rui [this message]
     [not found]     ` <1491817071-17014-3-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org>
2017-04-10 12:09       ` [PATCH 3/3] drm/amdgpu: fix to clear ASIC INIT COMPLETE bit on resuming phase Grazvydas Ignotas
     [not found]         ` <CANOLnOOcnUitqWAWjtTEa0U69pEj5mFMMJZSHrKz5S_TQEcoDA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-11  3:41           ` Huang Rui
2017-04-10 14:55       ` Deucher, Alexander

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1491817071-17014-3-git-send-email-ray.huang@amd.com \
    --to=ray.huang-5c7gfcevmho@public.gmane.org \
    --cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.