Lines Matching refs:volt

31 nvkm_volt_get(struct nvkm_volt *volt)  in nvkm_volt_get()  argument
35 if (volt->func->volt_get) in nvkm_volt_get()
36 return volt->func->volt_get(volt); in nvkm_volt_get()
38 ret = volt->func->vid_get(volt); in nvkm_volt_get()
40 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_get()
41 if (volt->vid[i].vid == ret) in nvkm_volt_get()
42 return volt->vid[i].uv; in nvkm_volt_get()
50 nvkm_volt_set(struct nvkm_volt *volt, u32 uv) in nvkm_volt_set() argument
52 struct nvkm_subdev *subdev = &volt->subdev; in nvkm_volt_set()
55 if (volt->func->volt_set) in nvkm_volt_set()
56 return volt->func->volt_set(volt, uv); in nvkm_volt_set()
58 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_set()
59 if (volt->vid[i].uv == uv) { in nvkm_volt_set()
60 ret = volt->func->vid_set(volt, volt->vid[i].vid); in nvkm_volt_set()
69 nvkm_volt_map(struct nvkm_volt *volt, u8 id) in nvkm_volt_map() argument
71 struct nvkm_bios *bios = volt->subdev.device->bios; in nvkm_volt_map()
79 int ret = nvkm_volt_map(volt, info.link); in nvkm_volt_map()
91 nvkm_volt_set_id(struct nvkm_volt *volt, u8 id, int condition) in nvkm_volt_set_id() argument
95 if (volt->func->set_id) in nvkm_volt_set_id()
96 return volt->func->set_id(volt, id, condition); in nvkm_volt_set_id()
98 ret = nvkm_volt_map(volt, id); in nvkm_volt_set_id()
100 int prev = nvkm_volt_get(volt); in nvkm_volt_set_id()
104 ret = nvkm_volt_set(volt, ret); in nvkm_volt_set_id()
113 nvkm_volt_parse_bios(struct nvkm_bios *bios, struct nvkm_volt *volt) in nvkm_volt_parse_bios() argument
126 volt->vid[volt->vid_nr].uv = info.base; in nvkm_volt_parse_bios()
127 volt->vid[volt->vid_nr].vid = i; in nvkm_volt_parse_bios()
128 volt->vid_nr++; in nvkm_volt_parse_bios()
132 volt->vid_mask = info.vidmask; in nvkm_volt_parse_bios()
138 volt->vid[volt->vid_nr].uv = ivid.voltage; in nvkm_volt_parse_bios()
139 volt->vid[volt->vid_nr].vid = ivid.vid; in nvkm_volt_parse_bios()
140 volt->vid_nr++; in nvkm_volt_parse_bios()
143 volt->vid_mask = info.vidmask; in nvkm_volt_parse_bios()
150 struct nvkm_volt *volt = nvkm_volt(subdev); in nvkm_volt_init() local
151 int ret = nvkm_volt_get(volt); in nvkm_volt_init()
175 int index, struct nvkm_volt *volt) in nvkm_volt_ctor() argument
180 nvkm_subdev_ctor(&nvkm_volt, device, index, 0, &volt->subdev); in nvkm_volt_ctor()
181 volt->func = func; in nvkm_volt_ctor()
185 nvkm_volt_parse_bios(bios, volt); in nvkm_volt_ctor()
187 if (volt->vid_nr) { in nvkm_volt_ctor()
188 for (i = 0; i < volt->vid_nr; i++) { in nvkm_volt_ctor()
189 nvkm_debug(&volt->subdev, "VID %02x: %duv\n", in nvkm_volt_ctor()
190 volt->vid[i].vid, volt->vid[i].uv); in nvkm_volt_ctor()