linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] GeForce 5200 on rivafb
@ 2004-12-11 21:11 Antonino A. Daplas
  2004-12-12  2:25 ` Junio C Hamano
  0 siblings, 1 reply; 10+ messages in thread
From: Antonino A. Daplas @ 2004-12-11 21:11 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux-fbdev-devel


--- Junio C Hamano <junkio@cox.net> wrote:

> Thanks for a quick response.
> 
> >>>>> "AAD" == Antonino A Daplas
> <adaplas@hotpop.com> writes:
> 
> AAD> Dec 10 19:04:40 siamese kernel:       Display
> is GTF capable
> AAD> Dec 10 19:04:40 siamese kernel: nvidiafb:
> Unable to detect which 
> AAD> CRTCNumber...
> AAD> Dec 10 19:04:40 siamese kernel: ...Defaulting
> to CRTCNumber 1
> AAD> Dec 10 19:04:40 siamese kernel: nvidiafb: Using
> DFP on CRTC 1
> AAD> Dec 10 19:04:40 siamese kernel: Panel size is 1
> x 1
> 
> AAD> Panel size of 1x1 is a bad sign.  (Panel size
> is set by video BIOS).
> 
> What should it say normally?  The monitor is a CRT

It should tell you the pre-configured resolution of the display, if the
display is indeed a flatpanel...
> (ViewSonic
> PF775a) connected via a DSub connector.  I have

...which apparently isn't.

> rebuilt the
> kernel without I2C support and the boot log says
> "Defaulting to
> CRTCNumber 0".  With this, I get a working
> framebuffer console
> and fbdev X works on it.

Ah, ok.  The main problem is that the EDID block of your monitor is saying
that it is a flatpanel, not a CRT.

> 
> Dec 10 23:10:22 siamese kernel: nvidiafb: nVidia
> device/chipset 10DE0110
> Dec 10 23:10:22 siamese kernel: nvidiafb: nVidia
> Corporation NV11 [GeForce2 MX/MX 400]
> Dec 10 23:10:22 siamese kernel: nvidiafb: Unable to
> detect display type...
> Dec 10 23:10:22 siamese kernel: ...Using default of
> CRT
> Dec 10 23:10:22 siamese kernel: nvidiafb: Unable to
> detect which CRTCNumber...
> Dec 10 23:10:22 siamese kernel: ...Defaulting to
> CRTCNumber 0
> Dec 10 23:10:22 siamese kernel: nvidiafb: Using CRT
> on CRTC 0
> Dec 10 23:10:22 siamese kernel: nvidiafb: MTRR set
> to ON
> Dec 10 23:10:22 siamese kernel: Console: switching
> to colour frame buffer device 200x75
> Dec 10 23:10:22 siamese kernel: nvidiafb: PCI nVidia
> NV11 framebuffer (64MB @ 0xD8000000)
> 
> AAD> Can you try the following:
> AAD> 1. Change this line in drivers/video/fbmon.c
> 
> AAD> #undef DEBUG
> AAD> to 
> AAD> #define DEBUG
> 
> Will do, but I have one question.  The last time I
> tried
> turning debugging on on rivafb-i2c it was very
> unpleasant;

No :-), this is not for nvidiafb but for the EDID parser, and it will give
you a very descriptive parsing of the EDID block.

> eventually the driver ended up reporting scrolling
> events on the
> console which caused further scrolling which is
> reported on the
> console which caused further scrolling ... ;-).  I
> could not get
> the control back even with SysRQ.  Is there a trick
> to avoid
> this kind of trouble and still have debugging
> enabled?
> 
> AAD> 2. Experiment with the following boot options:
> 
> AAD> So you can try this, for a start:
> AAD> video=nvidiafb:forceCRTC:1
> 
> I presume I should use forceCRTC:0 to match the
> working "sans
> i2c" case.

Forget this part.

> 
> Is it possible that EDID is not being read correctly
> in my
> configuration?  Could it be a hardware problem
> (either the card,
> the monitor, or the connecting cable)?  If so, how

This is a problem in the EDID block.  Displays that support both digital and
analog (dsub) inputs should also have 2 EDID blocks, depending on the
connector attached.  In your case, if it has a dsub connector, then the
monitor should give out an EDID block that says it's analog, not digital.
 
So, with a broken EDID block, I guess your best workaround is to disable
i2c in your kernel config.

BTW:  Why can't you use the 'nv' driver with X? And does rivafb work with
your card?

Tony




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] GeForce 5200 on rivafb
  2004-12-11 21:11 [PATCH] GeForce 5200 on rivafb Antonino A. Daplas
@ 2004-12-12  2:25 ` Junio C Hamano
  2004-12-12 10:00   ` Junio C Hamano
  0 siblings, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2004-12-12  2:25 UTC (permalink / raw)
  To: linux-fbdev-devel

>>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:

AAD> 1. Change this line in drivers/video/fbmon.c
>> 
AAD> #undef DEBUG
AAD> to 
AAD> #define DEBUG
>> 
>> Will do, but I have one question.  The last time I
>> tried
>> turning debugging on on rivafb-i2c it was very
>> unpleasant;

AAD> No :-), this is not for nvidiafb but for the EDID parser, and it will give
AAD> you a very descriptive parsing of the EDID block.

Will try.  Thanks.

AAD> So, with a broken EDID block, I guess your best workaround is to disable
AAD> i2c in your kernel config.

Again, thanks.

AAD> BTW:  Why can't you use the 'nv' driver with X? And does rivafb work with
AAD> your card?

The rivafb driver up to 2.6.7 or so used to give me framebuffer
console, and let me run X on fbdev, but more recent ones does
not seem to work.  I just get blank screen (even without EDID
detection via riva-i2c).  Around the timeframe when 2.6.3 or so
was current, XFree86 'nv' used to work without any kernel side
framebuffer device, but the more recent one from Debian
'testing' does not work anymore; I am suspecting this is a
problem with XFree86 not rivafb or nvidiafb framebuffer problem
so it may not be of interest to this list.



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] GeForce 5200 on rivafb
  2004-12-12  2:25 ` Junio C Hamano
