Lines Matching refs:priv

31 gf100_ltc_cbc_clear(struct nvkm_ltc_priv *priv, u32 start, u32 limit)  in gf100_ltc_cbc_clear()  argument
33 nv_wr32(priv, 0x17e8cc, start); in gf100_ltc_cbc_clear()
34 nv_wr32(priv, 0x17e8d0, limit); in gf100_ltc_cbc_clear()
35 nv_wr32(priv, 0x17e8c8, 0x00000004); in gf100_ltc_cbc_clear()
39 gf100_ltc_cbc_wait(struct nvkm_ltc_priv *priv) in gf100_ltc_cbc_wait() argument
42 for (c = 0; c < priv->ltc_nr; c++) { in gf100_ltc_cbc_wait()
43 for (s = 0; s < priv->lts_nr; s++) in gf100_ltc_cbc_wait()
44 nv_wait(priv, 0x1410c8 + c * 0x2000 + s * 0x400, ~0, 0); in gf100_ltc_cbc_wait()
49 gf100_ltc_zbc_clear_color(struct nvkm_ltc_priv *priv, int i, const u32 color[4]) in gf100_ltc_zbc_clear_color() argument
51 nv_mask(priv, 0x17ea44, 0x0000000f, i); in gf100_ltc_zbc_clear_color()
52 nv_wr32(priv, 0x17ea48, color[0]); in gf100_ltc_zbc_clear_color()
53 nv_wr32(priv, 0x17ea4c, color[1]); in gf100_ltc_zbc_clear_color()
54 nv_wr32(priv, 0x17ea50, color[2]); in gf100_ltc_zbc_clear_color()
55 nv_wr32(priv, 0x17ea54, color[3]); in gf100_ltc_zbc_clear_color()
59 gf100_ltc_zbc_clear_depth(struct nvkm_ltc_priv *priv, int i, const u32 depth) in gf100_ltc_zbc_clear_depth() argument
61 nv_mask(priv, 0x17ea44, 0x0000000f, i); in gf100_ltc_zbc_clear_depth()
62 nv_wr32(priv, 0x17ea58, depth); in gf100_ltc_zbc_clear_depth()
84 gf100_ltc_lts_intr(struct nvkm_ltc_priv *priv, int ltc, int lts) in gf100_ltc_lts_intr() argument
87 u32 intr = nv_rd32(priv, base + 0x020); in gf100_ltc_lts_intr()
91 nv_info(priv, "LTC%d_LTS%d:", ltc, lts); in gf100_ltc_lts_intr()
96 nv_wr32(priv, base + 0x020, intr); in gf100_ltc_lts_intr()
102 struct nvkm_ltc_priv *priv = (void *)subdev; in gf100_ltc_intr() local
105 mask = nv_rd32(priv, 0x00017c); in gf100_ltc_intr()
108 for (lts = 0; lts < priv->lts_nr; lts++) in gf100_ltc_intr()
109 gf100_ltc_lts_intr(priv, ltc, lts); in gf100_ltc_intr()
117 struct nvkm_ltc_priv *priv = (void *)object; in gf100_ltc_init() local
118 u32 lpg128 = !(nv_rd32(priv, 0x100c80) & 0x00000001); in gf100_ltc_init()
121 ret = nvkm_ltc_init(priv); in gf100_ltc_init()
125 nv_mask(priv, 0x17e820, 0x00100000, 0x00000000); /* INTR_EN &= ~0x10 */ in gf100_ltc_init()
126 nv_wr32(priv, 0x17e8d8, priv->ltc_nr); in gf100_ltc_init()
127 nv_wr32(priv, 0x17e8d4, priv->tag_base); in gf100_ltc_init()
128 nv_mask(priv, 0x17e8c0, 0x00000002, lpg128 ? 0x00000002 : 0x00000000); in gf100_ltc_init()
136 struct nvkm_ltc_priv *priv = (void *)object; in gf100_ltc_dtor() local
138 nvkm_mm_fini(&priv->tags); in gf100_ltc_dtor()
140 nvkm_mm_free(&pfb->vram, &priv->tag_ram); in gf100_ltc_dtor()
142 nvkm_ltc_destroy(priv); in gf100_ltc_dtor()
148 gf100_ltc_init_tag_ram(struct nvkm_fb *pfb, struct nvkm_ltc_priv *priv) in gf100_ltc_init_tag_ram() argument
155 priv->num_tags = 0; in gf100_ltc_init_tag_ram()
160 priv->num_tags = (pfb->ram->size >> 17) / 4; in gf100_ltc_init_tag_ram()
161 if (priv->num_tags > (1 << 17)) in gf100_ltc_init_tag_ram()
162 priv->num_tags = 1 << 17; /* we have 17 bits in PTE */ in gf100_ltc_init_tag_ram()
163 priv->num_tags = (priv->num_tags + 63) & ~63; /* round up to 64 */ in gf100_ltc_init_tag_ram()
165 tag_align = priv->ltc_nr * 0x800; in gf100_ltc_init_tag_ram()
176 tag_size = (priv->num_tags / 64) * 0x6000 + tag_margin; in gf100_ltc_init_tag_ram()
181 &priv->tag_ram); in gf100_ltc_init_tag_ram()
183 priv->num_tags = 0; in gf100_ltc_init_tag_ram()
185 u64 tag_base = ((u64)priv->tag_ram->offset << 12) + tag_margin; in gf100_ltc_init_tag_ram()
190 priv->tag_base = tag_base; in gf100_ltc_init_tag_ram()
194 ret = nvkm_mm_init(&priv->tags, 0, priv->num_tags, 1); in gf100_ltc_init_tag_ram()
204 struct nvkm_ltc_priv *priv; in gf100_ltc_ctor() local
208 ret = nvkm_ltc_create(parent, engine, oclass, &priv); in gf100_ltc_ctor()
209 *pobject = nv_object(priv); in gf100_ltc_ctor()
213 parts = nv_rd32(priv, 0x022438); in gf100_ltc_ctor()
214 mask = nv_rd32(priv, 0x022554); in gf100_ltc_ctor()
217 priv->ltc_nr++; in gf100_ltc_ctor()
219 priv->lts_nr = nv_rd32(priv, 0x17e8dc) >> 28; in gf100_ltc_ctor()
221 ret = gf100_ltc_init_tag_ram(pfb, priv); in gf100_ltc_ctor()
225 nv_subdev(priv)->intr = gf100_ltc_intr; in gf100_ltc_ctor()