aboutsummaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authorLeah Rowe <info@minifree.org>2016-10-28 17:05:39 +0100
committerLeah Rowe <info@minifree.org>2016-10-28 17:05:39 +0100
commit47118d0bb5f17bd0cf50d118dd00d8187de34ecd (patch)
tree45cc2d94f2f2bb82013fcaf6cd24120908f13e86 /resources
parent69d3ae807110995bc4fa670b4827989313405908 (diff)
downloadlibrebootfr-47118d0bb5f17bd0cf50d118dd00d8187de34ecd.tar.gz
librebootfr-47118d0bb5f17bd0cf50d118dd00d8187de34ecd.zip
delete gm45 hybrid driver patch (what it works around is now fixed upstream)
Diffstat (limited to 'resources')
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_16mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_4mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_8mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_16mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_4mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch601
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_16mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_4mb/reused.list1
-rw-r--r--resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_8mb/reused.list1
9 files changed, 0 insertions, 609 deletions
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_16mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_16mb/reused.list
index 7bde763b..fc92fa25 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_16mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_16mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb//0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_4mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_4mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_4mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_4mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_8mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_8mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_8mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/r400_8mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_16mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_16mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_16mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_16mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_4mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_4mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_4mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_4mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
deleted file mode 100644
index 67420ca7..00000000
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
+++ /dev/null
@@ -1,601 +0,0 @@
-From fbbc8d6a278c733eca475c17cbf95a8946e2c173 Mon Sep 17 00:00:00 2001
-From: Arthur Heymans <arthur@aheymans.xyz>
-Date: Thu, 4 Aug 2016 11:00:13 +0200
-Subject: [PATCH 1/3] Revert "drivers/lenovo: Add hybrid graphics driver"
-
-This reverts commit 5919ba42ed0ce5b1b13717514698444232c6036c.
-
-Change-Id: I027581ef769ca8232e72f89738c1bdec13f62687
-
-diff --git a/src/drivers/lenovo/Kconfig b/src/drivers/lenovo/Kconfig
-index f8eddf2..f20f3b2 100644
---- a/src/drivers/lenovo/Kconfig
-+++ b/src/drivers/lenovo/Kconfig
-@@ -27,16 +27,3 @@ config DIGITIZER_ABSENT
- endchoice
-
- endif
--
--config DRIVERS_LENOVO_HYBRID_GRAPHICS
-- bool
-- default n
--
--config HYBRID_GRAPHICS_GPIO_NUM
-- depends on DRIVERS_LENOVO_HYBRID_GRAPHICS
-- int
-- default 52
-- help
-- Set a default GPIO that sets the panel LVDS signal routing to
-- integrated or discrete GPU.
--
-diff --git a/src/drivers/lenovo/Makefile.inc b/src/drivers/lenovo/Makefile.inc
-index 66f8594..c50db5b 100644
---- a/src/drivers/lenovo/Makefile.inc
-+++ b/src/drivers/lenovo/Makefile.inc
-@@ -1,2 +1 @@
- ramstage-$(CONFIG_DRIVERS_LENOVO_WACOM) += wacom.c
--ramstage-$(CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS) += hybrid_graphics.c
-diff --git a/src/drivers/lenovo/hybrid_graphics.c b/src/drivers/lenovo/hybrid_graphics.c
-deleted file mode 100644
-index 9b46646..0000000
---- a/src/drivers/lenovo/hybrid_graphics.c
-+++ /dev/null
-@@ -1,125 +0,0 @@
--/*
-- * This file is part of the coreboot project.
-- *
-- * Copyright (C) 2015-2016 Patrick Rudolph
-- * Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; version 2 of the License.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU General Public License for more details.
-- */
--
--#include <types.h>
--#include <string.h>
--#include <option.h>
--#include <device/device.h>
--#include <device/pci_def.h>
--#include <device/pci_ops.h>
--#include <device/pci_ids.h>
--#include <device/pci.h>
--#include <console/console.h>
--#include <southbridge/intel/common/gpio.h>
--
--/* Hybrid graphics allows to connect LVDS interface to either iGPU
-- * or dGPU depending on GPIO level.
-- * Nvidia is calling this functionality "muxed Optimus".
-- * Some devices, like T430s, only support "muxless Optimus" where the
-- * Intel GPU is always connected to the panel.
-- * As it is only linked on lenovo and only executed if the GPU exists
-- * we know for sure that the dGPU is there and connected to first PEG slot.
-- *
-- * Note: Once native gfx init is done for AMD or Nvida graphic
-- * cards, merge this code.
-- */
--
--#define HYBRID_GRAPHICS_INTEGRATED 0
--#define HYBRID_GRAPHICS_DISCRETE 1
--
--static void hybrid_graphics_disable_peg(struct device *dev)
--{
-- struct device *peg_dev;
--
-- /* connect LVDS interface to iGPU */
-- set_gpio(CONFIG_HYBRID_GRAPHICS_GPIO_NUM, GPIO_LEVEL_HIGH);
-- printk(BIOS_DEBUG, "Hybrid graphics: Switching panel to integrated GPU.\n");
-- dev->enabled = 0;
--
-- /* Disable PEG10 */
-- peg_dev = dev_find_slot(0, PCI_DEVFN(1, 0));
-- if (peg_dev)
-- peg_dev->enabled = 0;
--
-- printk(BIOS_DEBUG, "Hybrid graphics: Disabled PEG10.\n");
--}
--
--/* Called before VGA enable bits are set and only if dGPU
-- * is present. Enable/disable VGA devices here. */
--static void hybrid_graphics_enable_peg(struct device *dev)
--{
-- u8 hybrid_graphics_mode;
--
-- hybrid_graphics_mode = HYBRID_GRAPHICS_INTEGRATED;
-- get_option(&hybrid_graphics_mode, "hybrid_graphics_mode");
--
-- if (hybrid_graphics_mode == HYBRID_GRAPHICS_DISCRETE) {
-- /* connect LVDS interface to dGPU */
-- set_gpio(CONFIG_HYBRID_GRAPHICS_GPIO_NUM, GPIO_LEVEL_LOW);
-- printk(BIOS_DEBUG, "Hybrid graphics: Switching panel to discrete GPU.\n");
-- dev->enabled = 1;
--
-- /* Disable IGD */
-- dev = dev_find_slot(0, PCI_DEVFN(2, 0));
-- if (dev && dev->ops->disable)
-- dev->ops->disable(dev);
-- dev->enabled = 0;
--
-- printk(BIOS_DEBUG, "Hybrid graphics: Disabled IGD.\n");
-- } else
-- hybrid_graphics_disable_peg(dev);
--}
--
--static struct pci_operations pci_dev_ops_pci = {
-- .set_subsystem = pci_dev_set_subsystem,
--};
--
--struct device_operations hybrid_graphics_ops = {
-- .read_resources = pci_dev_read_resources,
-- .set_resources = pci_dev_set_resources,
-- .enable_resources = pci_dev_enable_resources,
-- .init = pci_dev_init,
-- .scan_bus = 0,
-- .enable = hybrid_graphics_enable_peg,
-- .disable = hybrid_graphics_disable_peg,
-- .ops_pci = &pci_dev_ops_pci,
--};
--
--static const unsigned short pci_device_ids_nvidia[] = {
-- 0x0ffc, /* Nvidia NVS Quadro K1000m Lenovo W530 */
-- 0x0def, /* NVidia NVS 5400m Lenovo T430/T530 */
-- 0x0dfc, /* NVidia NVS 5200m Lenovo T430s */
-- 0x1056, /* NVidia NVS 4200m Lenovo T420/T520 */
-- 0x1057, /* NVidia NVS 4200m Lenovo T420/T520 */
-- 0x0a6c, /* NVidia NVS 3100m Lenovo T410/T510 */
-- 0 };
--
--static const struct pci_driver hybrid_peg_nvidia __pci_driver = {
-- .ops = &hybrid_graphics_ops,
-- .vendor = PCI_VENDOR_ID_NVIDIA,
-- .devices = pci_device_ids_nvidia,
--};
--
--static const unsigned short pci_device_ids_amd[] = {
-- 0x9591, /* ATI Mobility Radeon HD 3650 Lenovo T500/W500 */
-- 0x95c4, /* ATI Mobility Radeon HD 3470 Lenovo T400/R400 */
-- 0 };
--
--static const struct pci_driver hybrid_peg_amd __pci_driver = {
-- .ops = &hybrid_graphics_ops,
-- .vendor = PCI_VENDOR_ID_ATI,
-- .devices = pci_device_ids_amd,
--};
-diff --git a/src/mainboard/lenovo/t400/Kconfig b/src/mainboard/lenovo/t400/Kconfig
-index a444bf8..d74a813 100644
---- a/src/mainboard/lenovo/t400/Kconfig
-+++ b/src/mainboard/lenovo/t400/Kconfig
-@@ -22,7 +22,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
- select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
- select INTEL_INT15
- select SUPERIO_NSC_PC87382
-- select DRIVERS_LENOVO_HYBRID_GRAPHICS
-
- config MAINBOARD_DIR
- string
-diff --git a/src/mainboard/lenovo/t400/cmos.default b/src/mainboard/lenovo/t400/cmos.default
-index 5cf3e63..ac9f96d 100644
---- a/src/mainboard/lenovo/t400/cmos.default
-+++ b/src/mainboard/lenovo/t400/cmos.default
-@@ -13,5 +13,3 @@ sticky_fn=Disable
- power_management_beeps=Enable
- low_battery_beep=Enable
- sata_mode=AHCI
--hybrid_graphics_mode=Integrated Only
--gfx_uma_size=32M
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t400/cmos.layout b/src/mainboard/lenovo/t400/cmos.layout
-index b4b7766..e1a088d 100644
---- a/src/mainboard/lenovo/t400/cmos.layout
-+++ b/src/mainboard/lenovo/t400/cmos.layout
-@@ -77,8 +77,7 @@ entries
- 940 1 e 1 uwb
-
- # coreboot config options: northbridge
--944 2 e 12 hybrid_graphics_mode
--946 4 e 11 gfx_uma_size
-+941 4 e 11 gfx_uma_size
-
- # coreboot config options: EC
- 952 8 h 0 volume
-diff --git a/src/mainboard/lenovo/t420/cmos.default b/src/mainboard/lenovo/t420/cmos.default
-index 3a82c97..1b8e212 100644
---- a/src/mainboard/lenovo/t420/cmos.default
-+++ b/src/mainboard/lenovo/t420/cmos.default
-@@ -14,4 +14,3 @@ fn_ctrl_swap=Disable
- sticky_fn=Disable
- trackpoint=Enable
- hyper_threading=Enable
--hybrid_graphics_mode=Integrated Only
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t420/cmos.layout b/src/mainboard/lenovo/t420/cmos.layout
-index 58a4abe..bf0f195 100644
---- a/src/mainboard/lenovo/t420/cmos.layout
-+++ b/src/mainboard/lenovo/t420/cmos.layout
-@@ -77,8 +77,7 @@ entries
-
- # coreboot config options: northbridge
- 432 3 e 11 gfx_uma_size
--435 2 e 12 hybrid_graphics_mode
--#437 3 r 0 unused
-+#435 5 r 0 unused
-
- 440 8 h 0 volume
-
-@@ -136,8 +135,6 @@ enumerations
- 11 4 160M
- 11 5 192M
- 11 6 224M
--12 0 Integrated Only
--12 1 Discrete Only
-
- # -----------------------------------------------------------------
- checksums
-diff --git a/src/mainboard/lenovo/t420s/Kconfig b/src/mainboard/lenovo/t420s/Kconfig
-index feacb51..935e659 100644
---- a/src/mainboard/lenovo/t420s/Kconfig
-+++ b/src/mainboard/lenovo/t420s/Kconfig
-@@ -18,7 +18,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
- select INTEL_INT15
- select SANDYBRIDGE_IVYBRIDGE_LVDS
- select MAINBOARD_HAS_LPC_TPM
-- select DRIVERS_LENOVO_HYBRID_GRAPHICS
-
- # Workaround for EC/KBC IRQ1.
- select SERIRQ_CONTINUOUS_MODE
-diff --git a/src/mainboard/lenovo/t420s/cmos.default b/src/mainboard/lenovo/t420s/cmos.default
-index 3a82c97..1b8e212 100644
---- a/src/mainboard/lenovo/t420s/cmos.default
-+++ b/src/mainboard/lenovo/t420s/cmos.default
-@@ -14,4 +14,3 @@ fn_ctrl_swap=Disable
- sticky_fn=Disable
- trackpoint=Enable
- hyper_threading=Enable
--hybrid_graphics_mode=Integrated Only
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t420s/cmos.layout b/src/mainboard/lenovo/t420s/cmos.layout
-index 3521849..43628406 100644
---- a/src/mainboard/lenovo/t420s/cmos.layout
-+++ b/src/mainboard/lenovo/t420s/cmos.layout
-@@ -77,8 +77,7 @@ entries
-
- # coreboot config options: northbridge
- 432 3 e 11 gfx_uma_size
--435 2 e 12 hybrid_graphics_mode
--#437 3 r 0 unused
-+#435 5 r 0 unused
-
- 440 8 h 0 volume
-
-@@ -136,8 +135,6 @@ enumerations
- 11 4 160M
- 11 5 192M
- 11 6 224M
--12 0 Integrated Only
--12 1 Discrete Only
-
- # -----------------------------------------------------------------
- checksums
-diff --git a/src/mainboard/lenovo/t520/Kconfig b/src/mainboard/lenovo/t520/Kconfig
-index ee5dd81..c70581a 100644
---- a/src/mainboard/lenovo/t520/Kconfig
-+++ b/src/mainboard/lenovo/t520/Kconfig
-@@ -18,7 +18,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
- select INTEL_INT15
- select SANDYBRIDGE_IVYBRIDGE_LVDS
- select MAINBOARD_HAS_LPC_TPM
-- select DRIVERS_LENOVO_HYBRID_GRAPHICS
-
- # Workaround for EC/KBC IRQ1.
- select SERIRQ_CONTINUOUS_MODE
-diff --git a/src/mainboard/lenovo/t520/cmos.default b/src/mainboard/lenovo/t520/cmos.default
-index ad7dcf5..00e8863 100644
---- a/src/mainboard/lenovo/t520/cmos.default
-+++ b/src/mainboard/lenovo/t520/cmos.default
-@@ -15,4 +15,3 @@ sticky_fn=Disable
- trackpoint=Enable
- hyper_threading=Enable
- backlight=Both
--hybrid_graphics_mode=Integrated Only
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t520/cmos.layout b/src/mainboard/lenovo/t520/cmos.layout
-index 044c310..2cf3629 100644
---- a/src/mainboard/lenovo/t520/cmos.layout
-+++ b/src/mainboard/lenovo/t520/cmos.layout
-@@ -77,8 +77,7 @@ entries
-
- # coreboot config options: northbridge
- 432 3 e 11 gfx_uma_size
--435 2 e 12 hybrid_graphics_mode
--#437 3 r 0 unused
-+#435 5 r 0 unused
- 440 8 h 0 volume
-
- # SandyBridge MRC Scrambler Seed values
-@@ -135,8 +134,6 @@ enumerations
- 11 4 160M
- 11 5 192M
- 11 6 224M
--12 0 Integrated Only
--12 1 Discrete Only
- # -----------------------------------------------------------------
- checksums
-
-diff --git a/src/mainboard/lenovo/t530/Kconfig b/src/mainboard/lenovo/t530/Kconfig
-index 76147fc..030c01f 100644
---- a/src/mainboard/lenovo/t530/Kconfig
-+++ b/src/mainboard/lenovo/t530/Kconfig
-@@ -21,7 +21,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
- select SANDYBRIDGE_IVYBRIDGE_LVDS
- select ENABLE_VMX
- select MAINBOARD_HAS_LPC_TPM
-- select DRIVERS_LENOVO_HYBRID_GRAPHICS
-
- # Workaround for EC/KBC IRQ1.
- select SERIRQ_CONTINUOUS_MODE
-diff --git a/src/mainboard/lenovo/t530/cmos.default b/src/mainboard/lenovo/t530/cmos.default
-index ad7dcf5..00e8863 100644
---- a/src/mainboard/lenovo/t530/cmos.default
-+++ b/src/mainboard/lenovo/t530/cmos.default
-@@ -15,4 +15,3 @@ sticky_fn=Disable
- trackpoint=Enable
- hyper_threading=Enable
- backlight=Both
--hybrid_graphics_mode=Integrated Only
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t530/cmos.layout b/src/mainboard/lenovo/t530/cmos.layout
-index 0e28bdd..e21c197 100644
---- a/src/mainboard/lenovo/t530/cmos.layout
-+++ b/src/mainboard/lenovo/t530/cmos.layout
-@@ -77,8 +77,7 @@ entries
-
- # coreboot config options: northbridge
- 432 3 e 11 gfx_uma_size
--435 2 e 12 hybrid_graphics_mode
--#437 3 r 0 unused
-+#435 5 r 0 unused
-
- 440 8 h 0 volume
-
-@@ -136,9 +135,6 @@ enumerations
- 11 4 160M
- 11 5 192M
- 11 6 224M
--12 0 Integrated Only
--12 1 Discrete Only
--
- # -----------------------------------------------------------------
- checksums
-
-diff --git a/src/southbridge/intel/i82801ix/Kconfig b/src/southbridge/intel/i82801ix/Kconfig
-index b3e5069..2822774 100644
---- a/src/southbridge/intel/i82801ix/Kconfig
-+++ b/src/southbridge/intel/i82801ix/Kconfig
-@@ -23,7 +23,6 @@ config SOUTHBRIDGE_INTEL_I82801IX
- select USE_WATCHDOG_ON_BOOT
- select HAVE_SMI_HANDLER
- select HAVE_USBDEBUG_OPTIONS
-- select SOUTHBRIDGE_INTEL_COMMON_GPIO
-
- if SOUTHBRIDGE_INTEL_I82801IX
-
---
-2.9.2
-
-From 90f5f34629ff88506bb803988da1552f3373d4f0 Mon Sep 17 00:00:00 2001
-From: Arthur Heymans <arthur@aheymans.xyz>
-Date: Thu, 4 Aug 2016 11:01:53 +0200
-Subject: [PATCH 2/3] Revert "Revert "mainboard/lenovo/t400: Add initial hybrid
- graphics support""
-
-This reverts commit 14d1a93e444b91311eeed2a25953bf6c0779cdcb.
-
-Change-Id: I965ea55bddb7cf919e7b02ecf8e160c9ad3ea3d4
-
-diff --git a/src/mainboard/lenovo/t400/cmos.default b/src/mainboard/lenovo/t400/cmos.default
-index ac9f96d..98ce970 100644
---- a/src/mainboard/lenovo/t400/cmos.default
-+++ b/src/mainboard/lenovo/t400/cmos.default
-@@ -13,3 +13,4 @@ sticky_fn=Disable
- power_management_beeps=Enable
- low_battery_beep=Enable
- sata_mode=AHCI
-+hybrid_graphics_mode=Integrated Only
-\ No newline at end of file
-diff --git a/src/mainboard/lenovo/t400/cmos.layout b/src/mainboard/lenovo/t400/cmos.layout
-index e1a088d..b4b7766 100644
---- a/src/mainboard/lenovo/t400/cmos.layout
-+++ b/src/mainboard/lenovo/t400/cmos.layout
-@@ -77,7 +77,8 @@ entries
- 940 1 e 1 uwb
-
- # coreboot config options: northbridge
--941 4 e 11 gfx_uma_size
-+944 2 e 12 hybrid_graphics_mode
-+946 4 e 11 gfx_uma_size
-
- # coreboot config options: EC
- 952 8 h 0 volume
-diff --git a/src/mainboard/lenovo/t400/romstage.c b/src/mainboard/lenovo/t400/romstage.c
-index f518775..fcc545b 100644
---- a/src/mainboard/lenovo/t400/romstage.c
-+++ b/src/mainboard/lenovo/t400/romstage.c
-@@ -1,6 +1,7 @@
- /*
- * This file is part of the coreboot project.
- *
-+ * Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
- * Copyright (C) 2012 secunet Security Networks AG
- *
- * This program is free software; you can redistribute it and/or
-@@ -34,6 +35,118 @@
- #define LPC_DEV PCI_DEV(0, 0x1f, 0)
- #define MCH_DEV PCI_DEV(0, 0, 0)
-
-+#define HYBRID_GRAPHICS_INTEGRATED_ONLY 0
-+#define HYBRID_GRAPHICS_DISCRETE_ONLY 1
-+#define HYBRID_GRAPHICS_SWITCHABLE 2
-+
-+#define HYBRID_GRAPHICS_GP_LVL_BITS 0x004a0000
-+#define HYBRID_GRAPHICS_GP_LVL2_BITS 0x00020000
-+
-+#define HYBRID_GRAPHICS_DETECT_GP_BITS 0x00000010
-+
-+#define HYBRID_GRAPHICS_INT_CLAIM_VGA 0x2
-+#define HYBRID_GRAPHICS_SEC_VGA_EN 0x2
-+
-+static void hybrid_graphics_configure_switchable_graphics(bool enable)
-+{
-+ uint32_t tmp;
-+
-+ if (enable) {
-+ /* Disable integrated graphics legacy VGA cycles */
-+ tmp = pci_read_config16(MCH_DEV, D0F0_GGC);
-+ pci_write_config16(MCH_DEV, D0F0_GGC, tmp | HYBRID_GRAPHICS_INT_CLAIM_VGA);
-+
-+ /* Enable secondary VGA controller */
-+ tmp = pci_read_config16(MCH_DEV, D0F0_DEVEN);
-+ pci_write_config16(MCH_DEV, D0F0_DEVEN, tmp | HYBRID_GRAPHICS_SEC_VGA_EN);
-+ }
-+ else {
-+ /* Enable integrated graphics legacy VGA cycles */
-+ tmp = pci_read_config16(MCH_DEV, D0F0_GGC);
-+ pci_write_config16(MCH_DEV, D0F0_GGC, tmp & ~HYBRID_GRAPHICS_INT_CLAIM_VGA);
-+
-+ /* Disable secondary VGA controller */
-+ tmp = pci_read_config16(MCH_DEV, D0F0_DEVEN);
-+ pci_write_config16(MCH_DEV, D0F0_DEVEN, tmp & ~HYBRID_GRAPHICS_SEC_VGA_EN);
-+ }
-+}
-+
-+static void hybrid_graphics_set_up_gpio(void)
-+{
-+ uint32_t tmp;
-+
-+ /* Enable hybrid graphics GPIO lines */
-+ tmp = inl(DEFAULT_GPIOBASE + GP_IO_USE_SEL);
-+ tmp = tmp | HYBRID_GRAPHICS_GP_LVL_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_IO_USE_SEL);
-+
-+ tmp = inl(DEFAULT_GPIOBASE + GP_IO_USE_SEL2);
-+ tmp = tmp | HYBRID_GRAPHICS_GP_LVL2_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_IO_USE_SEL2);
-+
-+ /* Set hybrid graphics control GPIO lines to output */
-+ tmp = inl(DEFAULT_GPIOBASE + GP_IO_SEL);
-+ tmp = tmp & ~HYBRID_GRAPHICS_GP_LVL_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_IO_SEL);
-+
-+ tmp = inl(DEFAULT_GPIOBASE + GP_IO_SEL2);
-+ tmp = tmp & ~HYBRID_GRAPHICS_GP_LVL2_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_IO_SEL2);
-+
-+ /* Set hybrid graphics detect GPIO lines to input */
-+ tmp = inl(DEFAULT_GPIOBASE + GP_IO_SEL);
-+ tmp = tmp | HYBRID_GRAPHICS_DETECT_GP_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_IO_SEL);
-+}
-+
-+static bool hybrid_graphics_installed(void)
-+{
-+ if (inl(DEFAULT_GPIOBASE + GP_LVL) & HYBRID_GRAPHICS_DETECT_GP_BITS)
-+ return false;
-+ else
-+ return true;
-+}
-+
-+static void hybrid_graphics_switch_to_integrated_graphics(void)
-+{
-+ uint32_t tmp;
-+
-+ /* Disable switchable graphics */
-+ hybrid_graphics_configure_switchable_graphics(false);
-+
-+ /* Configure muxes */
-+ tmp = inl(DEFAULT_GPIOBASE + GP_LVL);
-+ tmp = tmp & ~HYBRID_GRAPHICS_GP_LVL_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_LVL);
-+
-+ tmp = inl(DEFAULT_GPIOBASE + GP_LVL2);
-+ tmp = tmp & ~HYBRID_GRAPHICS_GP_LVL2_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_LVL2);
-+}
-+
-+static void hybrid_graphics_switch_to_discrete_graphics(void)
-+{
-+ uint32_t tmp;
-+
-+ /* Disable switchable graphics */
-+ hybrid_graphics_configure_switchable_graphics(false);
-+
-+ /* Configure muxes */
-+ tmp = inl(DEFAULT_GPIOBASE + GP_LVL);
-+ tmp = tmp | HYBRID_GRAPHICS_GP_LVL_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_LVL);
-+
-+ tmp = inl(DEFAULT_GPIOBASE + GP_LVL2);
-+ tmp = tmp | HYBRID_GRAPHICS_GP_LVL2_BITS;
-+ outl(tmp, DEFAULT_GPIOBASE + GP_LVL2);
-+}
-+
-+static void hybrid_graphics_switch_to_dual_graphics(void)
-+{
-+ /* Enable switchable graphics */
-+ hybrid_graphics_configure_switchable_graphics(true);
-+}
-+
- static void default_southbridge_gpio_setup(void)
- {
- outl(0x197e23fe, DEFAULT_GPIOBASE + GP_IO_USE_SEL);
-@@ -95,6 +208,31 @@ void mainboard_romstage_entry(unsigned long bist)
-
- default_southbridge_gpio_setup();
-
-+ uint8_t hybrid_graphics_mode = HYBRID_GRAPHICS_INTEGRATED_ONLY;
-+ get_option(&hybrid_graphics_mode, "hybrid_graphics_mode");
-+
-+ /* Set up hybrid graphics */
-+ hybrid_graphics_set_up_gpio();
-+ if (hybrid_graphics_installed()) {
-+ /* Select appropriate hybrid graphics device */
-+ printk(BIOS_DEBUG, "Hybrid graphics available, setting mode %d\n", hybrid_graphics_mode);
-+ if (hybrid_graphics_mode == HYBRID_GRAPHICS_INTEGRATED_ONLY)
-+ hybrid_graphics_switch_to_integrated_graphics();
-+ else if (hybrid_graphics_mode == HYBRID_GRAPHICS_DISCRETE_ONLY)
-+ hybrid_graphics_switch_to_discrete_graphics();
-+ else if (hybrid_graphics_mode == HYBRID_GRAPHICS_SWITCHABLE)
-+ hybrid_graphics_switch_to_integrated_graphics();
-+ /* Switchable graphics are fully enabled after raminit */
-+ /* FIXME
-+ * Enabling switchable graphics prevents bootup!
-+ * Debug and fix appropriately...
-+ */
-+ }
-+ else {
-+ printk(BIOS_DEBUG, "Hybrid graphics not installed\n");
-+ hybrid_graphics_switch_to_integrated_graphics();
-+ }
-+
- /* ASPM related setting, set early by original BIOS. */
- DMIBAR16(0x204) &= ~(3 << 10);
-
-@@ -174,6 +312,11 @@ void mainboard_romstage_entry(unsigned long bist)
- outl(inl(DEFAULT_GPIOBASE + 0x38) & ~0x400, DEFAULT_GPIOBASE + 0x38);
-
- cbmem_initted = !cbmem_recovery(s3resume);
-+
-+ if (hybrid_graphics_installed())
-+ if (hybrid_graphics_mode == HYBRID_GRAPHICS_SWITCHABLE)
-+ hybrid_graphics_switch_to_dual_graphics();
-+
- #if CONFIG_HAVE_ACPI_RESUME
- /* If there is no high memory area, we didn't boot before, so
- * this is not a resume. In that case we just create the cbmem toc.
---
-2.9.2
-
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_16mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_16mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_16mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_16mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_4mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_4mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_4mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_4mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch
diff --git a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_8mb/reused.list b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_8mb/reused.list
index 9cbe668d..5fbe1b4a 100644
--- a/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_8mb/reused.list
+++ b/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t500_8mb/reused.list
@@ -1,5 +1,4 @@
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-NOTFORMERGE-ec-lenovo-h8-wlan-trackpoint-touchpad-bl.patch
-/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0001-Revert-hybrid-driver.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0002-make-256M-vram-the-default-for-gm45-laptops.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/t400_8mb/0003-hardcode-use-on-intel-integrated-graphic-device-on-t.patch
/resources/libreboot/patch/coreboot/29fc9bb855cb878aee263cd1fe110e3bb3e98c80/grub/x200_8mb/0001-nb-intel-gm45-Fix-IOMMU.patch