View Single Post
Old 12-31-03, 01:36 PM   #1
Registered User
Join Date: Dec 2003
Location: Utah
Posts: 1
Default /dev/nvidiactl ioctl POST command

Call me ambitious, but I'm trying to get ACPI S3 suspend mode to work with the 2.6.0 kernel on my Dell laptop with a nvidia GForce4 MX card. I have everything working, except that the video card is never re-POSTed on resume. passing the acpi_sleep=s3_bios or acpi_sleep=s3_mode don't seem to help. People on the ACPI development mailing list seem to be uninterested in helping as soon as you mention nvidia.
You're all probably about to tell me that I can't suspend with the nvidia module because of the lack of acpi support - of this I am painfully aware. In my digging around, though, I found that there is an ioctl command that can be issued to the /dev/nvidiactl device to issue a POST command: NV_ESC_POST_VBIOS. So what I thought I'd do was use the nv driver, but on resume temporarily install the nvidia module and issue the POST command and remove it. Well, it turns out that with some more digging into the code, all the NV_ESC_POST_VBIOS ioctl command does is set the NV_FLAG_NEEDS_POSTING flag, but only if the NV_FLAG_WAS_POSTED flag is not set. After that, things get lost in the pre-compiled code.

what I'm wondering is if there is any possibility of finding out from nVidia how I could force the card to POST itself? I guess if not there is always the possibility of trampolining down to real-mode and issuing and int10. Or maybe X's xf86ExecX86int10 command would do something... Any ideas?
copaneco is offline   Reply With Quote