Lines Matching refs:volt

30 nvkm_volt_get(struct nvkm_volt *volt)  in nvkm_volt_get()  argument
32 if (volt->vid_get) { in nvkm_volt_get()
33 int ret = volt->vid_get(volt), i; in nvkm_volt_get()
35 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_get()
36 if (volt->vid[i].vid == ret) in nvkm_volt_get()
37 return volt->vid[i].uv; in nvkm_volt_get()
47 nvkm_volt_set(struct nvkm_volt *volt, u32 uv) in nvkm_volt_set() argument
49 if (volt->vid_set) { in nvkm_volt_set()
51 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_set()
52 if (volt->vid[i].uv == uv) { in nvkm_volt_set()
53 ret = volt->vid_set(volt, volt->vid[i].vid); in nvkm_volt_set()
54 nv_debug(volt, "set %duv: %d\n", uv, ret); in nvkm_volt_set()
64 nvkm_volt_map(struct nvkm_volt *volt, u8 id) in nvkm_volt_map() argument
66 struct nvkm_bios *bios = nvkm_bios(volt); in nvkm_volt_map()
74 int ret = nvkm_volt_map(volt, info.link); in nvkm_volt_map()
86 nvkm_volt_set_id(struct nvkm_volt *volt, u8 id, int condition) in nvkm_volt_set_id() argument
88 int ret = nvkm_volt_map(volt, id); in nvkm_volt_set_id()
90 int prev = nvkm_volt_get(volt); in nvkm_volt_set_id()
94 ret = nvkm_volt_set(volt, ret); in nvkm_volt_set_id()
103 nvkm_volt_parse_bios(struct nvkm_bios *bios, struct nvkm_volt *volt) in nvkm_volt_parse_bios() argument
116 volt->vid[volt->vid_nr].uv = info.base; in nvkm_volt_parse_bios()
117 volt->vid[volt->vid_nr].vid = i; in nvkm_volt_parse_bios()
118 volt->vid_nr++; in nvkm_volt_parse_bios()
122 volt->vid_mask = info.vidmask; in nvkm_volt_parse_bios()
128 volt->vid[volt->vid_nr].uv = ivid.voltage; in nvkm_volt_parse_bios()
129 volt->vid[volt->vid_nr].vid = ivid.vid; in nvkm_volt_parse_bios()
130 volt->vid_nr++; in nvkm_volt_parse_bios()
133 volt->vid_mask = info.vidmask; in nvkm_volt_parse_bios()
140 struct nvkm_volt *volt = (void *)object; in _nvkm_volt_init() local
143 ret = nvkm_subdev_init(&volt->base); in _nvkm_volt_init()
147 ret = volt->get(volt); in _nvkm_volt_init()
150 nv_debug(volt, "current voltage unknown\n"); in _nvkm_volt_init()
154 nv_info(volt, "GPU voltage: %duv\n", ret); in _nvkm_volt_init()
161 struct nvkm_volt *volt = (void *)object; in _nvkm_volt_dtor() local
162 nvkm_subdev_destroy(&volt->base); in _nvkm_volt_dtor()
170 struct nvkm_volt *volt; in nvkm_volt_create_() local
175 volt = *pobject; in nvkm_volt_create_()
179 volt->get = nvkm_volt_get; in nvkm_volt_create_()
180 volt->set = nvkm_volt_set; in nvkm_volt_create_()
181 volt->set_id = nvkm_volt_set_id; in nvkm_volt_create_()
185 nvkm_volt_parse_bios(bios, volt); in nvkm_volt_create_()
187 if (volt->vid_nr) { in nvkm_volt_create_()
188 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_create_()
189 nv_debug(volt, "VID %02x: %duv\n", in nvkm_volt_create_()
190 volt->vid[i].vid, volt->vid[i].uv); in nvkm_volt_create_()
196 ret = nvkm_voltgpio_init(volt); in nvkm_volt_create_()
198 volt->vid_get = nvkm_voltgpio_get; in nvkm_volt_create_()
199 volt->vid_set = nvkm_voltgpio_set; in nvkm_volt_create_()