Lines Matching full:client

24  * This function releases all clients by calling each client's
26 * is responsibe for releaseing all resources including the client
34 struct drm_client_dev *client, *tmp; in drm_client_dev_unregister() local
40 list_for_each_entry_safe(client, tmp, &dev->clientlist, list) { in drm_client_dev_unregister()
41 list_del(&client->list); in drm_client_dev_unregister()
43 * Unregistering consumes and frees the client. in drm_client_dev_unregister()
45 if (client->funcs && client->funcs->unregister) in drm_client_dev_unregister()
46 client->funcs->unregister(client); in drm_client_dev_unregister()
48 drm_client_release(client); in drm_client_dev_unregister()
54 static void drm_client_hotplug(struct drm_client_dev *client) in drm_client_hotplug() argument
56 struct drm_device *dev = client->dev; in drm_client_hotplug()
59 if (!client->funcs || !client->funcs->hotplug) in drm_client_hotplug()
62 if (client->hotplug_failed) in drm_client_hotplug()
65 if (client->suspended) { in drm_client_hotplug()
66 client->hotplug_pending = true; in drm_client_hotplug()
70 client->hotplug_pending = false; in drm_client_hotplug()
71 ret = client->funcs->hotplug(client); in drm_client_hotplug()
72 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_hotplug()
74 client->hotplug_failed = true; in drm_client_hotplug()
88 struct drm_client_dev *client; in drm_client_dev_hotplug() local
99 list_for_each_entry(client, &dev->clientlist, list) in drm_client_dev_hotplug()
100 drm_client_hotplug(client); in drm_client_dev_hotplug()
107 struct drm_client_dev *client; in drm_client_dev_restore() local
114 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_restore()
115 if (!client->funcs || !client->funcs->restore) in drm_client_dev_restore()
118 ret = client->funcs->restore(client, force); in drm_client_dev_restore()
119 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_restore()
126 static int drm_client_suspend(struct drm_client_dev *client) in drm_client_suspend() argument
128 struct drm_device *dev = client->dev; in drm_client_suspend()
131 if (drm_WARN_ON_ONCE(dev, client->suspended)) in drm_client_suspend()
134 if (client->funcs && client->funcs->suspend) in drm_client_suspend()
135 ret = client->funcs->suspend(client); in drm_client_suspend()
136 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_suspend()
138 client->suspended = true; in drm_client_suspend()
145 struct drm_client_dev *client; in drm_client_dev_suspend() local
148 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_suspend()
149 if (!client->suspended) in drm_client_dev_suspend()
150 drm_client_suspend(client); in drm_client_dev_suspend()
156 static int drm_client_resume(struct drm_client_dev *client) in drm_client_resume() argument
158 struct drm_device *dev = client->dev; in drm_client_resume()
161 if (drm_WARN_ON_ONCE(dev, !client->suspended)) in drm_client_resume()
164 if (client->funcs && client->funcs->resume) in drm_client_resume()
165 ret = client->funcs->resume(client); in drm_client_resume()
166 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_resume()
168 client->suspended = false; in drm_client_resume()
170 if (client->hotplug_pending) in drm_client_resume()
171 drm_client_hotplug(client); in drm_client_resume()
178 struct drm_client_dev *client; in drm_client_dev_resume() local
181 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_resume()
182 if (client->suspended) in drm_client_dev_resume()
183 drm_client_resume(client); in drm_client_dev_resume()
195 struct drm_client_dev *client; in drm_client_debugfs_internal_clients() local
198 list_for_each_entry(client, &dev->clientlist, list) in drm_client_debugfs_internal_clients()
199 drm_printf(&p, "%s\n", client->name); in drm_client_debugfs_internal_clients()