Lines Matching full:client

23  * This function releases all clients by calling each client's
25 * is responsibe for releaseing all resources including the client
33 struct drm_client_dev *client, *tmp; in drm_client_dev_unregister() local
39 list_for_each_entry_safe(client, tmp, &dev->clientlist, list) { in drm_client_dev_unregister()
40 list_del(&client->list); in drm_client_dev_unregister()
41 if (client->funcs && client->funcs->unregister) { in drm_client_dev_unregister()
42 client->funcs->unregister(client); in drm_client_dev_unregister()
44 drm_client_release(client); in drm_client_dev_unregister()
45 kfree(client); in drm_client_dev_unregister()
52 static void drm_client_hotplug(struct drm_client_dev *client) in drm_client_hotplug() argument
54 struct drm_device *dev = client->dev; in drm_client_hotplug()
57 if (!client->funcs || !client->funcs->hotplug) in drm_client_hotplug()
60 if (client->hotplug_failed) in drm_client_hotplug()
63 if (client->suspended) { in drm_client_hotplug()
64 client->hotplug_pending = true; in drm_client_hotplug()
68 client->hotplug_pending = false; in drm_client_hotplug()
69 ret = client->funcs->hotplug(client); in drm_client_hotplug()
70 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_hotplug()
72 client->hotplug_failed = true; in drm_client_hotplug()
86 struct drm_client_dev *client; in drm_client_dev_hotplug() local
97 list_for_each_entry(client, &dev->clientlist, list) in drm_client_dev_hotplug()
98 drm_client_hotplug(client); in drm_client_dev_hotplug()
105 struct drm_client_dev *client; in drm_client_dev_restore() local
112 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_restore()
113 if (!client->funcs || !client->funcs->restore) in drm_client_dev_restore()
116 ret = client->funcs->restore(client); in drm_client_dev_restore()
117 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_restore()
124 static int drm_client_suspend(struct drm_client_dev *client, bool holds_console_lock) in drm_client_suspend() argument
126 struct drm_device *dev = client->dev; in drm_client_suspend()
129 if (drm_WARN_ON_ONCE(dev, client->suspended)) in drm_client_suspend()
132 if (client->funcs && client->funcs->suspend) in drm_client_suspend()
133 ret = client->funcs->suspend(client, holds_console_lock); in drm_client_suspend()
134 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_suspend()
136 client->suspended = true; in drm_client_suspend()
143 struct drm_client_dev *client; in drm_client_dev_suspend() local
146 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_suspend()
147 if (!client->suspended) in drm_client_dev_suspend()
148 drm_client_suspend(client, holds_console_lock); in drm_client_dev_suspend()
154 static int drm_client_resume(struct drm_client_dev *client, bool holds_console_lock) in drm_client_resume() argument
156 struct drm_device *dev = client->dev; in drm_client_resume()
159 if (drm_WARN_ON_ONCE(dev, !client->suspended)) in drm_client_resume()
162 if (client->funcs && client->funcs->resume) in drm_client_resume()
163 ret = client->funcs->resume(client, holds_console_lock); in drm_client_resume()
164 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_resume()
166 client->suspended = false; in drm_client_resume()
168 if (client->hotplug_pending) in drm_client_resume()
169 drm_client_hotplug(client); in drm_client_resume()
176 struct drm_client_dev *client; in drm_client_dev_resume() local
179 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_resume()
180 if (client->suspended) in drm_client_dev_resume()
181 drm_client_resume(client, holds_console_lock); in drm_client_dev_resume()
193 struct drm_client_dev *client; in drm_client_debugfs_internal_clients() local
196 list_for_each_entry(client, &dev->clientlist, list) in drm_client_debugfs_internal_clients()
197 drm_printf(&p, "%s\n", client->name); in drm_client_debugfs_internal_clients()