Lines Matching full:client

33 static int drm_client_open(struct drm_client_dev *client)  in drm_client_open()  argument
35 struct drm_device *dev = client->dev; in drm_client_open()
46 client->file = file; in drm_client_open()
51 static void drm_client_close(struct drm_client_dev *client) in drm_client_close() argument
53 struct drm_device *dev = client->dev; in drm_client_close()
56 list_del(&client->file->lhead); in drm_client_close()
59 drm_file_free(client->file); in drm_client_close()
63 * drm_client_init - Initialise a DRM client
65 * @client: DRM client
66 * @name: Client name
67 * @funcs: DRM client functions (optional)
69 * This initialises the client and opens a &drm_file.
72 * The client is freed when the &drm_device is unregistered. See drm_client_release().
77 int drm_client_init(struct drm_device *dev, struct drm_client_dev *client, in drm_client_init() argument
85 client->dev = dev; in drm_client_init()
86 client->name = name; in drm_client_init()
87 client->funcs = funcs; in drm_client_init()
89 ret = drm_client_modeset_create(client); in drm_client_init()
93 ret = drm_client_open(client); in drm_client_init()
102 drm_client_modeset_free(client); in drm_client_init()
108 * drm_client_register - Register client
109 * @client: DRM client
111 * Add the client to the &drm_device client list to activate its callbacks.
112 * @client must be initialized by a call to drm_client_init(). After
117 * Registering a client generates a hotplug event that allows the client
118 * to set up its display from pre-existing outputs. The client must have
121 void drm_client_register(struct drm_client_dev *client) in drm_client_register() argument
123 struct drm_device *dev = client->dev; in drm_client_register()
127 list_add(&client->list, &dev->clientlist); in drm_client_register()
129 if (client->funcs && client->funcs->hotplug) { in drm_client_register()
132 * display configuration for the client. This step in drm_client_register()
133 * has to be performed *after* registering the client in drm_client_register()
140 ret = client->funcs->hotplug(client); in drm_client_register()
142 drm_dbg_kms(dev, "client hotplug ret=%d\n", ret); in drm_client_register()
149 * drm_client_release - Release DRM client resources
150 * @client: DRM client
160 * The driver has to be unloaded before the client can be unloaded.
162 void drm_client_release(struct drm_client_dev *client) in drm_client_release() argument
164 struct drm_device *dev = client->dev; in drm_client_release()
166 drm_dbg_kms(dev, "%s\n", client->name); in drm_client_release()
168 drm_client_modeset_free(client); in drm_client_release()
169 drm_client_close(client); in drm_client_release()
185 drm_client_buffer_create(struct drm_client_dev *client, u32 width, u32 height, in drm_client_buffer_create() argument
190 struct drm_device *dev = client->dev; in drm_client_buffer_create()
199 buffer->client = client; in drm_client_buffer_create()
204 ret = drm_mode_create_dumb(dev, &dumb_args, client->file); in drm_client_buffer_create()
208 obj = drm_gem_object_lookup(client->file, dumb_args.handle); in drm_client_buffer_create()
227 * drm_client_buffer_vmap_local - Map DRM client buffer into address space
228 * @buffer: DRM client buffer
231 * This function maps a client buffer into kernel address space. If the
234 * Client buffer mappings are not ref'counted. Each call to
240 * other vmap interfaces, you don't need it for the client's vunmap
269 * drm_client_buffer_vunmap_local - Unmap DRM client buffer
270 * @buffer: DRM client buffer
272 * This function removes a client buffer's memory mapping established
287 * drm_client_buffer_vmap - Map DRM client buffer into address space
288 * @buffer: DRM client buffer
291 * This function maps a client buffer into kernel address space. If the
294 * Client buffer mappings are not ref'counted. Each call to
296 * drm_client_buffer_vunmap(); or the client buffer should be mapped
300 * other vmap interfaces, you don't need it for the client's vunmap
338 * drm_client_buffer_vunmap - Unmap DRM client buffer
339 * @buffer: DRM client buffer
341 * This function removes a client buffer's memory mapping. Calling this
364 ret = drm_mode_rmfb(buffer->client->dev, buffer->fb->base.id, buffer->client->file); in drm_client_buffer_rmfb()
366 drm_err(buffer->client->dev, in drm_client_buffer_rmfb()
376 struct drm_client_dev *client = buffer->client; in drm_client_buffer_addfb() local
386 ret = drm_mode_addfb2(client->dev, &fb_req, client->file); in drm_client_buffer_addfb()
390 buffer->fb = drm_framebuffer_lookup(client->dev, buffer->client->file, fb_req.fb_id); in drm_client_buffer_addfb()
397 strscpy(buffer->fb->comm, client->name, TASK_COMM_LEN); in drm_client_buffer_addfb()
403 * drm_client_framebuffer_create - Create a client framebuffer
404 * @client: DRM client
414 * Pointer to a client buffer or an error pointer on failure.
417 drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format) in drm_client_framebuffer_create() argument
423 buffer = drm_client_buffer_create(client, width, height, format, in drm_client_framebuffer_create()
436 drm_mode_destroy_dumb(client->dev, handle, client->file); in drm_client_framebuffer_create()
448 * drm_client_framebuffer_delete - Delete a client framebuffer
449 * @buffer: DRM client buffer (can be NULL)
462 * drm_client_framebuffer_flush - Manually flush client framebuffer
463 * @buffer: DRM client buffer (can be NULL)
485 return buffer->fb->funcs->dirty(buffer->fb, buffer->client->file, in drm_client_framebuffer_flush()
489 return buffer->fb->funcs->dirty(buffer->fb, buffer->client->file, in drm_client_framebuffer_flush()