Lines Matching refs:client

34 static int drm_client_open(struct drm_client_dev *client)  in drm_client_open()  argument
36 struct drm_device *dev = client->dev; in drm_client_open()
47 client->file = file; in drm_client_open()
52 static void drm_client_close(struct drm_client_dev *client) in drm_client_close() argument
54 struct drm_device *dev = client->dev; in drm_client_close()
57 list_del(&client->file->lhead); in drm_client_close()
60 drm_file_free(client->file); in drm_client_close()
78 int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, in drm_client_init() argument
86 client->dev = dev; in drm_client_init()
87 client->name = name; in drm_client_init()
88 client->funcs = funcs; in drm_client_init()
90 ret = drm_client_modeset_create(client); in drm_client_init()
94 ret = drm_client_open(client); in drm_client_init()
103 drm_client_modeset_free(client); in drm_client_init()
122 void drm_client_register(struct drm_client_dev *client) in drm_client_register() argument
124 struct drm_device *dev = client->dev; in drm_client_register()
128 list_add(&client->list, &dev->clientlist); in drm_client_register()
130 if (client->funcs && client->funcs->hotplug) { in drm_client_register()
141 ret = client->funcs->hotplug(client); in drm_client_register()
163 void drm_client_release(struct drm_client_dev *client) in drm_client_release() argument
165 struct drm_device *dev = client->dev; in drm_client_release()
167 drm_dbg_kms(dev, "%s\n", client->name); in drm_client_release()
169 drm_client_modeset_free(client); in drm_client_release()
170 drm_client_close(client); in drm_client_release()
189 struct drm_client_dev *client, *tmp; in drm_client_dev_unregister() local
195 list_for_each_entry_safe(client, tmp, &dev->clientlist, list) { in drm_client_dev_unregister()
196 list_del(&client->list); in drm_client_dev_unregister()
197 if (client->funcs && client->funcs->unregister) { in drm_client_dev_unregister()
198 client->funcs->unregister(client); in drm_client_dev_unregister()
200 drm_client_release(client); in drm_client_dev_unregister()
201 kfree(client); in drm_client_dev_unregister()
219 struct drm_client_dev *client; in drm_client_dev_hotplug() local
231 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_hotplug()
232 if (!client->funcs || !client->funcs->hotplug) in drm_client_dev_hotplug()
235 if (client->hotplug_failed) in drm_client_dev_hotplug()
238 ret = client->funcs->hotplug(client); in drm_client_dev_hotplug()
239 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_hotplug()
241 client->hotplug_failed = true; in drm_client_dev_hotplug()
249 struct drm_client_dev *client; in drm_client_dev_restore() local
256 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_restore()
257 if (!client->funcs || !client->funcs->restore) in drm_client_dev_restore()
260 ret = client->funcs->restore(client); in drm_client_dev_restore()
261 drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_restore()
279 drm_client_buffer_create(struct drm_client_dev *client, u32 width, u32 height, in drm_client_buffer_create() argument
284 struct drm_device *dev = client->dev; in drm_client_buffer_create()
293 buffer->client = client; in drm_client_buffer_create()
298 ret = drm_mode_create_dumb(dev, &dumb_args, client->file); in drm_client_buffer_create()
302 obj = drm_gem_object_lookup(client->file, dumb_args.handle); in drm_client_buffer_create()
458 ret = drm_mode_rmfb(buffer->client->dev, buffer->fb->base.id, buffer->client->file); in drm_client_buffer_rmfb()
460 drm_err(buffer->client->dev, in drm_client_buffer_rmfb()
470 struct drm_client_dev *client = buffer->client; in drm_client_buffer_addfb() local
480 ret = drm_mode_addfb2(client->dev, &fb_req, client->file); in drm_client_buffer_addfb()
484 buffer->fb = drm_framebuffer_lookup(client->dev, buffer->client->file, fb_req.fb_id); in drm_client_buffer_addfb()
491 strscpy(buffer->fb->comm, client->name, TASK_COMM_LEN); in drm_client_buffer_addfb()
511 drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format) in drm_client_framebuffer_create() argument
517 buffer = drm_client_buffer_create(client, width, height, format, in drm_client_framebuffer_create()
530 drm_mode_destroy_dumb(client->dev, handle, client->file); in drm_client_framebuffer_create()
579 return buffer->fb->funcs->dirty(buffer->fb, buffer->client->file, in drm_client_framebuffer_flush()
583 return buffer->fb->funcs->dirty(buffer->fb, buffer->client->file, in drm_client_framebuffer_flush()
594 struct drm_client_dev *client; in drm_client_debugfs_internal_clients() local
597 list_for_each_entry(client, &dev->clientlist, list) in drm_client_debugfs_internal_clients()
598 drm_printf(&p, "%s\n", client->name); in drm_client_debugfs_internal_clients()