[coreboot-gerrit] New patch to review 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:48:41 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 bf4071be135786f7b54ab1863e7569f6d6e5265e
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                           | 1 +
 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, 2 insertions(+), 7 deletions(-)

diff --git a/src/drivers/intel/gma/edid.c b/src/drivers/intel/gma/edid.c
index 3902094..b4b8721 100644
--- a/src/drivers/intel/gma/edid.c
+++ b/src/drivers/intel/gma/edid.c
@@ -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