7d7aa2fd92
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>
105 lines
3.6 KiB
Diff
105 lines
3.6 KiB
Diff
From 7e891cb1f9f57c87706b1292f186d65e1640e0e7 Mon Sep 17 00:00:00 2001
|
|
From: Chunming Zhou <david1.zhou@amd.com>
|
|
Date: Thu, 30 Aug 2018 14:48:29 +0800
|
|
Subject: [PATCH] drm: expand drm_syncobj_find_fence to support
|
|
timeline point v2
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
we can fetch timeline point fence after expanded.
|
|
v2: The parameter fence is the result of the function and should come last.
|
|
|
|
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
|
|
Reviewed-by: Christian König <christian.koenig@amd.com>
|
|
Signed-off-by: Christian König <christian.koenig@amd.com>
|
|
Link: https://patchwork.freedesktop.org/patch/246541/
|
|
(cherry picked from commit 0a6730ea27b68c7ac4171c29a816c29d26a9637a)
|
|
Signed-off-by: Eric Anholt <eric@anholt.net>
|
|
---
|
|
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
|
|
drivers/gpu/drm/drm_syncobj.c | 5 +++--
|
|
drivers/gpu/drm/v3d/v3d_gem.c | 4 ++--
|
|
drivers/gpu/drm/vc4/vc4_gem.c | 2 +-
|
|
include/drm/drm_syncobj.h | 2 +-
|
|
5 files changed, 8 insertions(+), 7 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
|
|
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
|
|
@@ -1105,7 +1105,7 @@ static int amdgpu_syncobj_lookup_and_add
|
|
{
|
|
int r;
|
|
struct dma_fence *fence;
|
|
- r = drm_syncobj_find_fence(p->filp, handle, &fence);
|
|
+ r = drm_syncobj_find_fence(p->filp, handle, 0, &fence);
|
|
if (r)
|
|
return r;
|
|
|
|
--- a/drivers/gpu/drm/drm_syncobj.c
|
|
+++ b/drivers/gpu/drm/drm_syncobj.c
|
|
@@ -235,6 +235,7 @@ static int drm_syncobj_assign_null_handl
|
|
* drm_syncobj_find_fence - lookup and reference the fence in a sync object
|
|
* @file_private: drm file private pointer
|
|
* @handle: sync object handle to lookup.
|
|
+ * @point: timeline point
|
|
* @fence: out parameter for the fence
|
|
*
|
|
* This is just a convenience function that combines drm_syncobj_find() and
|
|
@@ -245,7 +246,7 @@ static int drm_syncobj_assign_null_handl
|
|
* dma_fence_put().
|
|
*/
|
|
int drm_syncobj_find_fence(struct drm_file *file_private,
|
|
- u32 handle,
|
|
+ u32 handle, u64 point,
|
|
struct dma_fence **fence)
|
|
{
|
|
struct drm_syncobj *syncobj = drm_syncobj_find(file_private, handle);
|
|
@@ -516,7 +517,7 @@ static int drm_syncobj_export_sync_file(
|
|
if (fd < 0)
|
|
return fd;
|
|
|
|
- ret = drm_syncobj_find_fence(file_private, handle, &fence);
|
|
+ ret = drm_syncobj_find_fence(file_private, handle, 0, &fence);
|
|
if (ret)
|
|
goto err_put_fd;
|
|
|
|
--- a/drivers/gpu/drm/v3d/v3d_gem.c
|
|
+++ b/drivers/gpu/drm/v3d/v3d_gem.c
|
|
@@ -521,12 +521,12 @@ v3d_submit_cl_ioctl(struct drm_device *d
|
|
kref_init(&exec->refcount);
|
|
|
|
ret = drm_syncobj_find_fence(file_priv, args->in_sync_bcl,
|
|
- &exec->bin.in_fence);
|
|
+ 0, &exec->bin.in_fence);
|
|
if (ret == -EINVAL)
|
|
goto fail;
|
|
|
|
ret = drm_syncobj_find_fence(file_priv, args->in_sync_rcl,
|
|
- &exec->render.in_fence);
|
|
+ 0, &exec->render.in_fence);
|
|
if (ret == -EINVAL)
|
|
goto fail;
|
|
|
|
--- a/drivers/gpu/drm/vc4/vc4_gem.c
|
|
+++ b/drivers/gpu/drm/vc4/vc4_gem.c
|
|
@@ -1173,7 +1173,7 @@ vc4_submit_cl_ioctl(struct drm_device *d
|
|
|
|
if (args->in_sync) {
|
|
ret = drm_syncobj_find_fence(file_priv, args->in_sync,
|
|
- &in_fence);
|
|
+ 0, &in_fence);
|
|
if (ret)
|
|
goto fail;
|
|
|
|
--- a/include/drm/drm_syncobj.h
|
|
+++ b/include/drm/drm_syncobj.h
|
|
@@ -139,7 +139,7 @@ void drm_syncobj_remove_callback(struct
|
|
void drm_syncobj_replace_fence(struct drm_syncobj *syncobj,
|
|
struct dma_fence *fence);
|
|
int drm_syncobj_find_fence(struct drm_file *file_private,
|
|
- u32 handle,
|
|
+ u32 handle, u64 point,
|
|
struct dma_fence **fence);
|
|
void drm_syncobj_free(struct kref *kref);
|
|
int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags,
|