[PATCH 1/2] drm/radeon: activate UVD clocks before sending the destroy msg
Am 30.10.2013 15:29, schrieb Alex Deucher: > On Wed, Oct 30, 2013 at 7:56 AM, Christian K?nig > wrote: >> From: Christian K?nig >> >> Make sure the UVD clocks are still active before sending >> the destroy message, otherwise the hw might hang. >> >> Signed-off-by: Christian K?nig >> Cc: stable at vger.kernel.org > Both applied! On which branch? Those two where intended for drm-fixes-3.12, but they didn't showed up in 3.12.0. Could you apply them to drm-fixes-3.12 as well? They prevent hw lockups in case of crashed userspace applications and should also go into older stable kernels. Christian. > Alex > >> --- >> drivers/gpu/drm/radeon/radeon_uvd.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c >> b/drivers/gpu/drm/radeon/radeon_uvd.c >> index 308eff5..a56dfe4 100644 >> --- a/drivers/gpu/drm/radeon/radeon_uvd.c >> +++ b/drivers/gpu/drm/radeon/radeon_uvd.c >> @@ -240,6 +240,8 @@ void radeon_uvd_free_handles(struct radeon_device *rdev, >> struct drm_file *filp) >> if (handle != 0 && rdev->uvd.filp[i] == filp) { >> struct radeon_fence *fence; >> >> + radeon_uvd_note_usage(rdev); >> + >> r = radeon_uvd_get_destroy_msg(rdev, >> R600_RING_TYPE_UVD_INDEX, handle, ); >> if (r) { >> -- >> 1.8.1.2 >>
[PATCH 1/2] drm/radeon: activate UVD clocks before sending the destroy msg
On Mon, Nov 11, 2013 at 3:54 AM, Christian K?nig wrote: > Am 30.10.2013 15:29, schrieb Alex Deucher: >> >> On Wed, Oct 30, 2013 at 7:56 AM, Christian K?nig >> wrote: >>> >>> From: Christian K?nig >>> >>> Make sure the UVD clocks are still active before sending >>> the destroy message, otherwise the hw might hang. >>> >>> Signed-off-by: Christian K?nig >>> Cc: stable at vger.kernel.org >> >> Both applied! > > > On which branch? Those two where intended for drm-fixes-3.12, but they > didn't showed up in 3.12.0. > > Could you apply them to drm-fixes-3.12 as well? They prevent hw lockups in > case of crashed userspace applications and should also go into older stable > kernels. It was too late for 3.12. They'll be in 3.13 and I cc'ed stable: http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next=c154a76311293f9671439286834aa325b7ef59fe http://cgit.freedesktop.org/~airlied/linux/commit/?h=drm-next=727ddc84a1373bf06b2fa261f44e38fb0faf5340 I can push to my fdo drm-fixes-3.12 branch too if you want. Alex > > Christian. > >> Alex >> >>> --- >>> drivers/gpu/drm/radeon/radeon_uvd.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c >>> b/drivers/gpu/drm/radeon/radeon_uvd.c >>> index 308eff5..a56dfe4 100644 >>> --- a/drivers/gpu/drm/radeon/radeon_uvd.c >>> +++ b/drivers/gpu/drm/radeon/radeon_uvd.c >>> @@ -240,6 +240,8 @@ void radeon_uvd_free_handles(struct radeon_device >>> *rdev, struct drm_file *filp) >>> if (handle != 0 && rdev->uvd.filp[i] == filp) { >>> struct radeon_fence *fence; >>> >>> + radeon_uvd_note_usage(rdev); >>> + >>> r = radeon_uvd_get_destroy_msg(rdev, >>> R600_RING_TYPE_UVD_INDEX, handle, >>> ); >>> if (r) { >>> -- >>> 1.8.1.2 >>> >
[PATCH 1/2] drm/radeon: activate UVD clocks before sending the destroy msg
From: Christian K?nigMake sure the UVD clocks are still active before sending the destroy message, otherwise the hw might hang. Signed-off-by: Christian K?nig Cc: stable at vger.kernel.org --- drivers/gpu/drm/radeon/radeon_uvd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c index 308eff5..a56dfe4 100644 --- a/drivers/gpu/drm/radeon/radeon_uvd.c +++ b/drivers/gpu/drm/radeon/radeon_uvd.c @@ -240,6 +240,8 @@ void radeon_uvd_free_handles(struct radeon_device *rdev, struct drm_file *filp) if (handle != 0 && rdev->uvd.filp[i] == filp) { struct radeon_fence *fence; + radeon_uvd_note_usage(rdev); + r = radeon_uvd_get_destroy_msg(rdev, R600_RING_TYPE_UVD_INDEX, handle, ); if (r) { -- 1.8.1.2
[PATCH 1/2] drm/radeon: activate UVD clocks before sending the destroy msg
On Wed, Oct 30, 2013 at 7:56 AM, Christian K?nig wrote: > From: Christian K?nig > > Make sure the UVD clocks are still active before sending > the destroy message, otherwise the hw might hang. > > Signed-off-by: Christian K?nig > Cc: stable at vger.kernel.org Both applied! Alex > --- > drivers/gpu/drm/radeon/radeon_uvd.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c > b/drivers/gpu/drm/radeon/radeon_uvd.c > index 308eff5..a56dfe4 100644 > --- a/drivers/gpu/drm/radeon/radeon_uvd.c > +++ b/drivers/gpu/drm/radeon/radeon_uvd.c > @@ -240,6 +240,8 @@ void radeon_uvd_free_handles(struct radeon_device *rdev, > struct drm_file *filp) > if (handle != 0 && rdev->uvd.filp[i] == filp) { > struct radeon_fence *fence; > > + radeon_uvd_note_usage(rdev); > + > r = radeon_uvd_get_destroy_msg(rdev, > R600_RING_TYPE_UVD_INDEX, handle, ); > if (r) { > -- > 1.8.1.2 >