Lines Matching refs:dlog
235 static void drm_log_init_client(struct drm_log *dlog) in drm_log_init_client() argument
237 struct drm_client_dev *client = &dlog->client; in drm_log_init_client()
242 dlog->probed = true; in drm_log_init_client()
251 dlog->scanout = kcalloc(max_modeset, sizeof(*dlog->scanout), GFP_KERNEL); in drm_log_init_client()
252 if (!dlog->scanout) in drm_log_init_client()
259 if (drm_log_setup_modeset(client, mode_set, &dlog->scanout[n_modeset])) in drm_log_init_client()
270 dlog->n_scanout = n_modeset; in drm_log_init_client()
275 drm_client_framebuffer_delete(dlog->scanout[i].buffer); in drm_log_init_client()
278 kfree(dlog->scanout); in drm_log_init_client()
279 dlog->scanout = NULL; in drm_log_init_client()
284 struct drm_log *dlog = client_to_drm_log(client); in drm_log_free_scanout() local
287 if (dlog->n_scanout) { in drm_log_free_scanout()
288 for (i = 0; i < dlog->n_scanout; i++) in drm_log_free_scanout()
289 drm_client_framebuffer_delete(dlog->scanout[i].buffer); in drm_log_free_scanout()
290 dlog->n_scanout = 0; in drm_log_free_scanout()
291 kfree(dlog->scanout); in drm_log_free_scanout()
292 dlog->scanout = NULL; in drm_log_free_scanout()
298 struct drm_log *dlog = client_to_drm_log(client); in drm_log_client_unregister() local
301 unregister_console(&dlog->con); in drm_log_client_unregister()
303 mutex_lock(&dlog->lock); in drm_log_client_unregister()
306 mutex_unlock(&dlog->lock); in drm_log_client_unregister()
307 kfree(dlog); in drm_log_client_unregister()
313 struct drm_log *dlog = client_to_drm_log(client); in drm_log_client_hotplug() local
315 mutex_lock(&dlog->lock); in drm_log_client_hotplug()
317 dlog->probed = false; in drm_log_client_hotplug()
318 mutex_unlock(&dlog->lock); in drm_log_client_hotplug()
324 struct drm_log *dlog = client_to_drm_log(client); in drm_log_client_suspend() local
326 console_stop(&dlog->con); in drm_log_client_suspend()
333 struct drm_log *dlog = client_to_drm_log(client); in drm_log_client_resume() local
335 console_start(&dlog->con); in drm_log_client_resume()
350 struct drm_log *dlog = console_to_drm_log(con); in drm_log_write_thread() local
353 if (!dlog->probed) in drm_log_write_thread()
354 drm_log_init_client(dlog); in drm_log_write_thread()
357 if (drm_master_internal_acquire(dlog->client.dev)) { in drm_log_write_thread()
358 drm_master_internal_release(dlog->client.dev); in drm_log_write_thread()
360 for (i = 0; i < dlog->n_scanout; i++) in drm_log_write_thread()
361 drm_log_draw_kmsg_record(&dlog->scanout[i], wctxt->outbuf, wctxt->len); in drm_log_write_thread()
367 struct drm_log *dlog = console_to_drm_log(con); in drm_log_lock() local
369 mutex_lock(&dlog->lock); in drm_log_lock()
375 struct drm_log *dlog = console_to_drm_log(con); in drm_log_unlock() local
378 mutex_unlock(&dlog->lock); in drm_log_unlock()