root/drivers/gpu/drm/v3d/v3d_fence.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. v3d_fence_create
  2. v3d_fence_get_driver_name
  3. v3d_fence_get_timeline_name

   1 // SPDX-License-Identifier: GPL-2.0+
   2 /* Copyright (C) 2017-2018 Broadcom */
   3 
   4 #include "v3d_drv.h"
   5 
   6 struct dma_fence *v3d_fence_create(struct v3d_dev *v3d, enum v3d_queue queue)
   7 {
   8         struct v3d_fence *fence;
   9 
  10         fence = kzalloc(sizeof(*fence), GFP_KERNEL);
  11         if (!fence)
  12                 return ERR_PTR(-ENOMEM);
  13 
  14         fence->dev = &v3d->drm;
  15         fence->queue = queue;
  16         fence->seqno = ++v3d->queue[queue].emit_seqno;
  17         dma_fence_init(&fence->base, &v3d_fence_ops, &v3d->job_lock,
  18                        v3d->queue[queue].fence_context, fence->seqno);
  19 
  20         return &fence->base;
  21 }
  22 
  23 static const char *v3d_fence_get_driver_name(struct dma_fence *fence)
  24 {
  25         return "v3d";
  26 }
  27 
  28 static const char *v3d_fence_get_timeline_name(struct dma_fence *fence)
  29 {
  30         struct v3d_fence *f = to_v3d_fence(fence);
  31 
  32         switch (f->queue) {
  33         case V3D_BIN:
  34                 return "v3d-bin";
  35         case V3D_RENDER:
  36                 return "v3d-render";
  37         case V3D_TFU:
  38                 return "v3d-tfu";
  39         case V3D_CSD:
  40                 return "v3d-csd";
  41         default:
  42                 return NULL;
  43         }
  44 }
  45 
  46 const struct dma_fence_ops v3d_fence_ops = {
  47         .get_driver_name = v3d_fence_get_driver_name,
  48         .get_timeline_name = v3d_fence_get_timeline_name,
  49 };

/* [<][>][^][v][top][bottom][index][help] */