Bug 86566

Summary: [NV96] nouveau_pmops_suspend returns -16
Product: xorg Reporter: Pierre Moreau <pierre.morrow>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg with noaccel=1 config=NvForcePost=1 none

Description Pierre Moreau 2014-11-22 10:50:11 UTC
Created attachment 109842 [details]
dmesg with noaccel=1 config=NvForcePost=1

Hardware:
* 9600M GT (NV96)
* 9400M (NVAC)

Tested on http://cgit.freedesktop.org/~darktama/nouveau/commit/?id=8c83f75747abb996509d01d30104fe820eae9d67

The NV96 card fails to suspend, with nouveau_pmops_suspend returning -16. PDISPLAY.CHANNEL[0].STAT (0x610200) value is not the one expected after the channel deactivation (see nv50_disp_core_fini in core/engine/disp/nv50.c).

I compared mmiotraces from Nouveau and the blob. 0x610200 default values differ greatly - for Nouveau: 0x0d050029, for Nvidia: 0x48000008 - if config=NvForcePost=1 isn't given (the blob is running it by default, not Nouveau); adding ForcePost doesn't help. There are some differences in SOR and PIOR caps but getting them to match the blob ones doesn't help.
Comment 1 Pierre Moreau 2015-05-06 21:33:13 UTC
Still an issue with latest Git. Any ideas on what could go wrong / how to proceed - apart from shamelessly copy/pasting the blob :D -?
Comment 2 Pierre Moreau 2015-09-03 23:27:21 UTC
Same fix as for #86537.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.