media: venus: Handle fatal errors during encoding and decoding
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Fri, 23 Apr 2021 09:41:25 +0000 (10:41 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 21 Oct 2021 13:23:15 +0000 (14:23 +0100)
commit3227a8f7cf331ed5be4b6c26339366b8d2d83b09
treea6f6d36141b69c347723ab5f6fbb1dd439eb80b8
parentaa6dcf171ab71910960f53ffcae3c8fa48928a85
media: venus: Handle fatal errors during encoding and decoding

According to stateful decoder docs a fatal failure of decoding
(and encoding) could be recover it by closing the corresponding
file handle and open new one or reinitialize decoding (and encoding)
by stop streaming on both queues. In order to satisfy this
requirement we add a mechanism ins sys_error_handler and
corresponding decoder and encoder drivers to wait for sys_error_done
waitqueue in reqbuf.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Tested-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/qcom/venus/core.c
drivers/media/platform/qcom/venus/core.h
drivers/media/platform/qcom/venus/helpers.c
drivers/media/platform/qcom/venus/vdec.c
drivers/media/platform/qcom/venus/venc.c