diff options
author | Naresh G Solanki <naresh.solanki@intel.com> | 2016-09-08 22:27:04 +0530 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-09-15 01:16:41 +0200 |
commit | 16e9d459a09ae5833776e29926207d43d2fc9a02 (patch) | |
tree | ea81368489cb541e421a47a33baf873afded8b97 /src/soc | |
parent | 5ff7390fcd74fe1cd94d2507cf7c04b1c1eff620 (diff) | |
download | coreboot-16e9d459a09ae5833776e29926207d43d2fc9a02.tar.xz |
driver/intel/fsp20: move lb_framebuffer function
move lb_framebuffer function in soc/intel/apollolake
to driver/intel/fsp20 so that fsp 2.0 bases soc's can
use common lb_framebuffer function.
Change-Id: If11bc7faa378a39cf7d4487f9095465a4df84853
Signed-off-by: Naresh G Solanki <naresh.solanki@intel.com>
Reviewed-on: https://review.coreboot.org/16549
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/apollolake/graphics.c | 26 | ||||
-rw-r--r-- | src/soc/intel/apollolake/include/soc/pci_devs.h | 3 |
2 files changed, 6 insertions, 23 deletions
diff --git a/src/soc/intel/apollolake/graphics.c b/src/soc/intel/apollolake/graphics.c index ba3d5dbf2b..9b4dbc97da 100644 --- a/src/soc/intel/apollolake/graphics.c +++ b/src/soc/intel/apollolake/graphics.c @@ -22,37 +22,17 @@ #include <device/device.h> #include <device/pci.h> #include <device/pci_ids.h> +#include <soc/pci_devs.h> #include <soc/pci_ids.h> #include <soc/intel/common/opregion.h> -static uintptr_t framebuffer_bar = (uintptr_t)NULL; - -void lb_framebuffer(struct lb_header *header) +uintptr_t fsp_soc_get_igd_bar(void) { - enum cb_err ret; - struct lb_framebuffer *framebuffer; - - framebuffer = (void *)lb_new_record(header); - ret = fsp_fill_lb_framebuffer(framebuffer); - if (ret != CB_SUCCESS) { - printk(BIOS_ALERT, "FSP did not return a valid framebuffer\n"); - return; - } - - if (!framebuffer_bar) { - printk(BIOS_ALERT, "Framebuffer BAR invalid (00:02.0 BAR2)\n"); - return; - } - - /* Resource allocator can move the BAR around after FSP configures it */ - framebuffer->physical_address = framebuffer_bar; - printk(BIOS_DEBUG, "Graphics framebuffer located at 0x%llx\n", - framebuffer->physical_address); + return find_resource(IGD_DEV, PCI_BASE_ADDRESS_2)->base; } static void igd_set_resources(struct device *dev) { - framebuffer_bar = find_resource(dev, PCI_BASE_ADDRESS_2)->base; pci_dev_set_resources(dev); } diff --git a/src/soc/intel/apollolake/include/soc/pci_devs.h b/src/soc/intel/apollolake/include/soc/pci_devs.h index b7519ed799..0d9e28847c 100644 --- a/src/soc/intel/apollolake/include/soc/pci_devs.h +++ b/src/soc/intel/apollolake/include/soc/pci_devs.h @@ -34,6 +34,9 @@ #define NB_DEVFN _PCI_DEVFN(0, 0) #define NB_DEV_ROOT _PCI_DEV(0x0, 0) +#define IGD_DEV _PCI_DEV(0x2, 0) +#define IGD_DEVFN _PCI_DEVFN(0x2, 0) + #define P2SB_DEV _PCI_DEV(0xd, 0) #define P2SB_DEVFN _PCI_DEVFN(0xd, 0) |