]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/radeon/kms: evergreen & ni reset SPI block on CP resume
authorJerome Glisse <jglisse@redhat.com>
Wed, 24 Aug 2011 20:00:17 +0000 (20:00 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:02 +0000 (11:40 -0700)
commit a49a50dad48586d42ebac1a6730c3a3cd5603421 upstream.

For some reason SPI block is in broken state after module
unloading. This lead to broken rendering after reloading
module. Fix this by reseting SPI block in CP resume function

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/radeon/evergreen.c
drivers/gpu/drm/radeon/ni.c

index 15bd0477a3e8714da218abdc07bec96038f5244b..49f801b90d227b4d6e23feceb4ba5fb4b44670b7 100644 (file)
@@ -1357,6 +1357,7 @@ int evergreen_cp_resume(struct radeon_device *rdev)
                                 SOFT_RESET_PA |
                                 SOFT_RESET_SH |
                                 SOFT_RESET_VGT |
+                                SOFT_RESET_SPI |
                                 SOFT_RESET_SX));
        RREG32(GRBM_SOFT_RESET);
        mdelay(15);
index 559dbd412906096f762f3d41cacecdf4e0810794..aa6f87aca13f235f970847223f6ab2095db81bdc 100644 (file)
@@ -1158,6 +1158,7 @@ int cayman_cp_resume(struct radeon_device *rdev)
                                 SOFT_RESET_PA |
                                 SOFT_RESET_SH |
                                 SOFT_RESET_VGT |
+                                SOFT_RESET_SPI |
                                 SOFT_RESET_SX));
        RREG32(GRBM_SOFT_RESET);
        mdelay(15);