[Intel-gfx] [PATCH V3] Set activation periods as 64 cdclk sync up with KMS

Ma Ling ling.ma at intel.com
Fri May 15 08:01:18 CEST 2009


We use force CRT detect trigger bit(1 << 3) to detect VGA in hot plug mode,
which triggers a CRT hotplug/unplug detection cycle independent of the
interrupt enable bit(1 << 9), so keep bit 9.
And although spec says CRT_HOTPLUG_ACTIVATION_PERIOD_64(1 << 8) is only useful
for mobile platform, it is also required to detect vga on G4x platform correctly.
Tested the patch on G45/G43/Q45 platforms with no regressions

It fixed freedesktop.org bug #21120 and part of bug #21210.

Signed-off-by: Ma Ling <ling.ma at intel.com>
---
append more detail comments for this version

 src/i810_reg.h |    1 +
 src/i830_crt.c |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/i810_reg.h b/src/i810_reg.h
index 8d4e641..f7bcf11 100644
--- a/src/i810_reg.h
+++ b/src/i810_reg.h
@@ -1262,6 +1262,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 # define CRT_HOTPLUG_DETECT_VOLTAGE_325MV	(0 << 2)
 # define CRT_HOTPLUG_DETECT_VOLTAGE_475MV	(1 << 2)
 # define CRT_HOTPLUG_MASK			(0x3fc)	/* Bits 9-2 */
+# define CRT_FORCE_HOTPLUG_MASK                 0xfffffe1f
 
 #define PORT_HOTPLUG_STAT	0x61114
 # define HDMIB_HOTPLUG_INT_STATUS		(1 << 29)
diff --git a/src/i830_crt.c b/src/i830_crt.c
index d8e4a76..eced5e8 100644
--- a/src/i830_crt.c
+++ b/src/i830_crt.c
@@ -185,7 +185,7 @@ i830_crt_detect_hotplug(xf86OutputPtr output)
 
     hotplug_en = INREG(PORT_HOTPLUG_EN);
 
-    hotplug_en &= ~CRT_HOTPLUG_MASK;
+    hotplug_en &= CRT_FORCE_HOTPLUG_MASK;
 
     /* This starts the detection sequence */
     hotplug_en |= CRT_HOTPLUG_FORCE_DETECT;
@@ -193,7 +193,7 @@ i830_crt_detect_hotplug(xf86OutputPtr output)
     /* GM45 requires a longer activation period to reliably
      * detect CRT
      */
-    if (IS_GM45(pI830))
+    if (IS_G4X(pI830))
 	hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64;
 
     /* Use the default voltage value */
-- 
1.5.4.4






More information about the Intel-gfx mailing list