brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · 0884abc Raw
48 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVKM_GR_PRIV_H__3#define __NVKM_GR_PRIV_H__4#define nvkm_gr(p) container_of((p), struct nvkm_gr, engine)5#include <engine/gr.h>6#include <core/enum.h>7struct nvkm_fb_tile;8struct nvkm_chan;9 10int nvkm_gr_ctor(const struct nvkm_gr_func *, struct nvkm_device *, enum nvkm_subdev_type, int,11		 bool enable, struct nvkm_gr *);12 13bool nv04_gr_idle(struct nvkm_gr *);14 15struct nvkm_gr_func {16	void *(*dtor)(struct nvkm_gr *);17	int (*oneinit)(struct nvkm_gr *);18	int (*init)(struct nvkm_gr *);19	int (*fini)(struct nvkm_gr *, bool);20	int (*reset)(struct nvkm_gr *);21	int (*nonstall)(struct nvkm_gr *);22	void (*intr)(struct nvkm_gr *);23	void (*tile)(struct nvkm_gr *, int region, struct nvkm_fb_tile *);24	int (*tlb_flush)(struct nvkm_gr *);25	int (*chan_new)(struct nvkm_gr *, struct nvkm_chan *,26			const struct nvkm_oclass *, struct nvkm_object **);27	int (*object_get)(struct nvkm_gr *, int, struct nvkm_sclass *);28	/* Returns chipset-specific counts of units packed into an u64.29	 */30	u64 (*units)(struct nvkm_gr *);31	bool (*chsw_load)(struct nvkm_gr *);32	struct {33		int (*pause)(struct nvkm_gr *);34		int (*resume)(struct nvkm_gr *);35		u32 (*inst)(struct nvkm_gr *);36	} ctxsw;37	struct nvkm_sclass sclass[];38};39 40extern const struct nvkm_bitfield nv04_gr_nsource[];41extern const struct nvkm_object_func nv04_gr_object;42 43extern const struct nvkm_bitfield nv10_gr_intr_name[];44extern const struct nvkm_bitfield nv10_gr_nstatus[];45 46extern const struct nvkm_enum nv50_data_error_names[];47#endif48