Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+11 -23
-6
drivers/gpu/drm/i915/i915_dma.c
··· 1351 1351 */ 1352 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 1354 /* Only enable hotplug handling once the fbdev is fully set up. */ 1361 1355 dev_priv->enable_hotplug_processing = true; 1362 1356
+11 -16
drivers/gpu/drm/i915/intel_display.c
··· 10038 10038 outb(SR01, VGA_SR_INDEX); 10039 10039 sr1 = inb(VGA_SR_DATA); 10040 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 10050 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); 10042 10051 udelay(300); 10043 10052 ··· 10054 10045 POSTING_READ(vga_reg); 10055 10046 } 10056 10047 10057 - static void i915_enable_vga_mem(struct drm_device *dev) 10048 + static void i915_enable_vga(struct drm_device *dev) 10058 10049 { 10059 10050 /* Enable VGA memory on Intel HD */ 10060 10051 if (HAS_PCH_SPLIT(dev)) { ··· 10062 10053 outb(inb(VGA_MSR_READ) | VGA_MSR_MEM_EN, VGA_MSR_WRITE); 10063 10054 vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO | 10064 10055 VGA_RSRC_LEGACY_MEM | 10065 - VGA_RSRC_NORMAL_IO | 10066 - VGA_RSRC_NORMAL_MEM); 10067 - vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); 10068 - } 10069 - } 10070 - 10071 - void i915_disable_vga_mem(struct drm_device *dev) 10072 - { 10073 - /* Disable VGA memory on Intel HD */ 10074 - if (HAS_PCH_SPLIT(dev)) { 10075 - vga_get_uninterruptible(dev->pdev, VGA_RSRC_LEGACY_IO); 10076 - outb(inb(VGA_MSR_READ) & ~VGA_MSR_MEM_EN, VGA_MSR_WRITE); 10077 - vga_set_legacy_decoding(dev->pdev, VGA_RSRC_LEGACY_IO | 10078 10056 VGA_RSRC_NORMAL_IO | 10079 10057 VGA_RSRC_NORMAL_MEM); 10080 10058 vga_put(dev->pdev, VGA_RSRC_LEGACY_IO); ··· 10346 10350 if (I915_READ(vga_reg) != VGA_DISP_DISABLE) { 10347 10351 DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); 10348 10352 i915_disable_vga(dev); 10349 - i915_disable_vga_mem(dev); 10350 10353 } 10351 10354 } 10352 10355 ··· 10559 10564 10560 10565 intel_disable_fbc(dev); 10561 10566 10562 - i915_enable_vga_mem(dev); 10567 + i915_enable_vga(dev); 10563 10568 10564 10569 intel_disable_gt_powersave(dev); 10565 10570
-1
drivers/gpu/drm/i915/intel_drv.h
··· 793 793 extern void hsw_pc8_restore_interrupts(struct drm_device *dev); 794 794 extern void intel_aux_display_runtime_get(struct drm_i915_private *dev_priv); 795 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 797 #endif /* __INTEL_DRV_H__ */