Lines Matching full:rnn
21 finddom(struct rnn *rnn, uint32_t regbase) in finddom() argument
23 if (rnndec_checkaddr(rnn->vc, rnn->dom[0], regbase, 0)) in finddom()
24 return rnn->dom[0]; in finddom()
25 return rnn->dom[1]; in finddom()
29 _rnn_init(struct rnn *rnn, int nocolor) in _rnn_init() argument
33 rnn->db = rnn_newdb(); in _rnn_init()
34 rnn->vc_nocolor = rnndec_newcontext(rnn->db); in _rnn_init()
35 rnn->vc_nocolor->colors = &envy_null_colors; in _rnn_init()
37 rnn->vc = rnn->vc_nocolor; in _rnn_init()
39 rnn->vc = rnndec_newcontext(rnn->db); in _rnn_init()
40 rnn->vc->colors = &envy_def_colors; in _rnn_init()
44 struct rnn *
47 struct rnn *rnn = calloc(sizeof(*rnn), 1); in rnn_new() local
49 if (!rnn) in rnn_new()
52 _rnn_init(rnn, nocolor); in rnn_new()
54 return rnn; in rnn_new()
58 init(struct rnn *rnn, char *file, char *domain, char *variant) in init() argument
60 /* prepare rnn stuff for lookup */ in init()
61 rnn_parsefile(rnn->db, file); in init()
62 rnn_prepdb(rnn->db); in init()
63 rnn->dom[0] = rnn_finddomain(rnn->db, domain); in init()
65 rnn->dom[1] = rnn_finddomain(rnn->db, "AXXX"); in init()
67 rnn->dom[1] = rnn->dom[0]; in init()
69 if (!rnn->dom[0] && rnn->dom[1]) { in init()
72 rnn->variant = variant; in init()
74 rnndec_varadd(rnn->vc, "chip", variant); in init()
75 if (rnn->vc != rnn->vc_nocolor) in init()
76 rnndec_varadd(rnn->vc_nocolor, "chip", variant); in init()
77 if (rnn->db->estatus) in init()
78 errx(rnn->db->estatus, "failed to parse register database"); in init()
82 rnn_load_file(struct rnn *rnn, char *file, char *domain) in rnn_load_file() argument
84 init(rnn, file, domain, domain); in rnn_load_file()
88 rnn_load(struct rnn *rnn, const char *gpuname) in rnn_load() argument
91 init(rnn, "adreno/a2xx.xml", "A2XX", "A2XX"); in rnn_load()
93 init(rnn, "adreno/a3xx.xml", "A3XX", "A3XX"); in rnn_load()
95 init(rnn, "adreno/a4xx.xml", "A4XX", "A4XX"); in rnn_load()
97 init(rnn, "adreno/a5xx.xml", "A5XX", "A5XX"); in rnn_load()
99 init(rnn, "adreno/a6xx.xml", "A6XX", "A6XX"); in rnn_load()
101 init(rnn, "adreno/a6xx.xml", "A6XX", "A7XX"); in rnn_load()
106 rnn_regbase(struct rnn *rnn, const char *name) in rnn_regbase() argument
108 uint32_t regbase = rnndec_decodereg(rnn->vc_nocolor, rnn->dom[0], name); in rnn_regbase()
110 regbase = rnndec_decodereg(rnn->vc_nocolor, rnn->dom[1], name); in rnn_regbase()
115 rnn_regname(struct rnn *rnn, uint32_t regbase, int color) in rnn_regname() argument
120 info = rnndec_decodeaddr(color ? rnn->vc : rnn->vc_nocolor, in rnn_regname()
121 finddom(rnn, regbase), regbase, 0); in rnn_regname()
133 rnn_reginfo(struct rnn *rnn, uint32_t regbase) in rnn_reginfo() argument
135 return rnndec_decodeaddr(rnn->vc, finddom(rnn, regbase), regbase, 0); in rnn_reginfo()
148 rnn_enumname(struct rnn *rnn, const char *name, uint32_t val) in rnn_enumname() argument
150 return rnndec_decode_enum(rnn->vc, name, val); in rnn_enumname()
167 rnn_regelem(struct rnn *rnn, const char *name) in rnn_regelem() argument
169 struct rnndelem *elem = regelem(rnn->dom[0], name); in rnn_regelem()
172 return regelem(rnn->dom[1], name); in rnn_regelem()
189 rnn_regoff(struct rnn *rnn, uint32_t offset) in rnn_regoff() argument
191 struct rnndelem *elem = regoff(rnn->dom[0], offset); in rnn_regoff()
194 return regoff(rnn->dom[1], offset); in rnn_regoff()
198 rnn_decodelem(struct rnn *rnn, struct rnntypeinfo *info, uint64_t regval, in rnn_decodelem() argument