diff options
| -rw-r--r-- | drivers/gpu/drm/drm_file.c | 24 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_legacy.h | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_legacy_misc.c | 24 |
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 | ||
| 428 | static 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 | |||
| 452 | void drm_lastclose(struct drm_device * dev) | 428 | void 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 | ||
| 139 | void drm_legacy_init_members(struct drm_device *dev); | 139 | void drm_legacy_init_members(struct drm_device *dev); |
| 140 | void drm_legacy_destroy_members(struct drm_device *dev); | 140 | void drm_legacy_destroy_members(struct drm_device *dev); |
| 141 | void drm_legacy_dev_reinit(struct drm_device *dev); | ||
| 141 | 142 | ||
| 142 | void drm_legacy_lock_master_cleanup(struct drm_device *dev, struct drm_master *master); | 143 | void 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 | |||
| 54 | void 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 | } | ||
