Commit e1264ebe authored by Dave Airlie's avatar Dave Airlie

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
...@@ -1351,12 +1351,6 @@ static int i915_load_modeset_init(struct drm_device *dev) ...@@ -1351,12 +1351,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
*/ */
intel_fbdev_initial_config(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. */ /* Only enable hotplug handling once the fbdev is fully set up. */
dev_priv->enable_hotplug_processing = true; dev_priv->enable_hotplug_processing = true;
......
...@@ -10038,6 +10038,15 @@ static void i915_disable_vga(struct drm_device *dev) ...@@ -10038,6 +10038,15 @@ static void i915_disable_vga(struct drm_device *dev)
outb(SR01, VGA_SR_INDEX); outb(SR01, VGA_SR_INDEX);
sr1 = inb(VGA_SR_DATA); sr1 = inb(VGA_SR_DATA);
outb(sr1 | 1<<5, 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); vga_put(dev->pdev, VGA_RSRC_LEGACY_IO);
udelay(300); udelay(300);
...@@ -10045,7 +10054,7 @@ static void i915_disable_vga(struct drm_device *dev) ...@@ -10045,7 +10054,7 @@ static void i915_disable_vga(struct drm_device *dev)
POSTING_READ(vga_reg); 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 */ /* Enable VGA memory on Intel HD */
if (HAS_PCH_SPLIT(dev)) { if (HAS_PCH_SPLIT(dev)) {
...@@ -10059,19 +10068,6 @@ static void i915_enable_vga_mem(struct drm_device *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) void intel_modeset_init_hw(struct drm_device *dev)
{ {
intel_init_power_well(dev); intel_init_power_well(dev);
...@@ -10350,7 +10346,6 @@ void i915_redisable_vga(struct drm_device *dev) ...@@ -10350,7 +10346,6 @@ void i915_redisable_vga(struct drm_device *dev)
if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { if (I915_READ(vga_reg) != VGA_DISP_DISABLE) {
DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n");
i915_disable_vga(dev); i915_disable_vga(dev);
i915_disable_vga_mem(dev);
} }
} }
...@@ -10564,7 +10559,7 @@ void intel_modeset_cleanup(struct drm_device *dev) ...@@ -10564,7 +10559,7 @@ void intel_modeset_cleanup(struct drm_device *dev)
intel_disable_fbc(dev); intel_disable_fbc(dev);
i915_enable_vga_mem(dev); i915_enable_vga(dev);
intel_disable_gt_powersave(dev); intel_disable_gt_powersave(dev);
......
...@@ -793,6 +793,5 @@ extern void hsw_pc8_disable_interrupts(struct drm_device *dev); ...@@ -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 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_get(struct drm_i915_private *dev_priv);
extern void intel_aux_display_runtime_put(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__ */ #endif /* __INTEL_DRV_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment