This is a note to let you know that I've just added the patch titled

    drm/radeon/kms/evergreen: reset the grbm blocks at resume and init

to the 2.6.36-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-radeon-kms-evergreen-reset-the-grbm-blocks-at-resume-and-init.patch
and it can be found in the queue-2.6.36 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From 86f5c9edbb3bac37cc8cee6528a929005ba72aad Mon Sep 17 00:00:00 2001
From: Alex Deucher <[email protected]>
Date: Mon, 20 Dec 2010 12:35:04 -0500
Subject: drm/radeon/kms/evergreen: reset the grbm blocks at resume and init

From: Alex Deucher <[email protected]>

commit 86f5c9edbb3bac37cc8cee6528a929005ba72aad 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 <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/gpu/drm/radeon/evergreen.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -2097,6 +2097,11 @@ int evergreen_resume(struct radeon_devic
 {
        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
        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) {


Patches currently in stable-queue which might be from [email protected] are

queue-2.6.36/drm-radeon-kms-don-t-apply-7xx-hdp-flush-workaround-on-agp.patch
queue-2.6.36/drm-radeon-kms-reorder-display-resume-to-avoid-problems.patch
queue-2.6.36/drm-radeon-kms-evergreen-reset-the-grbm-blocks-at-resume-and-init.patch
queue-2.6.36/drm-radeon-kms-fix-vram-base-calculation-on-rs780-rs880.patch
queue-2.6.36/drm-kms-remove-spaces-from-connector-names-v2.patch
queue-2.6.36/drm-radeon-kms-fix-evergreen-asic-reset.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to