Lines Matching refs:client
83 struct vga_switcheroo_client *client; in vga_switcheroo_enable() local
89 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_enable()
90 if (client->id != -1) in vga_switcheroo_enable()
92 ret = vgasr_priv.handler->get_client_id(client->pdev); in vga_switcheroo_enable()
96 client->id = ret; in vga_switcheroo_enable()
137 struct vga_switcheroo_client *client; in register_client() local
139 client = kzalloc(sizeof(*client), GFP_KERNEL); in register_client()
140 if (!client) in register_client()
143 client->pwr_state = VGA_SWITCHEROO_ON; in register_client()
144 client->pdev = pdev; in register_client()
145 client->ops = ops; in register_client()
146 client->id = id; in register_client()
147 client->active = active; in register_client()
150 list_add_tail(&client->list, &vgasr_priv.clients); in register_client()
151 if (client_is_vga(client)) in register_client()
181 struct vga_switcheroo_client *client; in find_client_from_pci() local
182 list_for_each_entry(client, head, list) in find_client_from_pci()
183 if (client->pdev == pdev) in find_client_from_pci()
184 return client; in find_client_from_pci()
191 struct vga_switcheroo_client *client; in find_client_from_id() local
192 list_for_each_entry(client, head, list) in find_client_from_id()
193 if (client->id == client_id) in find_client_from_id()
194 return client; in find_client_from_id()
201 struct vga_switcheroo_client *client; in find_active_client() local
202 list_for_each_entry(client, head, list) in find_active_client()
203 if (client->active && client_is_vga(client)) in find_active_client()
204 return client; in find_active_client()
210 struct vga_switcheroo_client *client; in vga_switcheroo_get_client_state() local
212 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_get_client_state()
213 if (!client) in vga_switcheroo_get_client_state()
217 return client->pwr_state; in vga_switcheroo_get_client_state()
223 struct vga_switcheroo_client *client; in vga_switcheroo_unregister_client() local
226 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_unregister_client()
227 if (client) { in vga_switcheroo_unregister_client()
228 if (client_is_vga(client)) in vga_switcheroo_unregister_client()
230 list_del(&client->list); in vga_switcheroo_unregister_client()
231 kfree(client); in vga_switcheroo_unregister_client()
245 struct vga_switcheroo_client *client; in vga_switcheroo_client_fb_set() local
248 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_client_fb_set()
249 if (client) in vga_switcheroo_client_fb_set()
250 client->fb_info = info; in vga_switcheroo_client_fb_set()
257 struct vga_switcheroo_client *client; in vga_switcheroo_show() local
260 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_show()
262 client_id(client) == VGA_SWITCHEROO_DIS ? "DIS" : "IGD", in vga_switcheroo_show()
263 client_is_vga(client) ? "" : "-Audio", in vga_switcheroo_show()
264 client->active ? '+' : ' ', in vga_switcheroo_show()
265 client->pwr_state ? "Pwr" : "Off", in vga_switcheroo_show()
266 pci_name(client->pdev)); in vga_switcheroo_show()
278 static int vga_switchon(struct vga_switcheroo_client *client) in vga_switchon() argument
281 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); in vga_switchon()
283 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_ON); in vga_switchon()
284 client->pwr_state = VGA_SWITCHEROO_ON; in vga_switchon()
288 static int vga_switchoff(struct vga_switcheroo_client *client) in vga_switchoff() argument
291 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_OFF); in vga_switchoff()
293 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_OFF); in vga_switchoff()
294 client->pwr_state = VGA_SWITCHEROO_OFF; in vga_switchoff()
300 struct vga_switcheroo_client *client; in set_audio_state() local
302 client = find_client_from_id(&vgasr_priv.clients, id | ID_BIT_AUDIO); in set_audio_state()
303 if (client && client->pwr_state != state) { in set_audio_state()
304 client->ops->set_gpu_state(client->pdev, state); in set_audio_state()
305 client->pwr_state = state; in set_audio_state()
365 struct vga_switcheroo_client *client; in check_can_switch() local
367 list_for_each_entry(client, &vgasr_priv.clients, list) { in check_can_switch()
368 if (!client->ops->can_switch(client->pdev)) { in check_can_switch()
369 printk(KERN_ERR "vga_switcheroo: client %x refused switch\n", client->id); in check_can_switch()
385 struct vga_switcheroo_client *client = NULL; in vga_switcheroo_debugfs_write() local
402 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
403 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
405 set_audio_state(client->id, VGA_SWITCHEROO_OFF); in vga_switcheroo_debugfs_write()
406 if (client->pwr_state == VGA_SWITCHEROO_ON) in vga_switcheroo_debugfs_write()
407 vga_switchoff(client); in vga_switcheroo_debugfs_write()
413 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
414 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
416 if (client->pwr_state == VGA_SWITCHEROO_OFF) in vga_switcheroo_debugfs_write()
417 vga_switchon(client); in vga_switcheroo_debugfs_write()
418 set_audio_state(client->id, VGA_SWITCHEROO_ON); in vga_switcheroo_debugfs_write()
451 client = find_client_from_id(&vgasr_priv.clients, client_id); in vga_switcheroo_debugfs_write()
452 if (!client) in vga_switcheroo_debugfs_write()
462 if (client->active) in vga_switcheroo_debugfs_write()
472 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
476 ret = vga_switchto_stage2(client); in vga_switcheroo_debugfs_write()
481 printk(KERN_INFO "vga_switcheroo: setting delayed switch to client %d\n", client->id); in vga_switcheroo_debugfs_write()
485 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
542 struct vga_switcheroo_client *client; in vga_switcheroo_process_delayed_switch() local
552 client = find_client_from_id(&vgasr_priv.clients, in vga_switcheroo_process_delayed_switch()
554 if (!client || !check_can_switch()) in vga_switcheroo_process_delayed_switch()
557 ret = vga_switchto_stage2(client); in vga_switcheroo_process_delayed_switch()