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

Commit e1264ebe authored by Dave Airlie's avatar Dave Airlie
Browse files

Revert "drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done"



This reverts commit 6e1b4fda.

This is part of a revert due to a userspace breakage, better explained in the revert of 1a1a4cbf4906a13c0c377f708df5d94168e7b582.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 23026285
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -1351,12 +1351,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
	 */
	intel_fbdev_initial_config(dev);

	/*
	 * Must do this after fbcon init so that
	 * vgacon_save_screen() works during the handover.
	 */
	i915_disable_vga_mem(dev);

	/* Only enable hotplug handling once the fbdev is fully set up. */
	dev_priv->enable_hotplug_processing = true;

+11 −16
Original line number Diff line number Diff line
@@ -10038,6 +10038,15 @@ static void i915_disable_vga(struct drm_device *dev)
	outb(SR01, VGA_SR_INDEX);
	sr1 = inb(VGA_SR_DATA);
	outb(sr1 | 1<<5, VGA_SR_DATA);

	/* Disable VGA memory on Intel HD */
	if (HAS_PCH_SPLIT(dev)) {
		outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE);
		vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO |
						   VGA_RSRC_NORMAL_IO |
						   VGA_RSRC_NORMAL_MEM);
	}

	vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
	udelay(300);

@@ -10045,7 +10054,7 @@ static void i915_disable_vga(struct drm_device *dev)
	POSTING_READ(vga_reg);
}

static void i915_enable_vga_mem(struct drm_device *dev)
static void i915_enable_vga(struct drm_device *dev)
{
	/* Enable VGA memory on Intel HD */
	if (HAS_PCH_SPLIT(dev)) {
@@ -10059,19 +10068,6 @@ static void i915_enable_vga_mem(struct drm_device *dev)
	}
}

void i915_disable_vga_mem(struct drm_device *dev)
{
	/* Disable VGA memory on Intel HD */
	if (HAS_PCH_SPLIT(dev)) {
		vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO);
		outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE);
		vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO |
						   VGA_RSRC_NORMAL_IO |
						   VGA_RSRC_NORMAL_MEM);
		vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
	}
}

void intel_modeset_init_hw(struct drm_device *dev)
{
	intel_init_power_well(dev);
@@ -10350,7 +10346,6 @@ void i915_redisable_vga(struct drm_device *dev)
	if (I915_READ(vga_reg) != VGA_DISP_DISABLE) {
		DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
		i915_disable_vga(dev);
		i915_disable_vga_mem(dev);
	}
}

@@ -10564,7 +10559,7 @@ void intel_modeset_cleanup(struct drm_device *dev)

	intel_disable_fbc(dev);

	i915_enable_vga_mem(dev);
	i915_enable_vga(dev);

	intel_disable_gt_powersave(dev);

+0 −1
Original line number Diff line number Diff line
@@ -793,6 +793,5 @@ extern void hsw_pc8_disable_interrupts(struct drm_device *dev);
extern void hsw_pc8_restore_interrupts(struct drm_device *dev);
extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv);
extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv);
extern void i915_disable_vga_mem(struct drm_device *dev);

#endif /* __INTEL_DRV_H__ */