From: Leo Liu Date: Thu, 9 Feb 2017 15:30:21 +0000 (-0500) Subject: radeon/uvd: clear message buffer when reuse X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c89e771c9ccdcce6c971f07889290382b3deb6b0;p=mesa.git radeon/uvd: clear message buffer when reuse As required by firmware Signed-off-by: Leo Liu Acked-by: Alex Deucher Reviewed-by: Christian König --- diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c index ea614c1dd2a..1d1e40af979 100644 --- a/src/gallium/drivers/radeon/radeon_uvd.c +++ b/src/gallium/drivers/radeon/radeon_uvd.c @@ -157,6 +157,8 @@ static void map_msg_fb_it_buf(struct ruvd_decoder *dec) /* calc buffer offsets */ dec->msg = (struct ruvd_msg *)ptr; + memset(dec->msg, 0, sizeof(*dec->msg)); + dec->fb = (uint32_t *)(ptr + FB_BUFFER_OFFSET); if (have_it(dec)) dec->it = (uint8_t *)(ptr + FB_BUFFER_OFFSET + dec->fb_size); @@ -941,7 +943,6 @@ static void ruvd_destroy(struct pipe_video_codec *decoder) assert(decoder); map_msg_fb_it_buf(dec); - memset(dec->msg, 0, sizeof(*dec->msg)); dec->msg->size = sizeof(*dec->msg); dec->msg->msg_type = RUVD_MSG_DESTROY; dec->msg->stream_handle = dec->stream_handle;