mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
video: rockchip: rga3: fix the exception of acquire fence
Modify recognition that acquire_fence has been signaled Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com> Change-Id: Id7d9ba288dae05b8c50ebb2090e3aa7ae8b61671
This commit is contained in:
@@ -536,8 +536,14 @@ static int rga_request_add_acquire_fence_callback(int acquire_fence_fd,
|
||||
ksys_close(acquire_fence_fd);
|
||||
|
||||
ret = rga_dma_fence_get_status(acquire_fence);
|
||||
if (ret != 0)
|
||||
if (ret < 0) {
|
||||
pr_err("%s: Current acquire fence unexpectedly has error status before signal\n",
|
||||
__func__);
|
||||
return ret;
|
||||
} else if (ret > 0) {
|
||||
/* has been signaled */
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Ensure that the request will not be free early when
|
||||
@@ -1069,9 +1075,10 @@ int rga_request_submit(struct rga_request *request)
|
||||
request->acquire_fence_fd, request,
|
||||
rga_request_acquire_fence_signaled_cb);
|
||||
if (ret == 0) {
|
||||
/* acquire fence active */
|
||||
goto export_release_fence_fd;
|
||||
} else if (ret == -ENOENT) {
|
||||
/* has been signaled */
|
||||
} else if (ret > 0) {
|
||||
/* acquire fence has been signaled */
|
||||
goto request_commit;
|
||||
} else {
|
||||
pr_err("Failed to add callback with acquire fence fd[%d]!\n",
|
||||
|
||||
Reference in New Issue
Block a user