vgasr_priv 170 drivers/gpu/vga/vga_switcheroo.c static void vga_switcheroo_debugfs_init(struct vgasr_priv *priv); vgasr_priv 171 drivers/gpu/vga/vga_switcheroo.c static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv); vgasr_priv 174 drivers/gpu/vga/vga_switcheroo.c static struct vgasr_priv vgasr_priv = { vgasr_priv 175 drivers/gpu/vga/vga_switcheroo.c .clients = LIST_HEAD_INIT(vgasr_priv.clients), vgasr_priv 176 drivers/gpu/vga/vga_switcheroo.c .mux_hw_lock = __MUTEX_INITIALIZER(vgasr_priv.mux_hw_lock), vgasr_priv 182 drivers/gpu/vga/vga_switcheroo.c return !vgasr_priv.active && vgasr_priv 183 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.registered_clients == 2 && vgasr_priv.handler; vgasr_priv 192 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.handler->init) vgasr_priv 193 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler->init(); vgasr_priv 195 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 200 drivers/gpu/vga/vga_switcheroo.c ret = vgasr_priv.handler->get_client_id(client->pdev); vgasr_priv 207 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 212 drivers/gpu/vga/vga_switcheroo.c ret = vgasr_priv.handler->get_client_id(client->vga_dev); vgasr_priv 221 drivers/gpu/vga/vga_switcheroo.c vga_switcheroo_debugfs_init(&vgasr_priv); vgasr_priv 222 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.active = true; vgasr_priv 240 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.handler) { vgasr_priv 245 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler = handler; vgasr_priv 246 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler_flags = handler_flags; vgasr_priv 264 drivers/gpu/vga/vga_switcheroo.c mutex_lock(&vgasr_priv.mux_hw_lock); vgasr_priv 265 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler_flags = 0; vgasr_priv 266 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler = NULL; vgasr_priv 267 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.active) { vgasr_priv 269 drivers/gpu/vga/vga_switcheroo.c vga_switcheroo_debugfs_fini(&vgasr_priv); vgasr_priv 270 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.active = false; vgasr_priv 272 drivers/gpu/vga/vga_switcheroo.c mutex_unlock(&vgasr_priv.mux_hw_lock); vgasr_priv 287 drivers/gpu/vga/vga_switcheroo.c return vgasr_priv.handler_flags; vgasr_priv 313 drivers/gpu/vga/vga_switcheroo.c list_add_tail(&client->list, &vgasr_priv.clients); vgasr_priv 315 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.registered_clients++; vgasr_priv 376 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.active) { vgasr_priv 377 drivers/gpu/vga/vga_switcheroo.c id = vgasr_priv.handler->get_client_id(vga_dev); vgasr_priv 446 drivers/gpu/vga/vga_switcheroo.c !vgasr_priv.handler_flags) vgasr_priv 482 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_pci(&vgasr_priv.clients, pdev); vgasr_priv 503 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_pci(&vgasr_priv.clients, pdev); vgasr_priv 506 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.registered_clients--; vgasr_priv 510 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.active && vgasr_priv.registered_clients < 2) { vgasr_priv 512 drivers/gpu/vga/vga_switcheroo.c vga_switcheroo_debugfs_fini(&vgasr_priv); vgasr_priv 513 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.active = false; vgasr_priv 533 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_pci(&vgasr_priv.clients, pdev); vgasr_priv 563 drivers/gpu/vga/vga_switcheroo.c mutex_lock(&vgasr_priv.mux_hw_lock); vgasr_priv 564 drivers/gpu/vga/vga_switcheroo.c if (!vgasr_priv.handler || !vgasr_priv.handler->switch_ddc) { vgasr_priv 565 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.old_ddc_owner = -ENODEV; vgasr_priv 569 drivers/gpu/vga/vga_switcheroo.c id = vgasr_priv.handler->get_client_id(pdev); vgasr_priv 570 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.old_ddc_owner = vgasr_priv.handler->switch_ddc(id); vgasr_priv 571 drivers/gpu/vga/vga_switcheroo.c return vgasr_priv.old_ddc_owner; vgasr_priv 594 drivers/gpu/vga/vga_switcheroo.c int ret = vgasr_priv.old_ddc_owner; vgasr_priv 596 drivers/gpu/vga/vga_switcheroo.c if (WARN_ON_ONCE(!mutex_is_locked(&vgasr_priv.mux_hw_lock))) vgasr_priv 599 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.old_ddc_owner >= 0) { vgasr_priv 600 drivers/gpu/vga/vga_switcheroo.c id = vgasr_priv.handler->get_client_id(pdev); vgasr_priv 601 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.old_ddc_owner != id) vgasr_priv 602 drivers/gpu/vga/vga_switcheroo.c ret = vgasr_priv.handler->switch_ddc( vgasr_priv 603 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.old_ddc_owner); vgasr_priv 605 drivers/gpu/vga/vga_switcheroo.c mutex_unlock(&vgasr_priv.mux_hw_lock); vgasr_priv 652 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 676 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.handler->power_state) vgasr_priv 677 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_ON); vgasr_priv 690 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.handler->power_state) vgasr_priv 691 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler->power_state(client->id, VGA_SWITCHEROO_OFF); vgasr_priv 701 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_id(&vgasr_priv.clients, id | ID_BIT_AUDIO); vgasr_priv 711 drivers/gpu/vga/vga_switcheroo.c active = find_active_client(&vgasr_priv.clients); vgasr_priv 728 drivers/gpu/vga/vga_switcheroo.c active = find_active_client(&vgasr_priv.clients); vgasr_priv 741 drivers/gpu/vga/vga_switcheroo.c mutex_lock(&vgasr_priv.mux_hw_lock); vgasr_priv 742 drivers/gpu/vga/vga_switcheroo.c ret = vgasr_priv.handler->switchto(new_client->id); vgasr_priv 743 drivers/gpu/vga/vga_switcheroo.c mutex_unlock(&vgasr_priv.mux_hw_lock); vgasr_priv 765 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 793 drivers/gpu/vga/vga_switcheroo.c if (!vgasr_priv.active) { vgasr_priv 800 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 813 drivers/gpu/vga/vga_switcheroo.c list_for_each_entry(client, &vgasr_priv.clients, list) { vgasr_priv 853 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_id(&vgasr_priv.clients, client_id); vgasr_priv 857 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_switch_active = false; vgasr_priv 860 drivers/gpu/vga/vga_switcheroo.c mutex_lock(&vgasr_priv.mux_hw_lock); vgasr_priv 861 drivers/gpu/vga/vga_switcheroo.c ret = vgasr_priv.handler->switchto(client_id); vgasr_priv 862 drivers/gpu/vga/vga_switcheroo.c mutex_unlock(&vgasr_priv.mux_hw_lock); vgasr_priv 886 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_switch_active = true; vgasr_priv 887 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_client_id = client_id; vgasr_priv 908 drivers/gpu/vga/vga_switcheroo.c static void vga_switcheroo_debugfs_fini(struct vgasr_priv *priv) vgasr_priv 914 drivers/gpu/vga/vga_switcheroo.c static void vga_switcheroo_debugfs_init(struct vgasr_priv *priv) vgasr_priv 943 drivers/gpu/vga/vga_switcheroo.c if (!vgasr_priv.delayed_switch_active) vgasr_priv 947 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_client_id); vgasr_priv 949 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_id(&vgasr_priv.clients, vgasr_priv 950 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_client_id); vgasr_priv 958 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.delayed_switch_active = false; vgasr_priv 1000 drivers/gpu/vga/vga_switcheroo.c if (!vgasr_priv.handler->power_state) vgasr_priv 1003 drivers/gpu/vga/vga_switcheroo.c client = find_client_from_pci(&vgasr_priv.clients, pdev); vgasr_priv 1010 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler->power_state(client->id, state); vgasr_priv 1023 drivers/gpu/vga/vga_switcheroo.c if (vgasr_priv.handler->switchto) { vgasr_priv 1024 drivers/gpu/vga/vga_switcheroo.c mutex_lock(&vgasr_priv.mux_hw_lock); vgasr_priv 1025 drivers/gpu/vga/vga_switcheroo.c vgasr_priv.handler->switchto(VGA_SWITCHEROO_IGD); vgasr_priv 1026 drivers/gpu/vga/vga_switcheroo.c mutex_unlock(&vgasr_priv.mux_hw_lock);