Re: Partial success - Fixing resume from s2ram on S6010

Ville Syrjälä
2014-06-09T11:09:04Z

On Mon, Jun 09, 2014 at 12:57:46PM +0200, Thomas Richter wrote:
> Hi Ville, dear intel experts,
>
> without the deadlock in i915, I had at least a partial success in
> restoring the video on the Fujitsu S6010.
> Apparently, the bios does not re-initialize the 830MG registers, nor the
> registers of the ns2501 DVO.
> Instead, the 830MG is configured in a 640x480 mode (no matter what the
> suspend mode was) and
> the DVO is configured in a DPMS off state (no matter what the mode was
> before the suspend).
>
> The attached script, to be placed in /etc/pm/sleep.d/99video will force
> correct values back into the registers
> and thus restore the display. Partially. Trouble still is that the
> restored screen has some type of "hick-up" by
> moving left or right by a couple of pixels (probably exactly by one
> tile, I did not measure). Interestingly,
> a dump of the DVO and 830MG registers did not reveal any significant
> difference before and after the restore,
> so it is still unclear why that hick-up appears.
>
> Anyhow - it seems that $OTHER_OS has a completely different strategy for
> resume than Linux. $OTHER_OS seems
> to simply re-load the video registers for the currently active mode,
> ignoring the current state of the hardware.
> The i915 kernel module instead seems to try to interpret the current
> register set to a video mode, and then
> restores its state from the state of the hardware.

No, we do restore the mode you were using before suspend.

Are you still using vbetool? That would explain why things go bad since
vbetool will clobber whatever i915 already did.

--
Ville Syrjälä
Intel OTC