summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2019-04-22 19:48:13 -0400
committerDave Airlie <airlied@redhat.com>2019-04-23 22:32:33 -0400
commit1fa32cb612a869e576cae489616b0cc286b93f6c (patch)
treeb9d8de36cda1df9496315691330db27df8b9624c
parent8437dd73b37f244863d1d8954a69d8b0eecd3470 (diff)
drm/legacy: move legacy dev reinit into legacy misc
This moves the legacy dev reinit into the legacy misc file. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_file.c24
-rw-r--r--drivers/gpu/drm/drm_legacy.h1
-rw-r--r--drivers/gpu/drm/drm_legacy_misc.c24
3 files changed, 25 insertions, 24 deletions
diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
index 9701469a6e93..263fbef73fe5 100644
--- a/drivers/gpu/drm/drm_file.c
+++ b/drivers/gpu/drm/drm_file.c
@@ -425,30 +425,6 @@ static int drm_open_helper(struct file *filp, struct drm_minor *minor)
425 return 0; 425 return 0;
426} 426}
427 427
428static void drm_legacy_dev_reinit(struct drm_device *dev)
429{
430 if (dev->irq_enabled)
431 drm_irq_uninstall(dev);
432
433 mutex_lock(&dev->struct_mutex);
434
435 drm_legacy_agp_clear(dev);
436
437 drm_legacy_sg_cleanup(dev);
438 drm_legacy_vma_flush(dev);
439 drm_legacy_dma_takedown(dev);
440
441 mutex_unlock(&dev->struct_mutex);
442
443 dev->sigdata.lock = NULL;
444
445 dev->context_flag = 0;
446 dev->last_context = 0;
447 dev->if_version = 0;
448
449 DRM_DEBUG("lastclose completed\n");
450}
451
452void drm_lastclose(struct drm_device * dev) 428void drm_lastclose(struct drm_device * dev)
453{ 429{
454 DRM_DEBUG("\n"); 430 DRM_DEBUG("\n");
diff --git a/drivers/gpu/drm/drm_legacy.h b/drivers/gpu/drm/drm_legacy.h
index 4f6319d2bb03..d7189aa22a48 100644
--- a/drivers/gpu/drm/drm_legacy.h
+++ b/drivers/gpu/drm/drm_legacy.h
@@ -138,6 +138,7 @@ int drm_legacy_sg_free(struct drm_device *dev, void *data,
138 138
139void drm_legacy_init_members(struct drm_device *dev); 139void drm_legacy_init_members(struct drm_device *dev);
140void drm_legacy_destroy_members(struct drm_device *dev); 140void drm_legacy_destroy_members(struct drm_device *dev);
141void drm_legacy_dev_reinit(struct drm_device *dev);
141 142
142void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *master); 143void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *master);
143#endif /* __DRM_LEGACY_H__ */ 144#endif /* __DRM_LEGACY_H__ */
diff --git a/drivers/gpu/drm/drm_legacy_misc.c b/drivers/gpu/drm/drm_legacy_misc.c
index 94973885c913..3616b1691007 100644
--- a/drivers/gpu/drm/drm_legacy_misc.c
+++ b/drivers/gpu/drm/drm_legacy_misc.c
@@ -50,3 +50,27 @@ void drm_legacy_destroy_members(struct drm_device *dev)
50{ 50{
51 mutex_destroy(&dev->ctxlist_mutex); 51 mutex_destroy(&dev->ctxlist_mutex);
52} 52}
53
54void drm_legacy_dev_reinit(struct drm_device *dev)
55{
56 if (dev->irq_enabled)
57 drm_irq_uninstall(dev);
58
59 mutex_lock(&dev->struct_mutex);
60
61 drm_legacy_agp_clear(dev);
62
63 drm_legacy_sg_cleanup(dev);
64 drm_legacy_vma_flush(dev);
65 drm_legacy_dma_takedown(dev);
66
67 mutex_unlock(&dev->struct_mutex);
68
69 dev->sigdata.lock = NULL;
70
71 dev->context_flag = 0;
72 dev->last_context = 0;
73 dev->if_version = 0;
74
75 DRM_DEBUG("lastclose completed\n");
76}