Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 377e91b2 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

drm/i915: Sanitize ->lastclose



With this all the ums nonsense around gem setup/teardown has
disappeared, yay!

Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
parent 87255483
Loading
Loading
Loading
Loading
+2 −15
Original line number Diff line number Diff line
@@ -980,21 +980,8 @@ int i915_driver_open(struct drm_device *dev, struct drm_file *file)
 */
void i915_driver_lastclose(struct drm_device *dev)
{
	struct drm_i915_private *dev_priv = dev->dev_private;

	/* On gen6+ we refuse to init without kms enabled, but then the drm core
	 * goes right around and calls lastclose. Check for this and don't clean
	 * up anything. */
	if (!dev_priv)
		return;

	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
	intel_fbdev_restore_mode(dev);
	vga_switcheroo_process_delayed_switch();
		return;
	}

	i915_gem_lastclose(dev);
}

void i915_driver_preclose(struct drm_device *dev, struct drm_file *file)
+0 −1
Original line number Diff line number Diff line
@@ -2468,7 +2468,6 @@ int __must_check i915_vma_unbind(struct i915_vma *vma);
int i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
void i915_gem_release_all_mmaps(struct drm_i915_private *dev_priv);
void i915_gem_release_mmap(struct drm_i915_gem_object *obj);
void i915_gem_lastclose(struct drm_device *dev);

int i915_gem_obj_prepare_shmem_read(struct drm_i915_gem_object *obj,
				    int *needs_clflush);
+0 −13
Original line number Diff line number Diff line
@@ -4964,19 +4964,6 @@ i915_gem_cleanup_ringbuffer(struct drm_device *dev)
		dev_priv->gt.cleanup_ring(ring);
}

void
i915_gem_lastclose(struct drm_device *dev)
{
	int ret;

	if (drm_core_check_feature(dev, DRIVER_MODESET))
		return;

	ret = i915_gem_suspend(dev);
	if (ret)
		DRM_ERROR("failed to idle hardware: %d\n", ret);
}

static void
init_ring_lists(struct intel_engine_cs *ring)
{