brintos

brintos / linux-shallow public Read only

0
0
Text · 1007 B · 97ead00 Raw
38 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NV50_GR_H__3#define __NV50_GR_H__4#define nv50_gr(p) container_of((p), struct nv50_gr, base)5#include "priv.h"6 7struct nv50_gr {8	struct nvkm_gr base;9	const struct nv50_gr_func *func;10	spinlock_t lock;11	u32 size;12};13 14int nv50_gr_new_(const struct nvkm_gr_func *, struct nvkm_device *, enum nvkm_subdev_type, int,15		 struct nvkm_gr **);16int nv50_gr_init(struct nvkm_gr *);17void nv50_gr_intr(struct nvkm_gr *);18u64 nv50_gr_units(struct nvkm_gr *);19 20int g84_gr_tlb_flush(struct nvkm_gr *);21 22#define nv50_gr_chan(p) container_of((p), struct nv50_gr_chan, object)23#include <core/object.h>24 25struct nv50_gr_chan {26	struct nvkm_object object;27	struct nv50_gr *gr;28};29 30int nv50_gr_chan_new(struct nvkm_gr *, struct nvkm_chan *,31		     const struct nvkm_oclass *, struct nvkm_object **);32 33extern const struct nvkm_object_func nv50_gr_object;34 35int  nv50_grctx_init(struct nvkm_device *, u32 *size);36void nv50_grctx_fill(struct nvkm_device *, struct nvkm_gpuobj *);37#endif38