brintos

brintos / linux-shallow public Read only

0
0
Text · 847 B · c313aea Raw
31 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVKM_SW_CHAN_H__3#define __NVKM_SW_CHAN_H__4#define nvkm_sw_chan(p) container_of((p), struct nvkm_sw_chan, object)5#include <core/object.h>6#include <core/event.h>7 8#include "priv.h"9 10struct nvkm_sw_chan {11	const struct nvkm_sw_chan_func *func;12	struct nvkm_object object;13	struct nvkm_sw *sw;14	struct nvkm_chan *fifo;15	struct list_head head;16 17#define NVKM_SW_CHAN_EVENT_PAGE_FLIP BIT(0)18	struct nvkm_event event;19};20 21struct nvkm_sw_chan_func {22	void *(*dtor)(struct nvkm_sw_chan *);23	bool (*mthd)(struct nvkm_sw_chan *, int subc, u32 mthd, u32 data);24};25 26int nvkm_sw_chan_ctor(const struct nvkm_sw_chan_func *, struct nvkm_sw *,27		      struct nvkm_chan *, const struct nvkm_oclass *,28		      struct nvkm_sw_chan *);29bool nvkm_sw_chan_mthd(struct nvkm_sw_chan *, int subc, u32 mthd, u32 data);30#endif31