linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Michel Dänzer" <michdaen@iiic.ethz.ch>
To: "Jason E. Stewart" <jason@openinformatics.com>
Cc: debian-powerpc@lists.debian.org, linuxppc-dev@lists.linuxppc.org
Subject: Re: Success! (was Re: External Monitor under Pismo)
Date: Tue, 01 May 2001 01:03:10 +0200	[thread overview]
Message-ID: <3AEDEF2D.4B823134@iiic.ethz.ch> (raw)
In-Reply-To: 87itjmf7lf.fsf_-_@amadeus.openinformatics.com

[-- Attachment #1: Type: text/plain, Size: 1203 bytes --]


(Adding CC: to linuxppc-dev to reach more potentially interested people)

"Jason E. Stewart" wrote:

> I'm writing this email to you off my ViewSonic21 running at measly
> 1280x1024 but it's much better than the 1024x768 I got using
> 'mirror'.
>
> I rebuilt r128_driver.c with the CRTOnly code commented in, added:
>
> Option "CRTOnly"
>
> to my XF86Config, and took out:
>
> Option "ProgramFPRegs" "No"
>
> (that last one caused me quite some grief till I read the code and
> realized it wasn't running the CRTOnly check unless registers were
> on....)
>
> And it works!!!!

Great!


> I'm happy to provide my recompiled r128_drv.o to pismo folks. Perhaps
> Michel can put it on his WWW site?

I am reluctant to do that. I'd prefer to get a solution into XFree86.

Someone please try the attached patch against current CVS. It turns Option
"UseBIOSDisplay" (which probably doesn't work for us - no BIOS here...) into
Option "Display" which accepts modes "CRT", "FP", "Mirror" and "BIOS".


Reports, comments and suggestions most welcome.


--
Earthling Michel Dänzer (MrCooper)    \   Debian GNU/Linux (powerpc) developer
CS student, Free Software enthusiast   \        XFree86 and DRI project member

[-- Attachment #2: r128_display.diff --]
[-- Type: text/plain, Size: 2412 bytes --]

Index: r128_driver.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v
retrieving revision 1.26
diff -u -3 -r1.26 r128_driver.c
--- r128_driver.c	2001/04/10 16:07:59	1.26
+++ r128_driver.c	2001/04/30 15:38:46
@@ -140,7 +140,7 @@
   /* FIXME: Disable CRTOnly until it is tested */
   OPTION_CRT,
 #endif
-  OPTION_BIOS_DISPLAY,
+  OPTION_DISPLAY,
   OPTION_PANEL_WIDTH,
   OPTION_PANEL_HEIGHT,
   OPTION_PROG_FP_REGS,
@@ -165,7 +165,7 @@
   { OPTION_BUFFER_SIZE,  "BufferSize",       OPTV_INTEGER, {0}, FALSE },
   { OPTION_USE_CCE_2D,   "UseCCEfor2D",      OPTV_BOOLEAN, {0}, FALSE },
 #endif
-  { OPTION_BIOS_DISPLAY, "UseBIOSDisplay",   OPTV_BOOLEAN, {0}, FALSE },
+  { OPTION_DISPLAY,      "Display",          OPTV_STRING,  {0}, FALSE },
   { OPTION_PANEL_WIDTH,  "PanelWidth",       OPTV_INTEGER, {0}, FALSE },
   { OPTION_PANEL_HEIGHT, "PanelHeight",      OPTV_INTEGER, {0}, FALSE },
   { OPTION_PROG_FP_REGS, "ProgramFPRegs",    OPTV_BOOLEAN, {0}, FALSE },
@@ -920,10 +920,24 @@
        setting.  BIOS_5_SCRATCH holds the display device on flat panel
        systems only. */
     if (info->HasPanelRegs) {
-	if (xf86ReturnOptValBool(R128Options, OPTION_BIOS_DISPLAY, FALSE))
-	    info->BIOSDisplay = INREG8(R128_BIOS_5_SCRATCH);
+        char *display = xf86GetOptValString(R128Options, OPTION_DISPLAY);
+
+	if (!strcmp(display, "BIOS"))
+	  info->BIOSDisplay = INREG8(R128_BIOS_5_SCRATCH);
+	else if (!strcmp(display, "Mirror"))
+	  info->BIOSDisplay = R128_BIOS_DISPLAY_FP_CRT;
+	else if (!strcmp(display, "CRT"))
+	  info->BIOSDisplay = R128_BIOS_DISPLAY_CRT;
+	else if (!strcmp(display, "FP"))
+	  info->BIOSDisplay = R128_BIOS_DISPLAY_FP;
 	else
-	    info->BIOSDisplay = R128_BIOS_DISPLAY_FP;
+	{
+	  xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		     "Unsupported mode \"%s\" specified for Option \"Display\".\n", display);
+	  xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+		     "Supported modes are: \"BIOS\", \"Mirror\", \"CRT\" and \"FP\"\n");
+	  return FALSE;
+	}
     } else {
 	info->BIOSDisplay     = R128_BIOS_DISPLAY_CRT;
     }
@@ -1949,7 +1963,7 @@
 #endif
 			     )) return FALSE;

