Last month NVIDIA announced they would begin providing open-source GPU documentation
and ultimately supporting the reverse-engineered open-source Nouveau graphics driver project for their Linux desktop customers. NVIDIA released some basic documentation in that initial push and now they have followed up with a tiny bit more documentation.
The new "open NVIDIA documentation" that was made public this week isn't as exciting as AMD's 3D/Compute GPU documentation
but the new text file documentation is helpful if you're a GK104 GPU owner and have been having issues with Nouveau.
The new documentation file made public is basically making public an error in the GK104 video BIOS that could cause problems for users of non-official NVIDIA drivers.
It turns out that a diagnostic setting was left enabled in the production vBIOS builds of some GK104-based graphics cards, including the GeForce GTX 680M, GeForce GTX 670MQ, Quadro K4000M, Quadro K4000M, and some other related GPUs. The diagnostic setting left on is where the vBIOS will turn a display output to red in case of display engine under-flows. The display would be red or just red pixels where pixels are missing.
Display engine under-flows is an occurrence where the current GPU performance state limits the GPU video memory bandwidth to an amount lower than the current streaming requirements for the display engine, i.e. the driver aggressively set the memory frequency too low. By making the screen red in debug builds of the video BIOS, it's easy for developers to see this problem is happening.
So NVIDIA's new documentation is just making known this situation and that some video BIOSes may have the setting on. For resolving it, the NVIDIA Linux driver disables the setting and so for helping Nouveau, NVIDIA pointed out the four per-head registers that can be set to avoid this debug feature. At least their documentation properly documented these few registers to address a problem a small number of Nouveau Linux users have encountered. From another perspective, this could potentially be of use to the Nouveau developers in being able to tap this feature for better testing when dealing with their troubled re-clocking support.
Those interested in seeing NVIDIA's open documentation can find it from the NVIDIA.com FTP server