nvidiafb, monitor A & B and CRTC 0 & 1

3 messages, 2 authors, 2007-04-01 · open the first message on its own page

nvidiafb, monitor A & B and CRTC 0 & 1

From: Petr Vandrovec <hidden>
Date: 2007-03-25 13:02:04

Hello,
  how much are you sure that monitor A i2c should use ddc_base 0x3E, and monitor B base 0x36 ?  Yesterday I connected TV (using HDMI cable) to my box, and ... it came up in 720x480 resolution, and fbset allowed me to go only up to 1920x540.  Which was quite surprising as when nvidiafb gets loaded second output stays in whatever mode it was before (720x400, text), displaying garbage, and only primary output does something.

After I added some debugging printks I've found that code became a bit confused because it believed that primary monitor is 1920x540, but later it found in CRTC0's registers that panel size is 1920x1200 (Windows also agree that 1920x1200 is primary monitor, and 1920x1080i secondary one).

When I applied attached patch then my monitor became as happy as it was before I connected HDMI cable to secondary output.
					Thanks,
						Petr

[just in case]
Signed-off-by: Petr Vandrovec <redacted>

Before patch:

ACPI: PCI Interrupt Link [APC8] enabled at IRQ 16
ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [APC8] -> GSI 16 (level, low) -> IRQ 16
nvidiafb: Device ID: 10de0295
nvidiafb: CRTC0 analog not found
nvidiafb: CRTC1 analog not found
edid: 1920 x 540, 13468
nvidiafb: EDID found from BUS1
edid: 1920 x 1200, 6493
nvidiafb: EDID found from BUS2
nvidiafb: CRTC 0 is currently programmed for DFP
nvidiafb: Using DFP on CRTC 0
nvidiafb: Panel size is 1920 x 1200
nvidiafb: Panel is TMDS
nvidiafb: MTRR set to ON
nvidiafb: Flat panel dithering disabled
Console: switching to colour frame buffer device 90x30
nvidiafb: PCI nVidia NV29 framebuffer (64MB @ 0xE0000000)

After patch:

ACPI: PCI Interrupt Link [APC8] enabled at IRQ 16
ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [APC8] -> GSI 16 (level, low) -> IRQ 16
nvidiafb: Device ID: 10de0295
nvidiafb: CRTC0 analog not found
nvidiafb: CRTC1 analog not found
edid: 1920 x 1200, 6493
nvidiafb: EDID found from BUS1
edid: 1920 x 540, 13468
nvidiafb: EDID found from BUS2
nvidiafb: CRTC 0 is currently programmed for DFP
nvidiafb: Using DFP on CRTC 0
nvidiafb: Panel size is 1920 x 1200
nvidiafb: Panel is TMDS
nvidiafb: MTRR set to ON
nvidiafb: Flat panel dithering disabled
Console: switching to colour frame buffer device 240x75
nvidiafb: PCI nVidia NV29 framebuffer (64MB @ 0xE0000000)

Monitor:
	# EDID version 1 revision 3
Section "Monitor"
	# Block type: 2:0 3:fc
	Identifier "FPD2485W"
	VendorName "GWY"
	ModelName "FPD2485W"
	# Block type: 2:0 3:fc
	# Block type: 2:0 3:fd
	HorizSync 30-83
	VertRefresh 56-76
	# Max dot clock (video bandwidth) 160 MHz
	# Block type: 2:0 3:ff
	# DPMS capabilities: Active off:yes  Suspend:no  Standby:no

	Mode 	"1920x1200"	# vfreq 59.950Hz, hfreq 74.038kHz
		DotClock	154.000000
		HTimings	1920 1968 2000 2080
		VTimings	1200 1203 1209 1235
		Flags	"-HSync" "+VSync"
	EndMode
	# Block type: 2:0 3:fc
	# Block type: 2:0 3:fd
	# Block type: 2:0 3:ff
EndSection

TV:
	# EDID version 1 revision 3
Section "Monitor"
	# Block type: 2:0 3:fc
	Identifier "LT-40FN97"
	VendorName "JVC"
	ModelName "LT-40FN97"
	# Block type: 2:0 3:fc
	# Block type: 2:0 3:fd
	HorizSync 15-46
	VertRefresh 59-61
	# Max dot clock (video bandwidth) 80 MHz
	# DPMS capabilities: Active off:yes  Suspend:no  Standby:no

	Mode 	"1920x540"	# vfreq 60.053Hz, hfreq 33.750kHz
		DotClock	74.250000
		HTimings	1920 2008 2052 2200
		VTimings	540 542 547 562
		Flags	"Interlace" "+HSync" "+VSync"
	EndMode
	Mode 	"720x480"	# vfreq 59.940Hz, hfreq 31.469kHz
		DotClock	27.000000
		HTimings	720 736 798 858
		VTimings	480 489 495 525
		Flags	"-HSync" "-VSync"
	EndMode
	# Block type: 2:0 3:fc
	# Block type: 2:0 3:fd
EndSection

Re: nvidiafb, monitor A & B and CRTC 0 & 1

From: "Antonino A. Daplas" <adaplas@gmail.com>
Date: 2007-03-31 11:51:43

On Sun, 2007-03-25 at 06:01 -0700, Petr Vandrovec wrote:
Hello,
   how much are you sure that monitor A i2c should use ddc_base 0x3E, 
and monitor B base 0x36 ?
This was chosen arbitrarily, hoping that the code will sort out which is
which.  If reversing the ports worked for you, I will not disagree with
the patch.

Thanks.

Tony



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Re: nvidiafb, monitor A & B and CRTC 0 & 1

From: Petr Vandrovec <hidden>
Date: 2007-04-01 00:48:42

Antonino A. Daplas wrote:
On Sun, 2007-03-25 at 06:01 -0700, Petr Vandrovec wrote:
quoted
Hello,
   how much are you sure that monitor A i2c should use ddc_base 0x3E, 
and monitor B base 0x36 ?
This was chosen arbitrarily, hoping that the code will sort out which is
which.  If reversing the ports worked for you, I will not disagree with
the patch.
Yes.  Without patch two analogs work fine (well, in that case nvidiafb 
does not care about maximum resolution), as well as analog+digital or 
digital+analog.  Only configuration which does not work correctly are 
two digital monitors.  With patch all four configurations work correctly 
on my hardware.  I do not have access to any other dual-dvi nvidia card, 
so I cannot tell whether BFGTech screwed up or whether there is some 
other problem.  Windows detect which display is first and which second 
correctly...
								Petr



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help