blob: 24980f23aab91faea28289d47fe80e68f817f18b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/* SPDX-License-Identifier: MIT */
#ifndef __NVKM_RM_GR_H__
#define __NVKM_RM_GR_H__
#include "engine.h"
#include <core/object.h>
#include <engine/gr.h>
#define R515_GR_MAX_CTXBUFS 9
struct r535_gr_chan {
struct nvkm_object object;
struct r535_gr *gr;
struct nvkm_vmm *vmm;
struct nvkm_chan *chan;
struct nvkm_memory *mem[R515_GR_MAX_CTXBUFS];
struct nvkm_vma *vma[R515_GR_MAX_CTXBUFS];
};
struct r535_gr {
struct nvkm_gr base;
struct {
u16 bufferId;
u32 size;
u8 page;
u8 align;
bool global;
bool init;
bool ro;
} ctxbuf[R515_GR_MAX_CTXBUFS];
int ctxbuf_nr;
struct nvkm_memory *ctxbuf_mem[R515_GR_MAX_CTXBUFS];
struct {
int chid;
struct nvkm_memory *inst;
struct nvkm_vmm *vmm;
struct nvkm_gsp_object chan;
struct nvkm_gsp_object threed;
struct {
struct nvkm_memory *mem[R515_GR_MAX_CTXBUFS];
struct nvkm_vma *vma[R515_GR_MAX_CTXBUFS];
} ctxbuf;
bool enabled;
} scrubber;
};
struct NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO;
void r535_gr_get_ctxbuf_info(struct r535_gr *, int i,
struct NV2080_CTRL_INTERNAL_ENGINE_CONTEXT_BUFFER_INFO *);
#endif
|