xf86-video-intel: Branch 'modesetting' - src/i830_crt.c src/i830_display.c src/i830_display.h src/i830_dvo.c src/i830_lvds.c src/i830_sdvo.c src/i830_tv.c

Keith Packard keithp at kemper.freedesktop.org
Mon Mar 5 05:38:24 EET 2007


 src/i830_crt.c     |    2 ++
 src/i830_display.c |   26 ++++++++++++++++++++++++++
 src/i830_display.h |    3 +++
 src/i830_dvo.c     |    3 +++
 src/i830_lvds.c    |    2 ++
 src/i830_sdvo.c    |    2 ++
 src/i830_tv.c      |    2 ++
 7 files changed, 40 insertions(+)

New commits:
diff-tree bc20b54c34088356a277beaebcc90bb4a7063e19 (from b27fa2c257ccc49c6f29a20a3e672ebaaf58e7aa)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Sun Mar 4 19:35:44 2007 -0800

    Support new CRTC/Output prepare/commit hooks.
    
    New hooks replace explicit invocation of DPMS functions to manage mode
    setting sequencing.

diff --git a/src/i830_crt.c b/src/i830_crt.c
index 7706165..fbb4adc 100644
--- a/src/i830_crt.c
+++ b/src/i830_crt.c
@@ -341,7 +341,9 @@ static const xf86OutputFuncsRec i830_crt
     .restore = i830_crt_restore,
     .mode_valid = i830_crt_mode_valid,
     .mode_fixup = i830_crt_mode_fixup,
+    .prepare = i830_output_prepare,
     .mode_set = i830_crt_mode_set,
+    .commit = i830_output_commit,
     .detect = i830_crt_detect,
     .get_modes = i830_ddc_get_modes,
     .destroy = i830_crt_destroy
diff --git a/src/i830_display.c b/src/i830_display.c
index 67744d5..d0b21a9 100644
--- a/src/i830_display.c
+++ b/src/i830_display.c
@@ -613,6 +613,30 @@ i830_crtc_unlock (xf86CrtcPtr crtc)
 #endif
 }
 
+static void
+i830_crtc_prepare (xf86CrtcPtr crtc)
+{
+    crtc->funcs->dpms (crtc, DPMSModeOff);
+}
+
+static void
+i830_crtc_commit (xf86CrtcPtr crtc)
+{
+    crtc->funcs->dpms (crtc, DPMSModeOn);
+}
+
+void
+i830_output_prepare (xf86OutputPtr output)
+{
+    output->funcs->dpms (output, DPMSModeOff);
+}
+
+void
+i830_output_commit (xf86OutputPtr output)
+{
+    output->funcs->dpms (output, DPMSModeOn);
+}
+
 static Bool
 i830_crtc_mode_fixup(xf86CrtcPtr crtc, DisplayModePtr mode,
 		     DisplayModePtr adjusted_mode)
@@ -1377,7 +1401,9 @@ static const xf86CrtcFuncsRec i830_crtc_
     .lock = i830_crtc_lock,
     .unlock = i830_crtc_unlock,
     .mode_fixup = i830_crtc_mode_fixup,
+    .prepare = i830_crtc_prepare,
     .mode_set = i830_crtc_mode_set,
+    .commit = i830_crtc_commit,
     .gamma_set = i830_crtc_gamma_set,
     .shadow_create = i830_crtc_shadow_create,
     .shadow_allocate = i830_crtc_shadow_allocate,
diff --git a/src/i830_display.h b/src/i830_display.h
index dbd1ea8..31ab615 100644
--- a/src/i830_display.h
+++ b/src/i830_display.h
@@ -40,3 +40,6 @@ void i830ReleaseLoadDetectPipe(xf86Outpu
 void i830_crtc_init(ScrnInfoPtr pScrn, int pipe);
 void i830_crtc_load_lut(xf86CrtcPtr crtc);
 DisplayModePtr i830_crtc_mode_get(ScrnInfoPtr pScrn, xf86CrtcPtr crtc);
+void i830_output_prepare (xf86OutputPtr output);
+void i830_output_commit (xf86OutputPtr output);
+
diff --git a/src/i830_dvo.c b/src/i830_dvo.c
index d938f46..629e9c7 100644
--- a/src/i830_dvo.c
+++ b/src/i830_dvo.c
@@ -31,6 +31,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 #include "xf86.h"
 #include "i830.h"
+#include "i830_display.h"
 #include "i810_reg.h"
 
 #include "sil164/sil164.h"
@@ -226,7 +227,9 @@ static const xf86OutputFuncsRec i830_dvo
     .restore = i830_dvo_restore,
     .mode_valid = i830_dvo_mode_valid,
     .mode_fixup = i830_dvo_mode_fixup,
+    .prepare = i830_output_prepare,
     .mode_set = i830_dvo_mode_set,
+    .commit = i830_output_commit,
     .detect = i830_dvo_detect,
     .get_modes = i830_ddc_get_modes,
     .destroy = i830_dvo_destroy
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index 642dd8a..f554b38 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -392,7 +392,9 @@ static const xf86OutputFuncsRec i830_lvd
     .restore = i830_lvds_restore,
     .mode_valid = i830_lvds_mode_valid,
     .mode_fixup = i830_lvds_mode_fixup,
+    .prepare = i830_output_prepare,
     .mode_set = i830_lvds_mode_set,
+    .commit = i830_output_commit,
     .detect = i830_lvds_detect,
     .get_modes = i830_lvds_get_modes,
 #ifdef RANDR_12_INTERFACE
diff --git a/src/i830_sdvo.c b/src/i830_sdvo.c
index 46a35f1..b7cf843 100644
--- a/src/i830_sdvo.c
+++ b/src/i830_sdvo.c
@@ -1060,7 +1060,9 @@ static const xf86OutputFuncsRec i830_sdv
     .restore = i830_sdvo_restore,
     .mode_valid = i830_sdvo_mode_valid,
     .mode_fixup = i830_sdvo_mode_fixup,
+    .prepare = i830_output_prepare,
     .mode_set = i830_sdvo_mode_set,
+    .commit = i830_output_commit,
     .detect = i830_sdvo_detect,
     .get_modes = i830_sdvo_get_modes,
     .destroy = i830_sdvo_destroy
diff --git a/src/i830_tv.c b/src/i830_tv.c
index 95612e4..d7f4f56 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1406,7 +1406,9 @@ static const xf86OutputFuncsRec i830_tv_
     .restore = i830_tv_restore,
     .mode_valid = i830_tv_mode_valid,
     .mode_fixup = i830_tv_mode_fixup,
+    .prepare = i830_output_prepare,
     .mode_set = i830_tv_mode_set,
+    .commit = i830_output_commit,
     .detect = i830_tv_detect,
     .get_modes = i830_tv_get_modes,
     .destroy = i830_tv_destroy



More information about the xorg-commit mailing list