]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
later patch is now applied
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Oct 2014 00:08:55 +0000 (17:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Oct 2014 00:08:55 +0000 (17:08 -0700)
later/x86-ia64-move-efi_fb-vga_default_device-initialization-to-pci_vga_fixup.patch [deleted file]

diff --git a/later/x86-ia64-move-efi_fb-vga_default_device-initialization-to-pci_vga_fixup.patch b/later/x86-ia64-move-efi_fb-vga_default_device-initialization-to-pci_vga_fixup.patch
deleted file mode 100644 (file)
index 7dfcd79..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-From 20cde694027e7477cc532833e38ab9fcaa83fb64 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bruno=20Pr=C3=A9mont?= <bonbons@linux-vserver.org>
-Date: Wed, 25 Jun 2014 00:55:01 +0200
-Subject: x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: =?UTF-8?q?Bruno=20Pr=C3=A9mont?= <bonbons@linux-vserver.org>
-
-commit 20cde694027e7477cc532833e38ab9fcaa83fb64 upstream.
-
-Commit b4aa0163056b ("efifb: Implement vga_default_device() (v2)") added
-efifb vga_default_device() so EFI systems that do not load shadow VBIOS or
-setup VGA get proper value for boot_vga PCI sysfs attribute on the
-corresponding PCI device.
-
-Xorg doesn't detect devices when boot_vga=0, e.g., on some EFI systems such
-as MacBookAir2,1.  Xorg detects the GPU and finds the DRI device but then
-bails out with "no devices detected".
-
-Note: When vga_default_device() is set boot_vga PCI sysfs attribute
-reflects its state.  When unset this attribute is 1 whenever
-IORESOURCE_ROM_SHADOW flag is set.
-
-With introduction of sysfb/simplefb/simpledrm efifb is getting obsolete
-while having native drivers for the GPU also makes selecting sysfb/efifb
-optional.
-
-Remove the efifb implementation of vga_default_device() and initialize
-vgaarb's vga_default_device() with the PCI GPU that matches boot
-screen_info in pci_fixup_video().
-
-[bhelgaas: remove unused "dev" in efifb_setup()]
-Fixes: b4aa0163056b ("efifb: Implement vga_default_device() (v2)")
-Tested-by: Anibal Francisco Martinez Cortina <linuxkid.zeuz@gmail.com>
-Signed-off-by: Bruno PrĂ©mont <bonbons@linux-vserver.org>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Acked-by: Matthew Garrett <matthew.garrett@nebula.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/ia64/pci/fixup.c       |   22 ++++++++++++++++++++++
- arch/x86/include/asm/vga.h  |    6 ------
- arch/x86/pci/fixup.c        |   21 +++++++++++++++++++++
- drivers/video/fbdev/efifb.c |   39 ---------------------------------------
- 4 files changed, 43 insertions(+), 45 deletions(-)
-
---- a/arch/ia64/pci/fixup.c
-+++ b/arch/ia64/pci/fixup.c
-@@ -6,6 +6,7 @@
- #include <linux/pci.h>
- #include <linux/init.h>
- #include <linux/vgaarb.h>
-+#include <linux/screen_info.h>
- #include <asm/machvec.h>
-@@ -37,6 +38,27 @@ static void pci_fixup_video(struct pci_d
-               return;
-       /* Maybe, this machine supports legacy memory map. */
-+      if (!vga_default_device()) {
-+              resource_size_t start, end;
-+              int i;
-+
-+              /* Does firmware framebuffer belong to us? */
-+              for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-+                      if (!(pci_resource_flags(pdev, i) & IORESOURCE_MEM))
-+                              continue;
-+
-+                      start = pci_resource_start(pdev, i);
-+                      end  = pci_resource_end(pdev, i);
-+
-+                      if (!start || !end)
-+                              continue;
-+
-+                      if (screen_info.lfb_base >= start &&
-+                          (screen_info.lfb_base + screen_info.lfb_size) < end)
-+                              vga_set_default_device(pdev);
-+              }
-+      }
-+
-       /* Is VGA routed to us? */
-       bus = pdev->bus;
-       while (bus) {
---- a/arch/x86/include/asm/vga.h
-+++ b/arch/x86/include/asm/vga.h
-@@ -17,10 +17,4 @@
- #define vga_readb(x) (*(x))
- #define vga_writeb(x, y) (*(y) = (x))
--#ifdef CONFIG_FB_EFI
--#define __ARCH_HAS_VGA_DEFAULT_DEVICE
--extern struct pci_dev *vga_default_device(void);
--extern void vga_set_default_device(struct pci_dev *pdev);
--#endif
--
- #endif /* _ASM_X86_VGA_H */
---- a/arch/x86/pci/fixup.c
-+++ b/arch/x86/pci/fixup.c
-@@ -326,6 +326,27 @@ static void pci_fixup_video(struct pci_d
-       struct pci_bus *bus;
-       u16 config;
-+      if (!vga_default_device()) {
-+              resource_size_t start, end;
-+              int i;
-+
-+              /* Does firmware framebuffer belong to us? */
-+              for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-+                      if (!(pci_resource_flags(pdev, i) & IORESOURCE_MEM))
-+                              continue;
-+
-+                      start = pci_resource_start(pdev, i);
-+                      end  = pci_resource_end(pdev, i);
-+
-+                      if (!start || !end)
-+                              continue;
-+
-+                      if (screen_info.lfb_base >= start &&
-+                          (screen_info.lfb_base + screen_info.lfb_size) < end)
-+                              vga_set_default_device(pdev);
-+              }
-+      }
-+
-       /* Is VGA routed to us? */
-       bus = pdev->bus;
-       while (bus) {
---- a/drivers/video/fbdev/efifb.c
-+++ b/drivers/video/fbdev/efifb.c
-@@ -19,8 +19,6 @@
- static bool request_mem_succeeded = false;
--static struct pci_dev *default_vga;
--
- static struct fb_var_screeninfo efifb_defined = {
-       .activate               = FB_ACTIVATE_NOW,
-       .height                 = -1,
-@@ -84,23 +82,10 @@ static struct fb_ops efifb_ops = {
-       .fb_imageblit   = cfb_imageblit,
- };
--struct pci_dev *vga_default_device(void)
--{
--      return default_vga;
--}
--
--EXPORT_SYMBOL_GPL(vga_default_device);
--
--void vga_set_default_device(struct pci_dev *pdev)
--{
--      default_vga = pdev;
--}
--
- static int efifb_setup(char *options)
- {
-       char *this_opt;
-       int i;
--      struct pci_dev *dev = NULL;
-       if (options && *options) {
-               while ((this_opt = strsep(&options, ",")) != NULL) {
-@@ -126,30 +111,6 @@ static int efifb_setup(char *options)
-               }
-       }
--      for_each_pci_dev(dev) {
--              int i;
--
--              if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
--                      continue;
--
--              for (i=0; i < DEVICE_COUNT_RESOURCE; i++) {
--                      resource_size_t start, end;
--
--                      if (!(pci_resource_flags(dev, i) & IORESOURCE_MEM))
--                              continue;
--
--                      start = pci_resource_start(dev, i);
--                      end  = pci_resource_end(dev, i);
--
--                      if (!start || !end)
--                              continue;
--
--                      if (screen_info.lfb_base >= start &&
--                          (screen_info.lfb_base + screen_info.lfb_size) < end)
--                              default_vga = dev;
--              }
--      }
--
-       return 0;
- }