@ 2004-12-12 10:00   ` Junio C Hamano
  2004-12-13 20:52     ` Antonino A. Daplas
  0 siblings, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2004-12-12 10:00 UTC (permalink / raw)
  To: Antonino A. Daplas; +Cc: linux-fbdev-devel

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

>>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:

AAD> 1. Change this line in drivers/video/fbmon.c
>>> 
AAD> #undef DEBUG
AAD> to 
AAD> #define DEBUG
>>> 
>>> Will do, but I have one question.  The last time I tried
>>> turning debugging on on rivafb-i2c it was very unpleasant;

AAD> No :-), this is not for nvidiafb but for the EDID parser, and it will give
AAD> you a very descriptive parsing of the EDID block.

The attached is what I got in the kernel boot log.  Again,
AFAICT the display is an analog CRT but one of the decoded lines
say "Digital Display Input".  Anyway I'll disable the i2c stuff
in the meantime as you recommended.

Thanks.


[-- Attachment #2: nvidiafb EDID detection log --]
[-- Type: text/plain, Size: 7989 bytes --]

Dec 12 01:30:53 siamese kernel: klogd 1.4.1#16, log source = /proc/kmsg started.
Dec 12 01:30:53 siamese kernel: Inspecting /boot/System.map-2.6.10-rc3-siam-c5ccf2
Dec 12 01:30:53 siamese kernel: Loaded 24983 symbols from /boot/System.map-2.6.10-rc3-siam-c5ccf2.
Dec 12 01:30:53 siamese kernel: Symbols match kernel version 2.6.10.
Dec 12 01:30:53 siamese kernel: No module symbols loaded - kernel modules not enabled. 
Dec 12 01:30:53 siamese kernel: Linux version 2.6.10-rc3-siam-c5ccf2 (junio@siamese) (gcc version 3.3.4 (Debian 1:3.3.4-13)) #1 Sat Dec 11 19:21:37 PST 2004
Dec 12 01:30:53 siamese kernel: BIOS-provided physical RAM map:
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 0000000000100000 - 000000002fff0000 (usable)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 000000002fff0000 - 000000002fff3000 (ACPI NVS)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 000000002fff3000 - 0000000030000000 (ACPI data)
Dec 12 01:30:53 siamese kernel:  BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
Dec 12 01:30:53 siamese kernel: 767MB LOWMEM available.
Dec 12 01:30:54 siamese kernel: DMI 2.3 present.
Dec 12 01:30:54 siamese kernel: Built 1 zonelists
Dec 12 01:30:54 siamese kernel: Kernel command line: BOOT_IMAGE=2610rc3siam+ ro root=900
Dec 12 01:30:54 siamese kernel: Local APIC disabled by BIOS -- you can enable it with "lapic"
Dec 12 01:30:54 siamese kernel: Initializing CPU#0
Dec 12 01:30:54 siamese kernel: PID hash table entries: 4096 (order: 12, 65536 bytes)
Dec 12 01:30:54 siamese kernel: Detected 750.116 MHz processor.
Dec 12 01:30:54 siamese kernel: Using tsc for high-res timesource
Dec 12 01:30:54 siamese kernel: Console: colour VGA+ 80x25
Dec 12 01:30:54 siamese kernel: Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Dec 12 01:30:54 siamese kernel: Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Dec 12 01:30:54 siamese kernel: Memory: 775944k/786368k available (1749k kernel code, 9932k reserved, 563k data, 412k init, 0k highmem)
Dec 12 01:30:54 siamese kernel: Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dec 12 01:30:54 siamese kernel: Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Dec 12 01:30:54 siamese kernel: CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
Dec 12 01:30:54 siamese kernel: CPU: L2 Cache: 64K (64 bytes/line)
Dec 12 01:30:54 siamese kernel: Intel machine check architecture supported.
Dec 12 01:30:54 siamese kernel: Intel machine check reporting enabled on CPU#0.
Dec 12 01:30:54 siamese kernel: CPU: AMD Duron(tm) Processor stepping 01
Dec 12 01:30:54 siamese kernel: Enabling fast FPU save and restore... done.
Dec 12 01:30:54 siamese kernel: Checking 'hlt' instruction... OK.
Dec 12 01:30:54 siamese kernel: NET: Registered protocol family 16
Dec 12 01:30:54 siamese kernel: PCI: PCI BIOS revision 2.10 entry at 0xfb2d0, last bus=1
Dec 12 01:30:54 siamese kernel: PCI: Using configuration type 1
Dec 12 01:30:54 siamese kernel: mtrr: v2.0 (20020519)
Dec 12 01:30:54 siamese kernel: PCI: Probing PCI hardware
Dec 12 01:30:54 siamese kernel: PCI: Probing PCI hardware (bus 00)
Dec 12 01:30:54 siamese kernel: Disabling VIA memory write queue (PCI ID 0305, rev 03): [55] 89 & 1f -> 09
Dec 12 01:30:54 siamese kernel: PCI: Using IRQ router VIA [1106/0686] at 0000:00:07.0
Dec 12 01:30:54 siamese kernel: Machine check exception polling timer started.
Dec 12 01:30:54 siamese kernel: apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
Dec 12 01:30:54 siamese kernel: Initializing Cryptographic API
Dec 12 01:30:54 siamese kernel: Applying VIA southbridge workaround.
Dec 12 01:30:54 siamese kernel: PCI: Disabling Via external APIC routing
Dec 12 01:30:54 siamese kernel: nvidiafb: nVidia device/chipset 10DE0110
Dec 12 01:30:54 siamese kernel: nvidiafb: nVidia Corporation NV11 [GeForce2 MX/MX 400]
Dec 12 01:30:54 siamese kernel: nvidiafb: EDID found from BUS1
Dec 12 01:30:54 siamese kernel: ========================================
Dec 12 01:30:54 siamese kernel: Display Information (EDID)
Dec 12 01:30:54 siamese kernel: ========================================
Dec 12 01:30:54 siamese kernel:    EDID Version 1.2
Dec 12 01:30:54 siamese kernel:    Manufacturer: VSC
Dec 12 01:30:54 siamese kernel:    Model: 5a44
Dec 12 01:30:54 siamese kernel:    Serial#: 2694881440
Dec 12 01:30:54 siamese kernel:    Year: 2150 Week 14
Dec 12 01:30:54 siamese kernel:    Serial Number: DZ01401434
Dec 12 01:30:54 siamese kernel:    Monitor Name: PF775
Dec 12 01:30:54 siamese kernel:    Display Characteristics:
Dec 12 01:30:54 siamese kernel:       Monitor Operating Limits: From EDID
Dec 12 01:30:54 siamese kernel:            H: 30-97KHz V: 50-180Hz DCLK: 200MHz
Dec 12 01:30:54 siamese kernel:       Digital Display Input
Dec 12 01:30:54 siamese kernel:       Sync: 
Dec 12 01:30:54 siamese kernel:       Max H-size in cm: 160
Dec 12 01:30:54 siamese kernel:       Max V-size in cm: 160
Dec 12 01:30:54 siamese kernel:       Gamma: 2.60
Dec 12 01:30:54 siamese kernel:       DPMS: Active yes, Suspend yes, Standby yes
Dec 12 01:30:54 siamese kernel:       RGB Color Display
Dec 12 01:30:54 siamese kernel:       Chroma
Dec 12 01:30:54 siamese kernel:          RedX:     0.627 RedY:     0.342
Dec 12 01:30:54 siamese kernel:          GreenX:   0.289 GreenY:   0.605
Dec 12 01:30:54 siamese kernel:          BlueX:    0.150 BlueY:    0.070
Dec 12 01:30:54 siamese kernel:          WhiteX:   0.283 WhiteY:   0.298
Dec 12 01:30:54 siamese kernel:       First DETAILED Timing is preferred
Dec 12 01:30:54 siamese kernel:       Display is GTF capable
Dec 12 01:30:54 siamese kernel:    Supported VESA Modes
Dec 12 01:30:54 siamese kernel:       720x400@70Hz
Dec 12 01:30:54 siamese kernel:       640x480@60Hz
Dec 12 01:30:54 siamese kernel:       800x600@72Hz
Dec 12 01:30:54 siamese kernel:       800x600@75Hz
Dec 12 01:30:54 siamese kernel:       832x624@75Hz
Dec 12 01:30:54 siamese kernel:       1024x768@87Hz Interlaced
Dec 12 01:30:54 siamese kernel:       1024x768@60Hz
Dec 12 01:30:54 siamese kernel:       1024x768@70Hz
Dec 12 01:30:54 siamese kernel:       1024x768@75Hz
Dec 12 01:30:54 siamese kernel:       1280x1024@75Hz
Dec 12 01:30:54 siamese kernel:       1152x870@75Hz
Dec 12 01:30:54 siamese kernel:       Manufacturer's mask: 0
Dec 12 01:30:54 siamese kernel:    Standard Timings
Dec 12 01:30:54 siamese kernel:       640x480@85Hz
Dec 12 01:30:54 siamese kernel:       800x600@85Hz
Dec 12 01:30:54 siamese kernel:       1528x1146@75Hz
Dec 12 01:30:54 siamese kernel:       1280x960@60Hz
Dec 12 01:30:54 siamese kernel:       1280x960@85Hz
Dec 12 01:30:54 siamese kernel:       1280x1024@85Hz
Dec 12 01:30:54 siamese kernel:       1528x1222@60Hz
Dec 12 01:30:54 siamese kernel:       1600x1200@75Hz
Dec 12 01:30:54 siamese kernel:    Detailed Timings
Dec 12 01:30:54 siamese kernel:       94 MHz 1024 1072 1168 1376 768 769 772 808 +HSync +VSync
Dec 12 01:30:54 siamese kernel: 
Dec 12 01:30:54 siamese kernel: ========================================
Dec 12 01:30:54 siamese kernel: nvidiafb: Unable to detect which CRTCNumber...
Dec 12 01:30:54 siamese kernel: ...Defaulting to CRTCNumber 1
Dec 12 01:30:54 siamese kernel: nvidiafb: Using DFP on CRTC 1
Dec 12 01:30:54 siamese kernel: Panel size is 1 x 1
Dec 12 01:30:54 siamese kernel: nvidiafb: MTRR set to ON
Dec 12 01:30:54 siamese kernel: Real Time Clock Driver v1.12
Dec 12 01:30:54 siamese kernel: Linux agpgart interface v0.100 (c) Dave Jones
Dec 12 01:30:54 siamese kernel: agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
Dec 12 01:30:54 siamese kernel: agpgart: Maximum main memory to use for agp memory: 690M
Dec 12 01:30:54 siamese kernel: agpgart: AGP aperture is 128M @ 0xd0000000

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-12 10:00   ` Junio C Hamano
@ 2004-12-13 20:52     ` Antonino A. Daplas
  2004-12-13 21:47       ` Antonino A. Daplas
  2004-12-14  1:57       ` Junio C Hamano
  0 siblings, 2 replies; 10+ messages in thread
From: Antonino A. Daplas @ 2004-12-13 20:52 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux-fbdev-devel

On Sunday 12 December 2004 18:00, Junio C Hamano wrote:
> >>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:
>
> AAD> 1. Change this line in drivers/video/fbmon.c
>
> AAD> #undef DEBUG
> AAD> to
> AAD> #define DEBUG
>
> >>> Will do, but I have one question.  The last time I tried
> >>> turning debugging on on rivafb-i2c it was very unpleasant;
>
> AAD> No :-), this is not for nvidiafb but for the EDID parser, and it will
> give AAD> you a very descriptive parsing of the EDID block.
>
> The attached is what I got in the kernel boot log.  Again,
> AFAICT the display is an analog CRT but one of the decoded lines
> say "Digital Display Input".  Anyway I'll disable the i2c stuff
> in the meantime as you recommended.
>

Can you try this patch and enable nvidiafb-i2c. It adds your monitor model
to the database of displays with broken edid's and attempts a fix. It checks
first if the monitor is GTF capable, and if it is, sets the input type from
digital to analog. (I don't think digital inputs can be GTF capable).

However, do you know if your monitor model does support digital input?

Tony

diff -Nru a/drivers/video/fbmon.c b/drivers/video/fbmon.c
--- a/drivers/video/fbmon.c	2004-11-21 22:32:56 +08:00
+++ b/drivers/video/fbmon.c	2004-12-14 04:38:30 +08:00
@@ -50,6 +50,7 @@
 #endif
 
 #define FBMON_FIX_HEADER 1
+#define FBMON_FIX_INPUT  2
 
 #ifdef CONFIG_FB_MODE_HELPERS
 struct broken_edid {
@@ -60,9 +61,16 @@
 
 static struct broken_edid brokendb[] = {
 	/* DEC FR-PCXAV-YZ */
-	{ .manufacturer = "DEC",
-	  .model        = 0x073a,
-	  .fix          = FBMON_FIX_HEADER,
+	{
+		.manufacturer = "DEC",
+		.model        = 0x073a,
+		.fix          = FBMON_FIX_HEADER,
+	},
+	/* ViewSonic PF775a */
+	{
+		.manufacturer = "VSC",
+		.model        = 0x5a44,
+		.fix          = FBMON_FIX_INPUT,
 	},
 };
 
@@ -80,9 +88,10 @@
   while (i-- && (*--s == 0x20)) *s = 0;
 }
 
-static void fix_broken_edid(unsigned char *edid)
+static void fix_edid(unsigned char *edid)
 {
 	unsigned char *block = edid + ID_MANUFACTURER_NAME, manufacturer[4];
+	unsigned char *b;
 	u32 model, i;
 
 	manufacturer[0] = ((block[0] & 0x7c) >> 2) + '@';
@@ -95,15 +104,23 @@
 	for (i = 0; i < ARRAY_SIZE(brokendb); i++) {
 		if (!strncmp(manufacturer, brokendb[i].manufacturer, 4) &&
 			brokendb[i].model == model) {
+			
+			printk("fbmon: The EDID Block of "
+			       "Manufacturer: %s Model: 0x%x is known to "
+			       "be broken,\n",  manufacturer, model);
 			switch (brokendb[i].fix) {
 			case FBMON_FIX_HEADER:
-				printk("fbmon: The EDID header of "
-				       "Manufacturer: %s Model: 0x%x is "
-				       "known to be broken,\n"
-				       "fbmon: trying a header "
-				       "reconstruct\n", manufacturer, model);
+				printk("fbmon: trying a header "
+				       "reconstruct\n");
 				memcpy(edid, edid_v1_header, 8);
 				break;
+			case FBMON_FIX_INPUT:
+				printk("fbmon: trying to fix input type\n");
+				b = edid + EDID_STRUCT_DISPLAY;
+				/* Only if display is GTF capable will
+				   the input type be reset to analog */
+				if (b[4] & 0x01)
+					b[0] &= ~0x80;
 			}
 		}
 	}
@@ -112,6 +129,9 @@
 static int edid_checksum(unsigned char *edid)
 {
 	unsigned char i, csum = 0, all_null = 0;
+	int err = 0;
+
+	fix_edid(edid);
 
 	for (i = 0; i < EDID_LENGTH; i++) {
 		csum += edid[i];
@@ -120,38 +140,23 @@
 
 	if (csum == 0x00 && all_null) {
 		/* checksum passed, everything's good */
-		return 1;
+		err = 1;
 	}
 
-	fix_broken_edid(edid);
-	csum = all_null = 0;
-	for (i = 0; i < EDID_LENGTH; i++) {
-		csum += edid[i];
-		all_null |= edid[i];
-	}
-	if (csum != 0x00 || !all_null) {
-		printk("EDID checksum failed, aborting\n");
-		return 0;
-	}
-	return 1;
+	return err;
 }
 
 static int edid_check_header(unsigned char *edid)
 {
-	int i, fix = 0;
+	int i, err = 1;
 
-	for (i = 0; i < 8; i++) {
-		if (edid[i] != edid_v1_header[i])
-			fix = 1;
-	}
-	if (!fix)
-		return 1;
+	fix_edid(edid);
 
-	fix_broken_edid(edid);
 	for (i = 0; i < 8; i++) {
 		if (edid[i] != edid_v1_header[i])
-			return 0;
+			err = 0;
 	}
+
 	return 1;
 }
 




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-13 20:52     ` Antonino A. Daplas
@ 2004-12-13 21:47       ` Antonino A. Daplas
  2004-12-14  7:51         ` Junio C Hamano
  2004-12-14  1:57       ` Junio C Hamano
  1 sibling, 1 reply; 10+ messages in thread
From: Antonino A. Daplas @ 2004-12-13 21:47 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux-fbdev-devel

On Tuesday 14 December 2004 04:52, Antonino A. Daplas wrote:

> Can you try this patch and enable nvidiafb-i2c. It adds your monitor model
> to the database of displays with broken edid's and attempts a fix. It
> checks first if the monitor is GTF capable, and if it is, sets the input
> type from digital to analog. (I don't think digital inputs can be GTF
> capable).

Apply this patch too, I forgot to adjust the checksum.

Tony

diff -Nru a/drivers/video/fbmon.c b/drivers/video/fbmon.c
--- a/drivers/video/fbmon.c	2004-12-14 04:38:30 +08:00
+++ b/drivers/video/fbmon.c	2004-12-14 05:46:20 +08:00
@@ -119,8 +119,10 @@
 				b = edid + EDID_STRUCT_DISPLAY;
 				/* Only if display is GTF capable will
 				   the input type be reset to analog */
-				if (b[4] & 0x01)
+				if (b[4] & 0x01) {
 					b[0] &= ~0x80;
+					edid[127] += 0x80;
+				}
 			}
 		}
 	}





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-13 20:52     ` Antonino A. Daplas
  2004-12-13 21:47       ` Antonino A. Daplas
@ 2004-12-14  1:57       ` Junio C Hamano
  2004-12-14 12:02         ` Antonino A. Daplas
  1 sibling, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2004-12-14  1:57 UTC (permalink / raw)
  To: adaplas; +Cc: linux-fbdev-devel

>>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:

AAD> Can you try this patch and enable nvidiafb-i2c. It adds
AAD> your monitor model to the database of displays with broken
AAD> edid's and attempts a fix. It checks first if the monitor
AAD> is GTF capable, and if it is, sets the input type from
AAD> digital to analog. (I don't think digital inputs can be GTF
AAD> capable).

Sorry, but I do not know what GTF is.  I'll trust you with that
detection logic ;-).

AAD> However, do you know if your monitor model does support digital input?

I looked at the back of the monitor last night.  There is a hole
about 1cm in diameter, which is covered.  Presumably their
slightly different model that shares the same enclosure uses the
hole for digital input cable?  But not the one I have.  The
datasheet I have on PF775 also says it is an anolog monitor with
D-sub connector and nothing else.

- http://www.tlccsi.com/pdf/pf775.pdf



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] GeForce 5200 on rivafb
  2004-12-13 21:47       ` Antonino A. Daplas
@ 2004-12-14  7:51         ` Junio C Hamano
  2004-12-15 20:02           ` Antonino A. Daplas
  0 siblings, 1 reply; 10+ messages in thread
From: Junio C Hamano @ 2004-12-14  7:51 UTC (permalink / raw)
  To: Antonino A. Daplas; +Cc: linux-fbdev-devel

>>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:

AAD> Can you try this patch and enable nvidiafb-i2c. It adds your monitor model
AAD> to the database of displays with broken edid's and attempts a fix. It
AAD> checks first if the monitor is GTF capable, and if it is, sets the input
AAD> type from digital to analog. (I don't think digital inputs can be GTF
AAD> capable).

AAD> Apply this patch too, I forgot to adjust the checksum.

Thanks as always for a quick help.

With those two patches, your fixup message appears in the boot
log 6 times (is it expected?).  The monitor does not go blank
anymore; it safely defaults to CRTCNumber 0.  Overall, it is as
if I am using your nvidiafb driver without nvidia-i2c ;-).

Boot time kernel message is attached here.

----------------------------------------------------------------

nvidiafb: nVidia device/chipset 10DE0110
nvidiafb: nVidia Corporation NV11 [GeForce2 MX/MX 400]
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
nvidiafb: EDID found from BUS1
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
========================================
Display Information (EDID)
========================================
   EDID Version 1.2
   Manufacturer: VSC
   Model: 5a44
   Serial#: 2694881440
   Year: 2150 Week 14
   Serial Number: DZ01401434
   Monitor Name: PF775
   Display Characteristics:
      Monitor Operating Limits: From EDID
           H: 30-97KHz V: 50-180Hz DCLK: 200MHz
      Analog Display Input: Input Voltage - 0.714V/0.286V
      Sync: 
      Max H-size in cm: 160
      Max V-size in cm: 160
      Gamma: 2.60
      DPMS: Active yes, Suspend yes, Standby yes
      RGB Color Display
      Chroma
         RedX:     0.627 RedY:     0.342
         GreenX:   0.289 GreenY:   0.605
         BlueX:    0.150 BlueY:    0.070
         WhiteX:   0.283 WhiteY:   0.298
      First DETAILED Timing is preferred
      Display is GTF capable
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
fbmon: The EDID Block of Manufacturer: VSC Model: 0x5a44 is known to be broken,
fbmon: trying to fix input type
   Supported VESA Modes
      720x400@70Hz
      640x480@60Hz
      800x600@72Hz
      800x600@75Hz
      832x624@75Hz
      1024x768@87Hz Interlaced
      1024x768@60Hz
      1024x768@70Hz
      1024x768@75Hz
      1280x1024@75Hz
      1152x870@75Hz
      Manufacturer's mask: 0
   Standard Timings
      640x480@85Hz
      800x600@85Hz
      1528x1146@75Hz
      1280x960@60Hz
      1280x960@85Hz
      1280x1024@85Hz
      1528x1222@60Hz
      1600x1200@75Hz
   Detailed Timings
      94 MHz 1024 1072 1168 1376 768 769 772 808 +HSync +VSync

========================================
nvidiafb: Unable to detect which CRTCNumber...
...Defaulting to CRTCNumber 0
nvidiafb: Using CRT on CRTC 0
nvidiafb: MTRR set to ON
Console: switching to colour frame buffer device 128x48
nvidiafb: PCI nVidia NV11 framebuffer (64MB @ 0xD8000000)
Real Time Clock Driver v1.12
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
agpgart: Maximum main memory to use for agp memory: 690M
agpgart: AGP aperture is 128M @ 0xd0000000





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-14  1:57       ` Junio C Hamano
@ 2004-12-14 12:02         ` Antonino A. Daplas
  0 siblings, 0 replies; 10+ messages in thread
From: Antonino A. Daplas @ 2004-12-14 12:02 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux-fbdev-devel

On Tuesday 14 December 2004 09:57, Junio C Hamano wrote:
> >>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:
>
> AAD> Can you try this patch and enable nvidiafb-i2c. It adds
> AAD> your monitor model to the database of displays with broken
> AAD> edid's and attempts a fix. It checks first if the monitor
> AAD> is GTF capable, and if it is, sets the input type from
> AAD> digital to analog. (I don't think digital inputs can be GTF
> AAD> capable).
>
> Sorry, but I do not know what GTF is.  I'll trust you with that
> detection logic ;-).

Generalized Timing Formula.  It's a VESA standard that allows mode setting
given just the horizontal and vertical resolutions, and any of the following:

vertical refresh,
horizontal frequency, or
dotclock.

Meaning, no need for mode tables, and it can support practically any combination
of xres, yres and refresh rates.

>
> AAD> However, do you know if your monitor model does support digital input?
>
> I looked at the back of the monitor last night.  There is a hole
> about 1cm in diameter, which is covered.  Presumably their
> slightly different model that shares the same enclosure uses the
> hole for digital input cable?  But not the one I have.  The
> datasheet I have on PF775 also says it is an anolog monitor with
> D-sub connector and nothing else.

Ok.  I would presume that the model that does support digital input will also
have a different model id in its EDID block.

Tony




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-14  7:51         ` Junio C Hamano
@ 2004-12-15 20:02           ` Antonino A. Daplas
  2004-12-15 21:22             ` Junio C Hamano
  0 siblings, 1 reply; 10+ messages in thread
