[coreboot-gerrit] Patch set updated for coreboot: intel/gma: Call intel_gmbus_stop inside intel_gmbus_read_edid
Arthur Heymans (arthur@aheymans.xyz)
gerrit at coreboot.org
Thu Nov 24 23:56:58 CET 2016
Arthur Heymans (arthur at aheymans.xyz) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/17601
-gerrit
commit a396f2cf7943443ca9b570b07d3e55b9f650c28d
Author: Arthur Heymans <arthur at aheymans.xyz>
Date: Thu Nov 24 23:43:15 2016 +0100
intel/gma: Call intel_gmbus_stop inside intel_gmbus_read_edid
Before this change you had to call intel_gmbus_stop after
intel_gmbus_read_edid if you whished to call it again. Not doing so
resulted in NULL EDID.
Change-Id: Idca741c50cab4c4bf2746e658ac19671522c48fd
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
src/drivers/intel/gma/edid.c | 3 ++-
src/drivers/intel/gma/edid.h | 2 +-
src/northbridge/intel/gm45/gma.c | 2 --
src/northbridge/intel/i945/gma.c | 1 -
src/northbridge/intel/nehalem/gma.c | 1 -
src/northbridge/intel/sandybridge/gma_ivybridge_lvds.c | 1 -
src/northbridge/intel/x4x/gma.c | 1 -
7 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/src/drivers/intel/gma/edid.c b/src/drivers/intel/gma/edid.c
index 3902094..f2043a3 100644
--- a/src/drivers/intel/gma/edid.c
+++ b/src/drivers/intel/gma/edid.c
@@ -60,7 +60,7 @@ static void intel_gmbus_stop_bus(u8 * mmio, u8 bus)
write32(GMBUS2_ADDR, GMBUS_INUSE);
}
-void intel_gmbus_stop(u8 *mmio)
+static void intel_gmbus_stop(u8 *mmio)
{
intel_gmbus_stop_bus(mmio, 6);
intel_gmbus_stop_bus(mmio, 2);
@@ -110,4 +110,5 @@ void intel_gmbus_read_edid(u8 *mmio, u8 bus, u8 slave, u8 *edid, u32 edid_size)
if ((i & 0xf) == 0xf)
printk (BIOS_SPEW, "\n");
}
+ intel_gmbus_stop(mmio);
}
diff --git a/src/drivers/intel/gma/edid.h b/src/drivers/intel/gma/edid.h
index d8214cf..e334780 100644
--- a/src/drivers/intel/gma/edid.h
+++ b/src/drivers/intel/gma/edid.h
@@ -1,2 +1,2 @@
void intel_gmbus_read_edid(u8 *gmbus_mmio, u8 bus, u8 slave, u8 *edid, u32 edid_size);
-void intel_gmbus_stop(u8 *gmbus_mmio);
+
diff --git a/src/northbridge/intel/gm45/gma.c b/src/northbridge/intel/gm45/gma.c
index 8938197..6ec78b6 100644
--- a/src/northbridge/intel/gm45/gma.c
+++ b/src/northbridge/intel/gm45/gma.c
@@ -381,7 +381,6 @@ static void gma_init_vga(const struct northbridge_intel_gm45_config *info,
intel_gmbus_read_edid(mmio + GMBUS0, 2, 0x50, edid_data,
sizeof(edid_data));
- intel_gmbus_stop(mmio + GMBUS0);
decode_edid(edid_data,
sizeof(edid_data), &edid);
mode = &edid.mode;
@@ -600,7 +599,6 @@ static u8 vga_connected(u8 *mmio)
u8 header[8] = {0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00};
intel_gmbus_read_edid(mmio + GMBUS0, 2, 0x50, vga_edid,
sizeof(vga_edid));
- intel_gmbus_stop(mmio + GMBUS0);
for (int i = 0; i < 8; i++) {
if (vga_edid[i] != header[i]) {
printk(BIOS_DEBUG, "VGA not connected. Using LVDS display\n");
diff --git a/src/northbridge/intel/i945/gma.c b/src/northbridge/intel/i945/gma.c
index e3ff478..b23dbff 100644
--- a/src/northbridge/intel/i945/gma.c
+++ b/src/northbridge/intel/i945/gma.c
@@ -566,7 +566,6 @@ static int probe_edid(u8 *pmmio, u8 slave)
u8 vga_edid[128];
u8 header[8] = {0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00};
intel_gmbus_read_edid(pmmio + GMBUS0, slave, 0x50, vga_edid, 128);
- intel_gmbus_stop(pmmio + GMBUS0);
for (int i = 0; i < 8; i++) {
if (vga_edid[i] != header[i]) {
printk(BIOS_DEBUG, "No display connected on slave %d\n",
diff --git a/src/northbridge/intel/nehalem/gma.c b/src/northbridge/intel/nehalem/gma.c
index 33e8eaa..95bc897 100644
--- a/src/northbridge/intel/nehalem/gma.c
+++ b/src/northbridge/intel/nehalem/gma.c
@@ -698,7 +698,6 @@ static void intel_gma_init(const struct northbridge_intel_nehalem_config *info,
intel_gmbus_read_edid(mmio + PCH_GMBUS0, 3, 0x50, edid_data,
sizeof(edid_data));
- intel_gmbus_stop(mmio + PCH_GMBUS0);
decode_edid(edid_data,
sizeof(edid_data), &edid);
mode = &edid.mode;
diff --git a/src/northbridge/intel/sandybridge/gma_ivybridge_lvds.c b/src/northbridge/intel/sandybridge/gma_ivybridge_lvds.c
index bcdeaa0..e9a3592 100644
--- a/src/northbridge/intel/sandybridge/gma_ivybridge_lvds.c
+++ b/src/northbridge/intel/sandybridge/gma_ivybridge_lvds.c
@@ -184,7 +184,6 @@ int i915lightup_ivy(const struct i915_gpu_controller_info *info,
intel_gmbus_read_edid(mmio + PCH_GMBUS0, 3, 0x50, edid_data,
sizeof(edid_data));
- intel_gmbus_stop(mmio + PCH_GMBUS0);
decode_edid(edid_data,
sizeof(edid_data), &edid);
diff --git a/src/northbridge/intel/x4x/gma.c b/src/northbridge/intel/x4x/gma.c
index 62e28aa..b89c834 100644
--- a/src/northbridge/intel/x4x/gma.c
+++ b/src/northbridge/intel/x4x/gma.c
@@ -116,7 +116,6 @@ static void intel_gma_init(const struct northbridge_intel_x4x_config *info,
intel_gmbus_read_edid(mmio + GMBUS0, 2, 0x50, edid_data,
sizeof(edid_data));
- intel_gmbus_stop(mmio + GMBUS0);
decode_edid(edid_data,
sizeof(edid_data), &edid);
mode = &edid.mode;
More information about the coreboot-gerrit
mailing list