Lines Matching refs:client
188 struct vga_switcheroo_client *client; in vga_switcheroo_enable() local
194 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_enable()
195 if (client->id != VGA_SWITCHEROO_UNKNOWN_ID) in vga_switcheroo_enable()
197 ret = vgasr_priv.handler->get_client_id(client->pdev); in vga_switcheroo_enable()
201 client->id = ret; in vga_switcheroo_enable()
278 struct vga_switcheroo_client *client; in register_client() local
280 client = kzalloc(sizeof(*client), GFP_KERNEL); in register_client()
281 if (!client) in register_client()
284 client->pwr_state = VGA_SWITCHEROO_ON; in register_client()
285 client->pdev = pdev; in register_client()
286 client->ops = ops; in register_client()
287 client->id = id; in register_client()
288 client->active = active; in register_client()
289 client->driver_power_control = driver_power_control; in register_client()
292 list_add_tail(&client->list, &vgasr_priv.clients); in register_client()
293 if (client_is_vga(client)) in register_client()
351 struct vga_switcheroo_client *client; in find_client_from_pci() local
353 list_for_each_entry(client, head, list) in find_client_from_pci()
354 if (client->pdev == pdev) in find_client_from_pci()
355 return client; in find_client_from_pci()
363 struct vga_switcheroo_client *client; in find_client_from_id() local
365 list_for_each_entry(client, head, list) in find_client_from_id()
366 if (client->id == client_id) in find_client_from_id()
367 return client; in find_client_from_id()
374 struct vga_switcheroo_client *client; in find_active_client() local
376 list_for_each_entry(client, head, list) in find_active_client()
377 if (client->active) in find_active_client()
378 return client; in find_active_client()
420 struct vga_switcheroo_client *client; in vga_switcheroo_get_client_state() local
424 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_get_client_state()
425 if (!client) in vga_switcheroo_get_client_state()
428 ret = client->pwr_state; in vga_switcheroo_get_client_state()
442 struct vga_switcheroo_client *client; in vga_switcheroo_unregister_client() local
445 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_unregister_client()
446 if (client) { in vga_switcheroo_unregister_client()
447 if (client_is_vga(client)) in vga_switcheroo_unregister_client()
449 list_del(&client->list); in vga_switcheroo_unregister_client()
450 kfree(client); in vga_switcheroo_unregister_client()
472 struct vga_switcheroo_client *client; in vga_switcheroo_client_fb_set() local
475 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_client_fb_set()
476 if (client) in vga_switcheroo_client_fb_set()
477 client->fb_info = info; in vga_switcheroo_client_fb_set()
590 struct vga_switcheroo_client *client; in vga_switcheroo_show() local
594 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_show()
596 client_id(client) == VGA_SWITCHEROO_DIS ? "DIS" : in vga_switcheroo_show()
598 client_is_vga(client) ? "" : "-Audio", in vga_switcheroo_show()
599 client->active ? '+' : ' ', in vga_switcheroo_show()
600 client->driver_power_control ? "Dyn" : "", in vga_switcheroo_show()
601 client->pwr_state ? "Pwr" : "Off", in vga_switcheroo_show()
602 pci_name(client->pdev)); in vga_switcheroo_show()
614 static int vga_switchon(struct vga_switcheroo_client *client) in vga_switchon() argument
616 if (client->driver_power_control) in vga_switchon()
619 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); in vga_switchon()
621 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_ON); in vga_switchon()
622 client->pwr_state = VGA_SWITCHEROO_ON; in vga_switchon()
626 static int vga_switchoff(struct vga_switcheroo_client *client) in vga_switchoff() argument
628 if (client->driver_power_control) in vga_switchoff()
631 client->ops->set_gpu_state(client->pdev, VGA_SWITCHEROO_OFF); in vga_switchoff()
633 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_OFF); in vga_switchoff()
634 client->pwr_state = VGA_SWITCHEROO_OFF; in vga_switchoff()
641 struct vga_switcheroo_client *client; in set_audio_state() local
643 client = find_client_from_id(&vgasr_priv.clients, id | ID_BIT_AUDIO); in set_audio_state()
644 if (client && client->pwr_state != state) { in set_audio_state()
645 client->ops->set_gpu_state(client->pdev, state); in set_audio_state()
646 client->pwr_state = state; in set_audio_state()
709 struct vga_switcheroo_client *client; in check_can_switch() local
711 list_for_each_entry(client, &vgasr_priv.clients, list) { in check_can_switch()
712 if (!client->ops->can_switch(client->pdev)) { in check_can_switch()
713 pr_err("client %x refused switch\n", client->id); in check_can_switch()
729 struct vga_switcheroo_client *client = NULL; in vga_switcheroo_debugfs_write() local
746 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
747 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
749 if (client->driver_power_control) in vga_switcheroo_debugfs_write()
751 set_audio_state(client->id, VGA_SWITCHEROO_OFF); in vga_switcheroo_debugfs_write()
752 if (client->pwr_state == VGA_SWITCHEROO_ON) in vga_switcheroo_debugfs_write()
753 vga_switchoff(client); in vga_switcheroo_debugfs_write()
759 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
760 if (client->active || client_is_audio(client)) in vga_switcheroo_debugfs_write()
762 if (client->driver_power_control) in vga_switcheroo_debugfs_write()
764 if (client->pwr_state == VGA_SWITCHEROO_OFF) in vga_switcheroo_debugfs_write()
765 vga_switchon(client); in vga_switcheroo_debugfs_write()
766 set_audio_state(client->id, VGA_SWITCHEROO_ON); in vga_switcheroo_debugfs_write()
799 client = find_client_from_id(&vgasr_priv.clients, client_id); in vga_switcheroo_debugfs_write()
800 if (!client) in vga_switcheroo_debugfs_write()
812 if (client->active) in vga_switcheroo_debugfs_write()
822 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
826 ret = vga_switchto_stage2(client); in vga_switcheroo_debugfs_write()
831 pr_info("setting delayed switch to client %d\n", client->id); in vga_switcheroo_debugfs_write()
835 ret = vga_switchto_stage1(client); in vga_switcheroo_debugfs_write()
902 struct vga_switcheroo_client *client; in vga_switcheroo_process_delayed_switch() local
913 client = find_client_from_id(&vgasr_priv.clients, in vga_switcheroo_process_delayed_switch()
915 if (!client || !check_can_switch()) in vga_switcheroo_process_delayed_switch()
918 ret = vga_switchto_stage2(client); in vga_switcheroo_process_delayed_switch()
966 struct vga_switcheroo_client *client; in vga_switcheroo_power_switch() local
971 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_power_switch()
972 if (!client) in vga_switcheroo_power_switch()
975 if (!client->driver_power_control) in vga_switcheroo_power_switch()
978 vgasr_priv.handler->power_state(client->id, state); in vga_switcheroo_power_switch()
995 struct vga_switcheroo_client *client; in vga_switcheroo_set_dynamic_switch() local
998 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_set_dynamic_switch()
999 if (!client || !client->driver_power_control) { in vga_switcheroo_set_dynamic_switch()
1004 client->pwr_state = dynamic; in vga_switcheroo_set_dynamic_switch()
1005 set_audio_state(client->id, dynamic); in vga_switcheroo_set_dynamic_switch()
1083 struct vga_switcheroo_client *client; in vga_switcheroo_runtime_resume_hdmi_audio() local
1091 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_runtime_resume_hdmi_audio()
1092 if (PCI_SLOT(client->pdev->devfn) == PCI_SLOT(pdev->devfn) && in vga_switcheroo_runtime_resume_hdmi_audio()
1093 client_is_vga(client)) { in vga_switcheroo_runtime_resume_hdmi_audio()
1094 video_dev = &client->pdev->dev; in vga_switcheroo_runtime_resume_hdmi_audio()