xf86-video-intel: 2 commits - src/i830_lvds.c src/reg_dumper/idle.c

Eric Anholt anholt at kemper.freedesktop.org
Fri Aug 8 16:36:40 PDT 2008


 src/i830_lvds.c       |    2 +-
 src/reg_dumper/idle.c |   28 +++++++++++++++-------------
 2 files changed, 16 insertions(+), 14 deletions(-)

New commits:
commit fe90c0522f65f60c4c431787c889b7fb639ab61b
Author: Eric Anholt <eric at anholt.net>
Date:   Fri Aug 8 16:35:25 2008 -0700

    Set lvds_ddc_mode before use to avoid a segfault on mac mini.

diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index 9f20579..a885627 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -1213,7 +1213,7 @@ i830_lvds_init(ScrnInfoPtr pScrn)
     xf86OutputPtr	    output;
     I830OutputPrivatePtr    intel_output;
     DisplayModePtr	    modes, scan;
-    DisplayModePtr	    lvds_ddc_mode;
+    DisplayModePtr	    lvds_ddc_mode = NULL;
     struct i830_lvds_priv   *dev_priv;
 
     if (pI830->quirk_flag & QUIRK_IGNORE_LVDS)
commit 91e7b93c12f612e41b04a2d6106ff29b53b22a43
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Aug 7 11:02:19 2008 -0700

    intel_idle: Instead if #if 0, add an ignore flag for unreliable INSTDONE bits.
    
    This lets us produce a decent total value, and still show the unreliable bits
    in case they aren't on your platform.

diff --git a/src/reg_dumper/idle.c b/src/reg_dumper/idle.c
index dbfa58e..8d60c0c 100644
--- a/src/reg_dumper/idle.c
+++ b/src/reg_dumper/idle.c
@@ -39,17 +39,16 @@
 struct idle_flags {
     uint32_t instdone_flag;
     char *name;
+    int ignore;
     unsigned int count;
 };
 
 struct idle_flags i915_idle_flags[] = {
-#if 0
-    {IDCT_DONE, "IDCT"},
-    {IQ_DONE, "IQ"},
-    {PR_DONE, "PR"},
-    {VLD_DONE, "VLD"},
-    {IP_DONE, "IP"},
-#endif
+    {IDCT_DONE, "IDCT", 1},
+    {IQ_DONE, "IQ", 1},
+    {PR_DONE, "PR", 1},
+    {VLD_DONE, "VLD", 1},
+    {IP_DONE, "IP", 1},
     {FBC_DONE, "FBC"},
     {BINNER_DONE, "BINNER"},
     {SF_DONE, "SF"},
@@ -68,10 +67,8 @@ struct idle_flags i915_idle_flags[] = {
     {PS_DONE, "PS"},
     {CC_DONE, "CC"},
     {MAP_FILTER_DONE, "map filter"},
-#if 0
-    {MAP_L2_IDLE, "map L2"},
-#endif
-
+    {MAP_L2_IDLE, "map L2", 1},
+    {0x80000038, "reserved bits", 1},
     {0, "total"},
     {0, "other"},
 };
@@ -107,7 +104,8 @@ setup_other_flags(I830Ptr pI830,
 
     for (i = 0; i < idle_flag_count - 2; i++) {
 	other_idle_flags &= ~idle_flags[i].instdone_flag;
-	total_idle_flags |= idle_flags[i].instdone_flag;
+	if (!idle_flags[i].ignore)
+	    total_idle_flags |= idle_flags[i].instdone_flag;
     }
     idle_flags[idle_flag_count - 2].instdone_flag = total_idle_flags;
     idle_flags[idle_flag_count - 1].instdone_flag = other_idle_flags;
@@ -197,7 +195,11 @@ int main(int argc, char **argv)
 	}
 
 	for (j = 0; j < idle_flag_count; j++) {
-	    printf("%25s: %3d\n", idle_flags[j].name, idle_flags[j].count);
+	    if (!idle_flags[j].ignore)
+		printf("%25s: %3d\n", idle_flags[j].name, idle_flags[j].count);
+	    else
+		printf("%25s: %3d (unreliable)\n",
+		       idle_flags[j].name, idle_flags[j].count);
 	    idle_flags[j].count = 0;
 	}
 	printf("\n");


More information about the xorg-commit mailing list