-				/* DPMS setup */
+				/* DPMS setup - FIXME: also for mirror mode? - Michel */
     if (!info->HasPanelRegs || info->BIOSDisplay == R128_BIOS_DISPLAY_CRT)
 	xf86DPMSInit(pScreen, R128DisplayPowerManagementSet, 0);


  parent reply	other threads:[~2001-04-30 23:03 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-04  9:21 External Monitor under Pismo Iain Sandoe
2001-04-04 17:01 ` Andrew Sharp
2001-04-04 18:43   ` Jason E. Stewart
2001-04-04 18:01     ` Michel Dänzer
2001-04-04 19:28       ` Jason E. Stewart
2001-04-04 21:45         ` Michel Dänzer
2001-04-04 23:19           ` Jason E. Stewart
2001-04-04 22:22             ` Michel Dänzer
2001-04-05 19:55               ` Jason E. Stewart
2001-04-05 19:48                 ` Michel Dänzer
2001-04-05 21:49                   ` Jason E. Stewart
2001-04-05 23:46               ` Jason E. Stewart
2001-04-05 23:28                 ` Michel Dänzer
2001-04-06  3:04                   ` Steven Hanley
     [not found]                   ` <87itjmf7lf.fsf_-_@amadeus.openinformatics.com>
2001-04-30 23:03                     ` Michel Dänzer [this message]
2001-05-04  2:10                       ` Success! (was Re: External Monitor under Pismo) Jason E. Stewart
2001-05-03 22:18                         ` Michel Dänzer
2001-05-04  9:08                           ` Jason E. Stewart
2001-05-04 12:05                             ` Michel Dänzer
2001-05-04 17:14                               ` Jason E. Stewart
2001-05-04 17:16                                 ` Jason E. Stewart
2001-05-05  1:37                                 ` Michel Dänzer
2001-05-05  9:38                                   ` Jason E. Stewart
2001-05-05 17:59                                     ` Michel Dänzer
2001-05-05 21:14                                       ` Jason E. Stewart
2001-05-06 13:32                                         ` Michel Dänzer
2001-05-06 21:55                                           ` Jason E. Stewart
2001-05-07  8:15                                             ` Michel Dänzer
2001-05-04 12:29                             ` Benjamin Herrenschmidt
2001-05-04 13:34                               ` Sven LUTHER
2001-05-04 13:57                                 ` Benjamin Herrenschmidt
2001-05-04 14:06                                   ` Sven LUTHER
2001-05-04 14:13                                     ` Benjamin Herrenschmidt
2001-05-04 14:14                                     ` Geert Uytterhoeven
2001-05-04 14:23                                       ` Sven LUTHER
2001-05-04 14:54                                       ` Benjamin Herrenschmidt
2001-05-04 15:05                                         ` Ramprasad Rao
2001-05-04 15:09                                           ` Benjamin Herrenschmidt
2001-05-04 15:17                                             ` Ramprasad Rao
2001-05-04 20:50                                       ` Michael Schmitz
2001-05-05  1:03                                         ` Benjamin Herrenschmidt
2001-05-05 18:49                                           ` Michael Schmitz
2001-05-04 17:10                               ` Jason E. Stewart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3AEDEF2D.4B823134@iiic.ethz.ch \
    --to=michdaen@iiic.ethz.ch \
    --cc=debian-powerpc@lists.debian.org \
    --cc=jason@openinformatics.com \
    --cc=linuxppc-dev@lists.linuxppc.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).