• Home
  • Raw
  • Download

Lines Matching full:client

35 static int drm_client_open(struct drm_client_dev *client)  in drm_client_open()  argument
37 struct drm_device *dev = client->dev; in drm_client_open()
48 client->file = file; in drm_client_open()
53 static void drm_client_close(struct drm_client_dev *client) in drm_client_close() argument
55 struct drm_device *dev = client->dev; in drm_client_close()
58 list_del(&client->file->lhead); in drm_client_close()
61 drm_file_free(client->file); in drm_client_close()
66 * drm_client_init - Initialise a DRM client
68 * @client: DRM client
69 * @name: Client name
70 * @funcs: DRM client functions (optional)
72 * This initialises the client and opens a &drm_file. Use drm_client_add() to complete the process.
74 * The client is freed when the &drm_device is unregistered. See drm_client_release().
79 int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, in drm_client_init() argument
91 client->dev = dev; in drm_client_init()
92 client->name = name; in drm_client_init()
93 client->funcs = funcs; in drm_client_init()
95 ret = drm_client_open(client); in drm_client_init()
112 * drm_client_add - Add client to the device list
113 * @client: DRM client
115 * Add the client to the &drm_device client list to activate its callbacks.
116 * @client must be initialized by a call to drm_client_init(). After
121 void drm_client_add(struct drm_client_dev *client) in drm_client_add() argument
123 struct drm_device *dev = client->dev; in drm_client_add()
126 list_add(&client->list, &dev->clientlist); in drm_client_add()
132 * drm_client_release - Release DRM client resources
133 * @client: DRM client
143 * The driver has to be unloaded before the client can be unloaded.
145 void drm_client_release(struct drm_client_dev *client) in drm_client_release() argument
147 struct drm_device *dev = client->dev; in drm_client_release()
149 DRM_DEV_DEBUG_KMS(dev->dev, "%s\n", client->name); in drm_client_release()
151 drm_client_close(client); in drm_client_release()
153 if (client->funcs) in drm_client_release()
154 module_put(client->funcs->owner); in drm_client_release()
160 struct drm_client_dev *client, *tmp; in drm_client_dev_unregister() local
166 list_for_each_entry_safe(client, tmp, &dev->clientlist, list) { in drm_client_dev_unregister()
167 list_del(&client->list); in drm_client_dev_unregister()
168 if (client->funcs && client->funcs->unregister) { in drm_client_dev_unregister()
169 client->funcs->unregister(client); in drm_client_dev_unregister()
171 drm_client_release(client); in drm_client_dev_unregister()
172 kfree(client); in drm_client_dev_unregister()
189 struct drm_client_dev *client; in drm_client_dev_hotplug() local
196 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_hotplug()
197 if (!client->funcs || !client->funcs->hotplug) in drm_client_dev_hotplug()
200 ret = client->funcs->hotplug(client); in drm_client_dev_hotplug()
201 DRM_DEV_DEBUG_KMS(dev->dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_hotplug()
209 struct drm_client_dev *client; in drm_client_dev_restore() local
216 list_for_each_entry(client, &dev->clientlist, list) { in drm_client_dev_restore()
217 if (!client->funcs || !client->funcs->restore) in drm_client_dev_restore()
220 ret = client->funcs->restore(client); in drm_client_dev_restore()
221 DRM_DEV_DEBUG_KMS(dev->dev, "%s: ret=%d\n", client->name, ret); in drm_client_dev_restore()
230 struct drm_device *dev = buffer->client->dev; in drm_client_buffer_delete()
239 drm_mode_destroy_dumb(dev, buffer->handle, buffer->client->file); in drm_client_buffer_delete()
245 drm_client_buffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format) in drm_client_buffer_create() argument
248 struct drm_device *dev = client->dev; in drm_client_buffer_create()
258 buffer->client = client; in drm_client_buffer_create()
263 ret = drm_mode_create_dumb(dev, &dumb_args, client->file); in drm_client_buffer_create()
270 obj = drm_gem_object_lookup(client->file, dumb_args.handle); in drm_client_buffer_create()
309 ret = drm_mode_rmfb(buffer->client->dev, buffer->fb->base.id, buffer->client->file); in drm_client_buffer_rmfb()
311 DRM_DEV_ERROR(buffer->client->dev->dev, in drm_client_buffer_rmfb()
320 struct drm_client_dev *client = buffer->client; in drm_client_buffer_addfb() local
333 ret = drm_mode_addfb(client->dev, &fb_req, client->file); in drm_client_buffer_addfb()
337 buffer->fb = drm_framebuffer_lookup(client->dev, buffer->client->file, fb_req.fb_id); in drm_client_buffer_addfb()
344 strscpy(buffer->fb->comm, client->name, TASK_COMM_LEN); in drm_client_buffer_addfb()
350 * drm_client_framebuffer_create - Create a client framebuffer
351 * @client: DRM client
361 * Pointer to a client buffer or an error pointer on failure.
364 drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format) in drm_client_framebuffer_create() argument
369 buffer = drm_client_buffer_create(client, width, height, format); in drm_client_framebuffer_create()
384 * drm_client_framebuffer_delete - Delete a client framebuffer
385 * @buffer: DRM client buffer (can be NULL)
403 struct drm_client_dev *client; in drm_client_debugfs_internal_clients() local
406 list_for_each_entry(client, &dev->clientlist, list) in drm_client_debugfs_internal_clients()
407 drm_printf(&p, "%s\n", client->name); in drm_client_debugfs_internal_clients()