Merge tag 'drm-misc-next-2019-08-19' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 5.4: UAPI Changes: Cross-subsystem Changes: Core Changes: - dma-buf: add reservation_object_fences helper, relax reservation_object_add_shared_fence, remove reservation_object seq number (and then restored) - dma-fence: Shrinkage of the dma_fence structure, Merge dma_fence_signal and dma_fence_signal_locked, Store the timestamp in struct dma_fence in a union with cb_list Driver Changes: - More dt-bindings YAML conversions - More removal of drmP.h includes - dw-hdmi: Support get_eld and various i2s improvements - gm12u320: Few fixes - meson: Global cleanup - panfrost: Few refactors, Support for GPU heap allocations - sun4i: Support for DDC enable GPIO - New panels: TI nspire, NEC NL8048HL11, LG Philips LB035Q02, Sharp LS037V7DW01, Sony ACX565AKM, Toppoly TD028TTEC1 Toppoly TD043MTEA1 Signed-off-by: Dave Airlie <airlied@redhat.com> [airlied: fixup dma_resv rename fallout] From: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190819141923.7l2adietcr2pioct@flea
This commit is contained in:
@@ -700,13 +700,13 @@ void msm_gem_vunmap(struct drm_gem_object *obj, enum msm_gem_lock subclass)
|
||||
int msm_gem_sync_object(struct drm_gem_object *obj,
|
||||
struct msm_fence_context *fctx, bool exclusive)
|
||||
{
|
||||
struct reservation_object_list *fobj;
|
||||
struct dma_resv_list *fobj;
|
||||
struct dma_fence *fence;
|
||||
int i, ret;
|
||||
|
||||
fobj = reservation_object_get_list(obj->resv);
|
||||
fobj = dma_resv_get_list(obj->resv);
|
||||
if (!fobj || (fobj->shared_count == 0)) {
|
||||
fence = reservation_object_get_excl(obj->resv);
|
||||
fence = dma_resv_get_excl(obj->resv);
|
||||
/* don't need to wait on our own fences, since ring is fifo */
|
||||
if (fence && (fence->context != fctx->context)) {
|
||||
ret = dma_fence_wait(fence, true);
|
||||
@@ -720,7 +720,7 @@ int msm_gem_sync_object(struct drm_gem_object *obj,
|
||||
|
||||
for (i = 0; i < fobj->shared_count; i++) {
|
||||
fence = rcu_dereference_protected(fobj->shared[i],
|
||||
reservation_object_held(obj->resv));
|
||||
dma_resv_held(obj->resv));
|
||||
if (fence->context != fctx->context) {
|
||||
ret = dma_fence_wait(fence, true);
|
||||
if (ret)
|
||||
@@ -738,9 +738,9 @@ void msm_gem_move_to_active(struct drm_gem_object *obj,
|
||||
WARN_ON(msm_obj->madv != MSM_MADV_WILLNEED);
|
||||
msm_obj->gpu = gpu;
|
||||
if (exclusive)
|
||||
reservation_object_add_excl_fence(obj->resv, fence);
|
||||
dma_resv_add_excl_fence(obj->resv, fence);
|
||||
else
|
||||
reservation_object_add_shared_fence(obj->resv, fence);
|
||||
dma_resv_add_shared_fence(obj->resv, fence);
|
||||
list_del_init(&msm_obj->mm_list);
|
||||
list_add_tail(&msm_obj->mm_list, &gpu->active_list);
|
||||
}
|
||||
@@ -765,7 +765,7 @@ int msm_gem_cpu_prep(struct drm_gem_object *obj, uint32_t op, ktime_t *timeout)
|
||||
op & MSM_PREP_NOSYNC ? 0 : timeout_to_jiffies(timeout);
|
||||
long ret;
|
||||
|
||||
ret = reservation_object_wait_timeout_rcu(obj->resv, write,
|
||||
ret = dma_resv_wait_timeout_rcu(obj->resv, write,
|
||||
true, remain);
|
||||
if (ret == 0)
|
||||
return remain == 0 ? -EBUSY : -ETIMEDOUT;
|
||||
@@ -797,8 +797,8 @@ static void describe_fence(struct dma_fence *fence, const char *type,
|
||||
void msm_gem_describe(struct drm_gem_object *obj, struct seq_file *m)
|
||||
{
|
||||
struct msm_gem_object *msm_obj = to_msm_bo(obj);
|
||||
struct reservation_object *robj = obj->resv;
|
||||
struct reservation_object_list *fobj;
|
||||
struct dma_resv *robj = obj->resv;
|
||||
struct dma_resv_list *fobj;
|
||||
struct dma_fence *fence;
|
||||
struct msm_gem_vma *vma;
|
||||
uint64_t off = drm_vma_node_start(&obj->vma_node);
|
||||
|
@@ -8,7 +8,7 @@
|
||||
#define __MSM_GEM_H__
|
||||
|
||||
#include <linux/kref.h>
|
||||
#include <linux/reservation.h>
|
||||
#include <linux/dma-resv.h>
|
||||
#include "msm_drv.h"
|
||||
|
||||
/* Additional internal-use only BO flags: */
|
||||
|
@@ -225,7 +225,7 @@ static int submit_fence_sync(struct msm_gem_submit *submit, bool no_implicit)
|
||||
* strange place to call it. OTOH this is a
|
||||
* convenient can-fail point to hook it in.
|
||||
*/
|
||||
ret = reservation_object_reserve_shared(msm_obj->base.resv,
|
||||
ret = dma_resv_reserve_shared(msm_obj->base.resv,
|
||||
1);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Reference in New Issue
Block a user