summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/lima/lima_gem.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-04-24 10:12:34 +1000
committerDave Airlie <airlied@redhat.com>2019-04-24 10:12:50 +1000
commit8d8f6f704495b1135ef77b7860d833fda97ea841 (patch)
tree459c4abf0d5e908f8107caa0a9e174d274e62bb3 /drivers/gpu/drm/lima/lima_gem.c
parentb1c4f7feada5a5cf4e13db1631fb4784b1ddcb31 (diff)
parentdebcd8f954be2b1f643e76b2400bc7c3d12b4594 (diff)
downloadtalos-op-linux-8d8f6f704495b1135ef77b7860d833fda97ea841.tar.gz
talos-op-linux-8d8f6f704495b1135ef77b7860d833fda97ea841.zip
Merge tag 'drm-misc-next-2019-04-18' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for v5.2: UAPI Changes: - Document which feature flags belong to which command in virtio_gpu.h - Make the FB_DAMAGE_CLIPS available for atomic userspace only, it's useless for legacy. Cross-subsystem Changes: - Add device tree bindings for lg,acx467akm-7 panel and ST-Ericsson Multi Channel Display Engine MCDE - Add parameters to the device tree bindings for tfp410 - iommu/io-pgtable: Add ARM Mali midgard MMU page table format - dma-buf: Only do a 64-bits seqno compare when driver explicitly asks for it, else wraparound. - Use the 64-bits compare for dma-fence-chains Core Changes: - Make the fb conversion functions use __iomem dst. - Rename drm_client_add to drm_client_register - Move intel_fb_initial_config to core. - Add a drm_gem_objects_lookup helper - Add drm_gem_fence_array helpers, and use it in lima. - Add drm_format_helper.c to kerneldoc. Driver Changes: - Add panfrost driver for mali midgard/bitfrost. - Converts bochs to use the simple display type. - Small fixes to sun4i, tinydrm, ti-fp410. - Fid aspeed's Kconfig options. - Make some symbols/functions static in lima, sun4i and meson. - Add a driver for the lg,acx467akm-7 panel. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/737ad994-213d-45b5-207a-b99d795acd21@linux.intel.com
Diffstat (limited to 'drivers/gpu/drm/lima/lima_gem.c')
-rw-r--r--drivers/gpu/drm/lima/lima_gem.c37
1 files changed, 2 insertions, 35 deletions
diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_gem.c
index 1d69498bc17e..477c0f766663 100644
--- a/drivers/gpu/drm/lima/lima_gem.c
+++ b/drivers/gpu/drm/lima/lima_gem.c
@@ -145,40 +145,7 @@ static int lima_gem_sync_bo(struct lima_sched_task *task, struct lima_bo *bo,
if (explicit)
return 0;
- /* implicit sync use bo fence in resv obj */
- if (write) {
- unsigned nr_fences;
- struct dma_fence **fences;
- int i;
-
- err = reservation_object_get_fences_rcu(
- bo->gem.resv, NULL, &nr_fences, &fences);
- if (err || !nr_fences)
- return err;
-
- for (i = 0; i < nr_fences; i++) {
- err = lima_sched_task_add_dep(task, fences[i]);
- if (err)
- break;
- }
-
- /* for error case free remaining fences */
- for ( ; i < nr_fences; i++)
- dma_fence_put(fences[i]);
-
- kfree(fences);
- } else {
- struct dma_fence *fence;
-
- fence = reservation_object_get_excl_rcu(bo->gem.resv);
- if (fence) {
- err = lima_sched_task_add_dep(task, fence);
- if (err)
- dma_fence_put(fence);
- }
- }
-
- return err;
+ return drm_gem_fence_array_add_implicit(&task->deps, &bo->gem, write);
}
static int lima_gem_lock_bos(struct lima_bo **bos, u32 nr_bos,
@@ -251,7 +218,7 @@ static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)
if (err)
return err;
- err = lima_sched_task_add_dep(submit->task, fence);
+ err = drm_gem_fence_array_add(&submit->task->deps, fence);
if (err) {
dma_fence_put(fence);
return err;
OpenPOWER on IntegriCloud