[Intel-gfx] [PATCH V2] Set activation periods as 64 cdclk sync up with KMS
Ma Ling
ling.ma at intel.com
Fri May 15 07:55:25 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.
Have tested the patch on G45/G43/Q45 platforms , no regression on them.
It fixed bug #21120 and part of bug #21210.
Signed-off-by: Ma Ling <ling.ma at intel.com>
---
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