This source file includes following definitions.
- gk104_ltc_init
- gk104_ltc_new
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include "priv.h"
25
26 static void
27 gk104_ltc_init(struct nvkm_ltc *ltc)
28 {
29 struct nvkm_device *device = ltc->subdev.device;
30 u32 lpg128 = !(nvkm_rd32(device, 0x100c80) & 0x00000001);
31
32 nvkm_wr32(device, 0x17e8d8, ltc->ltc_nr);
33 nvkm_wr32(device, 0x17e000, ltc->ltc_nr);
34 nvkm_wr32(device, 0x17e8d4, ltc->tag_base);
35 nvkm_mask(device, 0x17e8c0, 0x00000002, lpg128 ? 0x00000002 : 0x00000000);
36 }
37
38 static const struct nvkm_ltc_func
39 gk104_ltc = {
40 .oneinit = gf100_ltc_oneinit,
41 .init = gk104_ltc_init,
42 .intr = gf100_ltc_intr,
43 .cbc_clear = gf100_ltc_cbc_clear,
44 .cbc_wait = gf100_ltc_cbc_wait,
45 .zbc = 16,
46 .zbc_clear_color = gf100_ltc_zbc_clear_color,
47 .zbc_clear_depth = gf100_ltc_zbc_clear_depth,
48 .invalidate = gf100_ltc_invalidate,
49 .flush = gf100_ltc_flush,
50 };
51
52 int
53 gk104_ltc_new(struct nvkm_device *device, int index, struct nvkm_ltc **pltc)
54 {
55 return nvkm_ltc_new_(&gk104_ltc, device, index, pltc);
56 }