[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dri-patches
Subject:    drm: Branch 'modesetting-101' - 3 commits
From:       alanh () kemper ! freedesktop ! org (Alan Hourihane)
Date:       2007-04-17 15:11:30
Message-ID: 20070417151130.7DDF210089 () kemper ! freedesktop ! org
[Download RAW message or body]

 linux-core/intel_sdvo.c      |   20 +++++++++++++++-----
 linux-core/intel_sdvo_regs.h |    6 +++++-
 shared-core/i915_init.c      |    2 +-
 3 files changed, 21 insertions(+), 7 deletions(-)

New commits:
diff-tree b729b919baed250313caf3f0bbd4044e084de8bf (from ecd9801c3cf08082b4aaa7e23f1f94a5e1d47a75)
Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
Date:   Tue Apr 17 16:11:00 2007 +0100

    Fix a register read that was swapped SDVOB/SDVOC
    
    Check for the PENDING message when reading the attached
    displays. Ensures the command has completed before continuing.
    
    (probably need to check PENDING in other SDVO calls too)

diff --git a/linux-core/intel_sdvo.c b/linux-core/intel_sdvo.c
index 1b45afd..6f592f8 100644
--- a/linux-core/intel_sdvo.c
+++ b/linux-core/intel_sdvo.c
@@ -29,6 +29,7 @@
  */
 
 #include <linux/i2c.h>
+#include <linux/delay.h>
 #include "drmP.h"
 #include "drm.h"
 #include "drm_crtc.h"
@@ -69,9 +70,9 @@ static void intel_sdvo_write_sdvox(struc
 	int i;
 
 	if (sdvo_priv->output_device == SDVOB)
-		cval = I915_READ(SDVOC);
-	else
 		bval = I915_READ(SDVOB);
+	else
+		cval = I915_READ(SDVOC);
 	
 	/*
 	 * Write the registers twice for luck. Sometimes,
@@ -869,12 +870,21 @@ static enum drm_output_status intel_sdvo
 {
 	u8 response[2];
 	u8 status;
+	u8 retry = 50;
 
 	intel_sdvo_write_cmd(output, SDVO_CMD_GET_ATTACHED_DISPLAYS, NULL, 0);
-	status = intel_sdvo_read_response(output, &response, 2);
 
-	if (status != SDVO_CMD_STATUS_SUCCESS)
-		return output_status_unknown;
+	while (retry--) {
+		status = intel_sdvo_read_response(output, &response, 2);
+
+		if (status == SDVO_CMD_STATUS_SUCCESS)
+			break;
+
+		if (status != SDVO_CMD_STATUS_PENDING)
+			return output_status_unknown;
+
+		mdelay(50);
+	}
 
 	DRM_DEBUG("SDVO response %d %d\n", response[0], response[1]);
 	if ((response[0] != 0) || (response[1] != 0))
diff-tree ecd9801c3cf08082b4aaa7e23f1f94a5e1d47a75 (from 32b5616cc681e404f671b4bc3b030ee24b753d4a)
Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
Date:   Tue Apr 17 16:09:40 2007 +0100

    Fix SDVO outputs

diff --git a/linux-core/intel_sdvo_regs.h b/linux-core/intel_sdvo_regs.h
index c8ab950..a9d1671 100644
--- a/linux-core/intel_sdvo_regs.h
+++ b/linux-core/intel_sdvo_regs.h
@@ -37,7 +37,11 @@
 #define SDVO_OUTPUT_SCART0  (1 << 5)
 #define SDVO_OUTPUT_LVDS0   (1 << 6)
 #define SDVO_OUTPUT_TMDS1   (1 << 8)
-#define SDVO_OUTPUT_RGB1    (1 << 13)
+#define SDVO_OUTPUT_RGB1    (1 << 9)
+#define SDVO_OUTPUT_CVBS1   (1 << 10)
+#define SDVO_OUTPUT_SVID1   (1 << 11)
+#define SDVO_OUTPUT_YPRPB1  (1 << 12)
+#define SDVO_OUTPUT_SCART1  (1 << 13)
 #define SDVO_OUTPUT_LVDS1   (1 << 14)
 #define SDVO_OUTPUT_LAST    (14)
 
diff-tree 32b5616cc681e404f671b4bc3b030ee24b753d4a (from 1a5e647f63f083788a7fe43c2367d2e022c48588)
Author: Alan Hourihane <alanh@fairlite.demon.co.uk>
Date:   Tue Apr 17 16:08:26 2007 +0100

    Correct PCI ID for i845

diff --git a/shared-core/i915_init.c b/shared-core/i915_init.c
index 2ed7a82..5872aeb 100644
--- a/shared-core/i915_init.c
+++ b/shared-core/i915_init.c
@@ -45,7 +45,7 @@ int i915_probe_agp(struct pci_dev *pdev,
 
 	switch (pdev->device) {
 	case PCI_DEVICE_ID_INTEL_82830_CGC:
-	case PCI_DEVICE_ID_INTEL_82845G_HB:
+	case PCI_DEVICE_ID_INTEL_82845G_IG:
 	case PCI_DEVICE_ID_INTEL_82855GM_IG:
 	case PCI_DEVICE_ID_INTEL_82865_IG:
 		if ((tmp & INTEL_GMCH_MEM_MASK) == INTEL_GMCH_MEM_64M)

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
--
_______________________________________________
Dri-patches mailing list
Dri-patches@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-patches
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic