[Openchrome-devel] I am working on fixing OpenChrome standby and resume code paths
kevinbrace at gmx.com
Tue Sep 1 13:25:58 PDT 2015
I know there has been very little progress on OpenChrome device driver development lately in terms of code commits, but I started working on fixing the code paths for standby and resume, and I hope to submit some code in the next month or so.
I assume Xavier Bachelot will accept the code.
When I can send the code to the lead developer depends on whether or not my code works in the first place.
I will not e-mail the modified code unless it works with the equipment I own.
I have about 9 or so VIA Technologies integrated graphics-based mainboards / computers at my place, but most of them only have VGA as screen output, so I cannot do too much testing on LCD screen related areas other than one VIA Technologies silicon laden laptop I have.
This laptop is called Epic Learning 1314 (It is a feature limited version of MSI VR321 laptop) I bought it pretty much solely for OpenChrome device driver development.
Unfortunately, when I put this laptop into standby (ACPI S3 State), I lose LCD screen functionality upon resume.
At this point, I can only use hibernation if I do not want to lose control of the LCD screen.
Obviously, I want standby to work, so I started to work on fixing this issue.
It appears that the code paths that handle standby and resume are not saving all the registers related to LCD (Secondary CRTC), and I believe saving and restoring all the relevant registers will ultimately fix the resume LCD screen issue.
It will be appreciated if someone can comment on the validity of this assumption.
I made a few fixes to the rest of the code as well.
For example, I changed "VM800" listed somewhere in the code to "VN800" since there is no such device called VM800 chipset.
As a result, he header file was modified, and a few modules that referenced "VM800."
Other than that, I have not really changed the rest of the code substantially at this point.
If anyone has integrated graphics documentation other than CX700 / VX700, VX800, VX875, and VX900, if it can be e-mail to me, that will be appreciated since I do not have the detailed register documentation for UniChrome (i.e., CLE266, KM400, etc.), UniChrome Pro (i.e., K8M800, etc.), and Intel and AMD platform Chrome 9 integrated graphics.
The CLE266 documentation I have is a chipset datasheet, and does not give detailed register bit field definitions.
These issues definitely slow down the development since sometimes I am not 100% sure certain registers even exist in UniChrome or UniChrome Pro (UniChrome Pro II documentation I have is for CX700 / VX700 chipset).
More information about the Openchrome-devel