xf86-video-intel: man/intel.man src/i830_tv.c

Zhenyu Wang zhen at kemper.freedesktop.org
Tue Dec 2 18:56:23 PST 2008


 man/intel.man |    2 +-
 src/i830_tv.c |   32 ++++++++++++++++++--------------
 2 files changed, 19 insertions(+), 15 deletions(-)

New commits:
commit 07f5a8223187c1abc79c104d2fa5859a54cecd30
Author: Robert Lowery <rglowery at exemail.com.au>
Date:   Wed Dec 3 09:48:23 2008 +0800

    TV: add support to set TV margins in xorg.conf

diff --git a/man/intel.man b/man/intel.man
index ef0337c..81a94ac 100644
--- a/man/intel.man
+++ b/man/intel.man
@@ -296,7 +296,7 @@ Integrated TV output.  Available properties include:
 .B BOTTOM, RIGHT, TOP, LEFT
 - margins
 .TP 2
-Adjusting these properties allows you to control the placement of your TV output buffer on the screen.
+Adjusting these properties allows you to control the placement of your TV output buffer on the screen. The options with the same name can also be set in xorg.conf with integer value.
 
 .PP
 .B TV_FORMAT
diff --git a/src/i830_tv.c b/src/i830_tv.c
index 09a46e9..d507a0c 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1691,6 +1691,8 @@ i830_tv_init(ScrnInfoPtr pScrn)
     I830OutputPrivatePtr    intel_output;
     struct i830_tv_priv	    *dev_priv;
     uint32_t		    tv_dac_on, tv_dac_off, save_tv_dac;
+    char                    *mon_option_lst = NULL;
+    char		    *tv_format = NULL;
 
     if (pI830->quirk_flag & QUIRK_IGNORE_TV)
 	return;
@@ -1745,21 +1747,23 @@ i830_tv_init(ScrnInfoPtr pScrn)
 
     dev_priv->tv_format = NULL;
 
-    /* BIOS margin values */
-    dev_priv->margin[TV_MARGIN_LEFT] = 54;
-    dev_priv->margin[TV_MARGIN_TOP] = 36;
-    dev_priv->margin[TV_MARGIN_RIGHT] = 46;
-    dev_priv->margin[TV_MARGIN_BOTTOM] = 37;
-
     if (output->conf_monitor)
-    {
-	char	*tv_format;
-
-	tv_format = xf86findOptionValue (output->conf_monitor->mon_option_lst, "TV Format");
-	if (tv_format)
-	    dev_priv->tv_format = xstrdup (tv_format);
-    }
-    if (!dev_priv->tv_format)
+	mon_option_lst = output->conf_monitor->mon_option_lst;
+
+     /* BIOS margin values */
+    dev_priv->margin[TV_MARGIN_LEFT] = xf86SetIntOption (mon_option_lst,
+	    "Left", 54);
+    dev_priv->margin[TV_MARGIN_TOP] = xf86SetIntOption (mon_option_lst,
+	    "Top", 36);
+    dev_priv->margin[TV_MARGIN_RIGHT] = xf86SetIntOption (mon_option_lst,
+	    "Right", 46);
+    dev_priv->margin[TV_MARGIN_BOTTOM] = xf86SetIntOption (mon_option_lst,
+	    "Bottom", 37);
+
+    tv_format = xf86findOptionValue (mon_option_lst, "TV Format");
+    if (tv_format)
+	dev_priv->tv_format = xstrdup (tv_format);
+    else
 	dev_priv->tv_format = xstrdup (tv_modes[0].name);
 
     output->driver_private = intel_output;


More information about the xorg-commit mailing list