mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 07:32:29 +02:00
drm/radeon/kms/evergreen: reset the grbm blocks at resume and init
commit 86f5c9edbb upstream.
This fixes module reloading and resume as the gfx block seems to
be left in a bad state in some cases.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
9d2510f79d
commit
8b9040e518
|
|
@ -2097,6 +2097,11 @@ int evergreen_resume(struct radeon_device *rdev)
|
|||
{
|
||||
int r;
|
||||
|
||||
/* reset the asic, the gfx blocks are often in a bad state
|
||||
* after the driver is unloaded or after a resume
|
||||
*/
|
||||
if (radeon_asic_reset(rdev))
|
||||
dev_warn(rdev->dev, "GPU reset failed !\n");
|
||||
/* Do not reset GPU before posting, on rv770 hw unlike on r500 hw,
|
||||
* posting will perform necessary task to bring back GPU into good
|
||||
* shape.
|
||||
|
|
@ -2193,6 +2198,11 @@ int evergreen_init(struct radeon_device *rdev)
|
|||
r = radeon_atombios_init(rdev);
|
||||
if (r)
|
||||
return r;
|
||||
/* reset the asic, the gfx blocks are often in a bad state
|
||||
* after the driver is unloaded or after a resume
|
||||
*/
|
||||
if (radeon_asic_reset(rdev))
|
||||
dev_warn(rdev->dev, "GPU reset failed !\n");
|
||||
/* Post card if necessary */
|
||||
if (!evergreen_card_posted(rdev)) {
|
||||
if (!rdev->bios) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user