Lines Matching refs:client
85 struct vga_switcheroo_client *client; in vga_switcheroo_enable() local
91 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_enable()
92 if (client->id != -1) in vga_switcheroo_enable()
94 ret = vgasr_priv.handler->get_client_id(client->pdev); in vga_switcheroo_enable()
98 client->id = ret; in vga_switcheroo_enable()
139 struct vga_switcheroo_client *client; in register_client() local
141 client = kzalloc(sizeof(*client), GFP_KERNEL); in register_client()
142 if (!client) in register_client()
145 client->pwr_state = VGA_SWITCHEROO_ON; in register_client()
146 client->pdev = pdev; in register_client()
147 client->ops = ops; in register_client()
148 client->id = id; in register_client()
149 client->active = active; in register_client()
150 client->driver_power_control = driver_power_control; in register_client()
153 list_add_tail(&client->list, &vgasr_priv.clients); in register_client()
154 if (client_is_vga(client)) in register_client()
185 struct vga_switcheroo_client *client; in find_client_from_pci() local
186 list_for_each_entry(client, head, list) in find_client_from_pci()
187 if (client->pdev == pdev) in find_client_from_pci()
188 return client; in find_client_from_pci()
195 struct vga_switcheroo_client *client; in find_client_from_id() local
196 list_for_each_entry(client, head, list) in find_client_from_id()
197 if (client->id == client_id) in find_client_from_id()
198 return client; in find_client_from_id()
205 struct vga_switcheroo_client *client; in find_active_client() local
206 list_for_each_entry(client, head, list) in find_active_client()
207 if (client->active && client_is_vga(client)) in find_active_client()
208 return client; in find_active_client()
214 struct vga_switcheroo_client *client; in vga_switcheroo_get_client_state() local
216 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_get_client_state()
217 if (!client) in vga_switcheroo_get_client_state()
221 return client->pwr_state; in vga_switcheroo_get_client_state()
227 struct vga_switcheroo_client *client; in vga_switcheroo_unregister_client() local
230 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_unregister_client()
231 if (client) { in vga_switcheroo_unregister_client()
232 if (client_is_vga(client)) in vga_switcheroo_unregister_client()
234 list_del(&client->list); in vga_switcheroo_unregister_client()
235 kfree(client); in vga_switcheroo_unregister_client()
249 struct vga_switcheroo_client *client; in vga_switcheroo_client_fb_set() local
252 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_client_fb_set()
253 if (client) in vga_switcheroo_client_fb_set()
254 client->fb_info = info; in vga_switcheroo_client_fb_set()
261 struct vga_switcheroo_client *client; in vga_switcheroo_show() local
264 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_show()
266 client_id(client) == VGA_SWITCHEROO_DIS ? "DIS" : "IGD", in vga_switcheroo_show()
267 client_is_vga(client) ? "" : "-Audio", in vga_switcheroo_show()
268 client->active ? '+' : ' ', in vga_switcheroo_show()
269 client->driver_power_control ? "Dyn" : "", in vga_switcheroo_show()
270 client->pwr_state ? "Pwr" : "Off", in vga_switcheroo_show()
271 pci_name(client->pdev)); in vga_switcheroo_show()
283 static int vga_switchon(struct vga_switcheroo_client *client) in vga_switchon() argument
285 if (client->driver_power_control) in vga_switchon()
288 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); in vga_switchon()
290 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_ON); in vga_switchon()
291 client->pwr_state = VGA_SWITCHEROO_ON; in vga_switchon()
295 static int vga_switchoff(struct vga_switcheroo_client *client) in vga_switchoff() argument
297 if (client->driver_power_control) in vga_switchoff()
300 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_OFF); in vga_switchoff()
302 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_OFF); in vga_switchoff()
303 client->pwr_state = VGA_SWITCHEROO_OFF; in vga_switchoff()
309 struct vga_switcheroo_client *client; in set_audio_state() local
311 client = find_client_from_id(&vgasr_priv.clients, id | ID_BIT_AUDIO); in set_audio_state()
312 if (client && client->pwr_state != state) { in set_audio_state()
313 client->ops->set_gpu_state(client->pdev, state); in set_audio_state()
314 client->pwr_state = state; in set_audio_state()
374 struct vga_switcheroo_client *client; in check_can_switch() local
376 list_for_each_entry(client, &vgasr_priv.clients, list) { in check_can_switch()
377 if (!client->ops->can_switch(client->pdev)) { in check_can_switch()
378 printk(KERN_ERR "vga_switcheroo: client %x refused switch\n", client->id); in check_can_switch()
394 struct vga_switcheroo_client *client = NULL; in vga_switcheroo_debugfs_write() local
411 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
412 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
414 if (client->driver_power_control) in vga_switcheroo_debugfs_write()
416 set_audio_state(client->id, VGA_SWITCHEROO_OFF); in vga_switcheroo_debugfs_write()
417 if (client->pwr_state == VGA_SWITCHEROO_ON) in vga_switcheroo_debugfs_write()
418 vga_switchoff(client); in vga_switcheroo_debugfs_write()
424 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
425 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
427 if (client->driver_power_control) in vga_switcheroo_debugfs_write()
429 if (client->pwr_state == VGA_SWITCHEROO_OFF) in vga_switcheroo_debugfs_write()
430 vga_switchon(client); in vga_switcheroo_debugfs_write()
431 set_audio_state(client->id, VGA_SWITCHEROO_ON); in vga_switcheroo_debugfs_write()
464 client = find_client_from_id(&vgasr_priv.clients, client_id); in vga_switcheroo_debugfs_write()
465 if (!client) in vga_switcheroo_debugfs_write()
475 if (client->active) in vga_switcheroo_debugfs_write()
485 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
489 ret = vga_switchto_stage2(client); in vga_switcheroo_debugfs_write()
494 printk(KERN_INFO "vga_switcheroo: setting delayed switch to client %d\n", client->id); in vga_switcheroo_debugfs_write()
498 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
555 struct vga_switcheroo_client *client; in vga_switcheroo_process_delayed_switch() local
565 client = find_client_from_id(&vgasr_priv.clients, in vga_switcheroo_process_delayed_switch()
567 if (!client || !check_can_switch()) in vga_switcheroo_process_delayed_switch()
570 ret = vga_switchto_stage2(client); in vga_switcheroo_process_delayed_switch()
584 struct vga_switcheroo_client *client; in vga_switcheroo_power_switch() local
589 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_power_switch()
590 if (!client) in vga_switcheroo_power_switch()
593 if (!client->driver_power_control) in vga_switcheroo_power_switch()
596 vgasr_priv.handler->power_state(client->id, state); in vga_switcheroo_power_switch()
603 struct vga_switcheroo_client *client; in vga_switcheroo_set_dynamic_switch() local
605 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_set_dynamic_switch()
606 if (!client) in vga_switcheroo_set_dynamic_switch()
609 if (!client->driver_power_control) in vga_switcheroo_set_dynamic_switch()
612 client->pwr_state = dynamic; in vga_switcheroo_set_dynamic_switch()
613 set_audio_state(client->id, dynamic); in vga_switcheroo_set_dynamic_switch()
673 struct vga_switcheroo_client *client, *found = NULL; in vga_switcheroo_runtime_resume_hdmi_audio() local
677 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_runtime_resume_hdmi_audio()
678 if (PCI_SLOT(client->pdev->devfn) == PCI_SLOT(pdev->devfn) && client_is_vga(client)) { in vga_switcheroo_runtime_resume_hdmi_audio()
679 found = client; in vga_switcheroo_runtime_resume_hdmi_audio()
680 ret = pm_runtime_get_sync(&client->pdev->dev); in vga_switcheroo_runtime_resume_hdmi_audio()