Lines Matching refs:vgasr_priv

47 struct vgasr_priv {  struct
67 static int vga_switcheroo_debugfs_init(struct vgasr_priv *priv); argument
68 static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv);
71 static struct vgasr_priv vgasr_priv = { variable
72 .clients = LIST_HEAD_INIT(vgasr_priv.clients),
78 return !vgasr_priv.active && in vga_switcheroo_ready()
79 vgasr_priv.registered_clients == 2 && vgasr_priv.handler; in vga_switcheroo_ready()
88 if (vgasr_priv.handler->init) in vga_switcheroo_enable()
89 vgasr_priv.handler->init(); in vga_switcheroo_enable()
91 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_enable()
94 ret = vgasr_priv.handler->get_client_id(client->pdev); in vga_switcheroo_enable()
100 vga_switcheroo_debugfs_init(&vgasr_priv); in vga_switcheroo_enable()
101 vgasr_priv.active = true; in vga_switcheroo_enable()
107 if (vgasr_priv.handler) { in vga_switcheroo_register_handler()
112 vgasr_priv.handler = handler; in vga_switcheroo_register_handler()
125 vgasr_priv.handler = NULL; in vga_switcheroo_unregister_handler()
126 if (vgasr_priv.active) { in vga_switcheroo_unregister_handler()
128 vga_switcheroo_debugfs_fini(&vgasr_priv); in vga_switcheroo_unregister_handler()
129 vgasr_priv.active = false; in vga_switcheroo_unregister_handler()
153 list_add_tail(&client->list, &vgasr_priv.clients); in register_client()
155 vgasr_priv.registered_clients++; in register_client()
216 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_get_client_state()
219 if (!vgasr_priv.active) in vga_switcheroo_get_client_state()
230 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_unregister_client()
233 vgasr_priv.registered_clients--; in vga_switcheroo_unregister_client()
237 if (vgasr_priv.active && vgasr_priv.registered_clients < 2) { in vga_switcheroo_unregister_client()
239 vga_switcheroo_debugfs_fini(&vgasr_priv); in vga_switcheroo_unregister_client()
240 vgasr_priv.active = false; in vga_switcheroo_unregister_client()
252 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_client_fb_set()
264 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_show()
287 if (vgasr_priv.handler->power_state) in vga_switchon()
288 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); in vga_switchon()
301 if (vgasr_priv.handler->power_state) in vga_switchoff()
302 vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_OFF); in vga_switchoff()
311 client = find_client_from_id(&vgasr_priv.clients, id | ID_BIT_AUDIO); in set_audio_state()
323 active = find_active_client(&vgasr_priv.clients); in vga_switchto_stage1()
340 active = find_active_client(&vgasr_priv.clients); in vga_switchto_stage2()
356 ret = vgasr_priv.handler->switchto(new_client->id); in vga_switchto_stage2()
376 list_for_each_entry(client, &vgasr_priv.clients, list) { in check_can_switch()
404 if (!vgasr_priv.active) { in vga_switcheroo_debugfs_write()
411 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
424 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_debugfs_write()
464 client = find_client_from_id(&vgasr_priv.clients, client_id); in vga_switcheroo_debugfs_write()
468 vgasr_priv.delayed_switch_active = false; in vga_switcheroo_debugfs_write()
471 ret = vgasr_priv.handler->switchto(client_id); in vga_switcheroo_debugfs_write()
495 vgasr_priv.delayed_switch_active = true; in vga_switcheroo_debugfs_write()
496 vgasr_priv.delayed_client_id = client_id; in vga_switcheroo_debugfs_write()
517 static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv) in vga_switcheroo_debugfs_fini()
529 static int vga_switcheroo_debugfs_init(struct vgasr_priv *priv) in vga_switcheroo_debugfs_init()
560 if (!vgasr_priv.delayed_switch_active) in vga_switcheroo_process_delayed_switch()
563 …printk(KERN_INFO "vga_switcheroo: processing delayed switch to %d\n", vgasr_priv.delayed_client_id… in vga_switcheroo_process_delayed_switch()
565 client = find_client_from_id(&vgasr_priv.clients, in vga_switcheroo_process_delayed_switch()
566 vgasr_priv.delayed_client_id); in vga_switcheroo_process_delayed_switch()
574 vgasr_priv.delayed_switch_active = false; in vga_switcheroo_process_delayed_switch()
586 if (!vgasr_priv.handler->power_state) in vga_switcheroo_power_switch()
589 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_power_switch()
596 vgasr_priv.handler->power_state(client->id, state); in vga_switcheroo_power_switch()
605 client = find_client_from_pci(&vgasr_priv.clients, pdev); in vga_switcheroo_set_dynamic_switch()
626 if (vgasr_priv.handler->switchto) in vga_switcheroo_runtime_suspend()
627 vgasr_priv.handler->switchto(VGA_SWITCHEROO_IGD); in vga_switcheroo_runtime_suspend()
677 list_for_each_entry(client, &vgasr_priv.clients, list) { in vga_switcheroo_runtime_resume_hdmi_audio()