From: Antonino A. Daplas @ 2004-12-15 20:02 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: linux-fbdev-devel

On Tuesday 14 December 2004 15:51, Junio C Hamano wrote:
> >>>>> "AAD" == Antonino A Daplas <adaplas@hotpop.com> writes:
>
> AAD> Can you try this patch and enable nvidiafb-i2c. It adds your monitor
> model AAD> to the database of displays with broken edid's and attempts a
> fix. It AAD> checks first if the monitor is GTF capable, and if it is, sets
> the input AAD> type from digital to analog. (I don't think digital inputs
> can be GTF AAD> capable).
>
> AAD> Apply this patch too, I forgot to adjust the checksum.
>
> Thanks as always for a quick help.
>
> With those two patches, your fixup message appears in the boot
> log 6 times (is it expected?).  The monitor does not go blank

Yes, it should be printed only once. 

> anymore; it safely defaults to CRTCNumber 0.  Overall, it is as
> if I am using your nvidiafb driver without nvidia-i2c ;-).

No, of course not.  There are certain advantages:

1. Without boot options, your display will automatically go to
   1024x768@85 Hz, since this is the preferred timing.

2. The driver will refuse modes that exceeds the monitor's operating.

3.  Because your display is GTF capable, all you need to do is:

fbset -xres 1600 -yres 1200 /* xres and yres can be any value */

