Change-Id: Ibe77f213560846ec12901e366129d9368750b7ba
Signed-off-by: Chunming Zhou <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 ++++++
 include/uapi/drm/amdgpu_drm.h          | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 6c0ea9a..a2fbdaa 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -1233,6 +1233,12 @@ static struct dma_fence *amdgpu_cs_get_fence(struct 
amdgpu_device *adev,
        struct dma_fence *fence;
        int r;
 
+       if (user->sf_fd > 0) {
+               struct dma_fence *fence = sync_file_get_fence(user->sf_fd);
+
+               WARN_ONCE(fence, "get fence failed from syncfile fd!");
+               return fence;
+       }
        ctx = amdgpu_ctx_get(filp->driver_priv, user->ctx_id);
        if (ctx == NULL)
                return ERR_PTR(-EINVAL);
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
index ce110d9..cf3fb62 100644
--- a/include/uapi/drm/amdgpu_drm.h
+++ b/include/uapi/drm/amdgpu_drm.h
@@ -419,6 +419,8 @@ struct drm_amdgpu_fence {
        __u32 ip_instance;
        __u32 ring;
        __u64 seq_no;
+       int32_t sf_fd;
+       int32_t _pad;
 };
 
 struct drm_amdgpu_wait_fences_in {
-- 
1.9.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to