diff options
author | Dave Airlie <airlied@redhat.com> | 2013-10-11 01:11:52 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-10-11 01:19:10 -0400 |
commit | e1264ebe9ff48e1b3e1dd11805eec9f5b143ab7c (patch) | |
tree | 1bc0ecad91913306a35009434509d749c5d826ff /drivers/gpu | |
parent | 2302628550ad97ce3281124343816b141da22887 (diff) |
Revert "drm/i915: Delay disabling of VGA memory until vgacon->fbcon handoff is done"
This reverts commit 6e1b4fdad5157bb9e88777d525704aba24389bee.
This is part of a revert due to a userspace breakage, better explained in the revert of 1a1a4cbf4906a13c0c377f708df5d94168e7b582.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 27 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 1 |
3 files changed, 11 insertions, 23 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index c27a21034a5e..52f5ad8037cc 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -1351,12 +1351,6 @@ static int i915_load_modeset_init(struct drm_device *dev) | |||
1351 | */ | 1351 | */ |
1352 | intel_fbdev_initial_config(dev); | 1352 | intel_fbdev_initial_config(dev); |
1353 | 1353 | ||
1354 | /* | ||
1355 | * Must do this after fbcon init so that | ||
1356 | * vgacon_save_screen() works during the handover. | ||
1357 | */ | ||
1358 | i915_disable_vga_mem(dev); | ||
1359 | |||
1360 | /* Only enable hotplug handling once the fbdev is fully set up. */ | 1354 | /* Only enable hotplug handling once the fbdev is fully set up. */ |
1361 | dev_priv->enable_hotplug_processing = true; | 1355 | dev_priv->enable_hotplug_processing = true; |
1362 | 1356 | ||
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index c89abd33124f..aaea3ec811ed 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -10038,6 +10038,15 @@ static void i915_disable_vga(struct drm_device *dev) | |||
10038 | outb(SR01, VGA_SR_INDEX); | 10038 | outb(SR01, VGA_SR_INDEX); |
10039 | sr1 = inb(VGA_SR_DATA); | 10039 | sr1 = inb(VGA_SR_DATA); |
10040 | outb(sr1 | 1<<5, VGA_SR_DATA); | 10040 | outb(sr1 | 1<<5, VGA_SR_DATA); |
10041 | |||
10042 | /* Disable VGA memory on Intel HD */ | ||
10043 | if (HAS_PCH_SPLIT(dev)) { | ||
10044 | outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE); | ||
10045 | vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO | | ||
10046 | VGA_RSRC_NORMAL_IO | | ||
10047 | VGA_RSRC_NORMAL_MEM); | ||
10048 | } | ||
10049 | |||
10041 | vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); | 10050 | vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); |
10042 | udelay(300); | 10051 | udelay(300); |
10043 | 10052 | ||
@@ -10045,7 +10054,7 @@ static void i915_disable_vga(struct drm_device *dev) | |||
10045 | POSTING_READ(vga_reg); | 10054 | POSTING_READ(vga_reg); |
10046 | } | 10055 | } |
10047 | 10056 | ||
10048 | static void i915_enable_vga_mem(struct drm_device *dev) | 10057 | static void i915_enable_vga(struct drm_device *dev) |
10049 | { | 10058 | { |
10050 | /* Enable VGA memory on Intel HD */ | 10059 | /* Enable VGA memory on Intel HD */ |
10051 | if (HAS_PCH_SPLIT(dev)) { | 10060 | if (HAS_PCH_SPLIT(dev)) { |
@@ -10059,19 +10068,6 @@ static void i915_enable_vga_mem(struct drm_device *dev) | |||
10059 | } | 10068 | } |
10060 | } | 10069 | } |
10061 | 10070 | ||
10062 | void i915_disable_vga_mem(struct drm_device *dev) | ||
10063 | { | ||
10064 | /* Disable VGA memory on Intel HD */ | ||
10065 | if (HAS_PCH_SPLIT(dev)) { | ||
10066 | vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO); | ||
10067 | outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE); | ||
10068 | vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO | | ||
10069 | VGA_RSRC_NORMAL_IO | | ||
10070 | VGA_RSRC_NORMAL_MEM); | ||
10071 | vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); | ||
10072 | } | ||
10073 | } | ||
10074 | |||
10075 | void intel_modeset_init_hw(struct drm_device *dev) | 10071 | void intel_modeset_init_hw(struct drm_device *dev) |
10076 | { | 10072 | { |
10077 | intel_init_power_well(dev); | 10073 | intel_init_power_well(dev); |
@@ -10350,7 +10346,6 @@ void i915_redisable_vga(struct drm_device *dev) | |||
10350 | if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { | 10346 | if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { |
10351 | DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); | 10347 | DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); |
10352 | i915_disable_vga(dev); | 10348 | i915_disable_vga(dev); |
10353 | i915_disable_vga_mem(dev); | ||
10354 | } | 10349 | } |
10355 | } | 10350 | } |
10356 | 10351 | ||
@@ -10564,7 +10559,7 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
10564 | 10559 | ||
10565 | intel_disable_fbc(dev); | 10560 | intel_disable_fbc(dev); |
10566 | 10561 | ||
10567 | i915_enable_vga_mem(dev); | 10562 | i915_enable_vga(dev); |
10568 | 10563 | ||
10569 | intel_disable_gt_powersave(dev); | 10564 | intel_disable_gt_powersave(dev); |
10570 | 10565 | ||
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 28cae80495e2..9b7b68fd5d47 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h | |||
@@ -793,6 +793,5 @@ extern void hsw_pc8_disable_interrupts(struct drm_device *dev); | |||
793 | extern void hsw_pc8_restore_interrupts(struct drm_device *dev); | 793 | extern void hsw_pc8_restore_interrupts(struct drm_device *dev); |
794 | extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv); | 794 | extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv); |
795 | extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv); | 795 | extern void intel_aux_display_runtime_put(struct drm_i915_private *dev_priv); |
796 | extern void i915_disable_vga_mem(struct drm_device *dev); | ||
797 | 796 | ||
798 | #endif /* __INTEL_DRV_H__ */ | 797 | #endif /* __INTEL_DRV_H__ */ |