and as long as #2 is satisfied, the modeline for 1600x1200 at the highest
refresh rate will be computed, no need to enter a modline in /etc/fb.modes.

Tony




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Re: [PATCH] GeForce 5200 on rivafb
  2004-12-15 20:02           ` Antonino A. Daplas
@ 2004-12-15 21:22             ` Junio C Hamano
  0 siblings, 0 replies; 10+ messages in thread
From: Junio C Hamano @ 2004-12-15 21:22 UTC (permalink / raw)
  To: adaplas; +Cc: linux-fbdev-devel

>>>>> "AAC" == Antonino A Daplas <adaplas@hotpop.com> writes:

AAC> On Tuesday 14 December 2004 15:51, Junio C Hamano wrote:

>> Overall, it is as
>> if I am using your nvidiafb driver without nvidia-i2c ;-).

AAC> No, of course not.

Sorry, I did not mean 'as if I am running without it and not
getting any benefit from it'.  What I meant was 'without the
unpleasantness I experienced last time with it, which was coming
from the broken EDID block'.  Thanks for the fixup code.

AAC> There are certain advantages:

Yes, all true.  Thanks.



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-12-16  4:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-11 21:11 [PATCH] GeForce 5200 on rivafb Antonino A. Daplas
2004-12-12  2:25 ` Junio C Hamano
2004-12-12 10:00   ` Junio C Hamano
2004-12-13 20:52     ` Antonino A. Daplas
2004-12-13 21:47       ` Antonino A. Daplas
2004-12-14  7:51         ` Junio C Hamano
2004-12-15 20:02           ` Antonino A. Daplas
2004-12-15 21:22             ` Junio C Hamano
2004-12-14  1:57       ` Junio C Hamano
2004-12-14 12:02         ` Antonino A. Daplas

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).