Message ID | 1314216017-4730-1-git-send-email-j.glisse@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, Aug 24, 2011 at 4:00 PM, <j.glisse@gmail.com> wrote: > From: Jerome Glisse <jglisse@redhat.com> > > 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 Looks good to me. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> > > Signed-off-by: Jerome Glisse <jglisse@redhat.com > --- > drivers/gpu/drm/radeon/evergreen.c | 1 + > drivers/gpu/drm/radeon/ni.c | 1 + > 2 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c > index fb5fa08..d8d71a3 100644 > --- a/drivers/gpu/drm/radeon/evergreen.c > +++ b/drivers/gpu/drm/radeon/evergreen.c > @@ -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); > diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c > index 44c4750..a2e00fa 100644 > --- a/drivers/gpu/drm/radeon/ni.c > +++ b/drivers/gpu/drm/radeon/ni.c > @@ -1159,6 +1159,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); > -- > 1.7.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index fb5fa08..d8d71a3 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c @@ -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); diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 44c4750..a2e00fa 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c @@ -1159,6 +1159,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);