linux/drivers/gpu/drm/lima/lima_ctx.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 OR MIT */
   2/* Copyright 2018-2019 Qiang Yu <yuq825@gmail.com> */
   3
   4#ifndef __LIMA_CTX_H__
   5#define __LIMA_CTX_H__
   6
   7#include <linux/xarray.h>
   8#include <linux/sched.h>
   9
  10#include "lima_device.h"
  11
  12struct lima_ctx {
  13        struct kref refcnt;
  14        struct lima_device *dev;
  15        struct lima_sched_context context[lima_pipe_num];
  16        atomic_t guilty;
  17
  18        /* debug info */
  19        char pname[TASK_COMM_LEN];
  20        pid_t pid;
  21};
  22
  23struct lima_ctx_mgr {
  24        struct mutex lock;
  25        struct xarray handles;
  26};
  27
  28int lima_ctx_create(struct lima_device *dev, struct lima_ctx_mgr *mgr, u32 *id);
  29int lima_ctx_free(struct lima_ctx_mgr *mgr, u32 id);
  30struct lima_ctx *lima_ctx_get(struct lima_ctx_mgr *mgr, u32 id);
  31void lima_ctx_put(struct lima_ctx *ctx);
  32void lima_ctx_mgr_init(struct lima_ctx_mgr *mgr);
  33void lima_ctx_mgr_fini(struct lima_ctx_mgr *mgr);
  34
  35#endif
  36