[PATCH] 835GM DLL setup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daniel, hi folks,

after another evening of debugging, I believe I know now how to prevent the ns2501 DVO from locking up. It rather seems that this is due to a bug in the intel_display module, in specific in the pll update function.

That is, edit intel_display.c, function i8xx_update_dll(), and insert the following lines to setup the PLL value:

	if (inten_pipe_has_type(&crtc->base,INTEL_OUTPUT_DVO)) {
		dpll |= DPLL_DVO_HIGH_SPEED;
	}

This is actually pretty much the same logic as in the i9xx setup, and this is the very same bit the ns2501 "hack" logic sets to enable the DVO. With this patch, I no longer see that the ns2501 hack actually has to re-activate the DVO, it just continues to run in all modes (1024x768 to 640x480).

There might still be a catch with external monitors connected, I'm not quite sure how this works. Screen duplication with 1024x768 and 800x600 works, but it does not work with 640x480 for reasons not quite clear to me. Maybe the DVO sits then on pipe B and the update logic is not called correctly, or the DVO does not need the high-speed flag in this specific case. Also, during bootup, the external monitor flickers as if the "watermark" levels are not set correctly. This goes away as soon as X starts up.

But anyhow, at least I believe the problem for the DVO "lockup" issue is found. The above patch probably needs to go into some other functions that modify the PLL settings.

I will try how much of the "ns2501 dvo hack" can now go away. It should hopefully no longer be necessary.

Greetings,
	Thomas
	
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux