From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: [PATCH 4/4] drm/nouveau/acpi: fix lockup with PCIe runtime PM Date: Wed, 25 May 2016 00:53:01 +0200 Message-ID: <1464130381-4797-5-git-send-email-peter@lekensteyn.nl> References: <1464130381-4797-1-git-send-email-peter@lekensteyn.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1464130381-4797-1-git-send-email-peter-VTkQYDcBqhK7DlmcbJSQ7g@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Dave Airlie , linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Bjorn Helgaas , Mika Westerberg , linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: dri-devel@lists.freedesktop.org U2luY2UgIlBDSTogQWRkIHJ1bnRpbWUgUE0gc3VwcG9ydCBmb3IgUENJZSBwb3J0cyIsIHRoZSBw YXJlbnQgUENJZSBwb3J0CmNhbiBiZSBydW50aW1lLXN1c3BlbmRlZCB3aGljaCBkaXNhYmxlcyBw b3dlciByZXNvdXJjZXMgdmlhIEFDUEkuIFRoaXMKaXMgaW5jb21wYXRpYmxlIHdpdGggRFNNLCBy ZXN1bHRpbmcgaW4gYSBHUFUgZGV2aWNlIHdoaWNoIGlzIHN0aWxsIGluIEQzCmFuZCBsb2NrcyB1 cCB0aGUga2VybmVsIG9uIHJlc3VtZS4KCk1pcnJvciB0aGUgYmVoYXZpb3Igb2YgV2luZG93cyA4 IGFuZCBuZXdlclsxXSAoYXMgb2JzZXJ2ZWQgdmlhIGFuIEFNTGkKZGVidWdnZXIgdHJhY2UpIGFu ZCBzdG9wIHVzaW5nIHRoZSBEU00gZnVuY3Rpb25zIGZvciBEM2NvbGQgd2hlbiBwb3dlcgpyZXNv dXJjZXMgYXJlIGF2YWlsYWJsZSBvbiB0aGUgcGFyZW50IFBDSWUgcG9ydC4KCiBbMV06IGh0dHBz Oi8vbXNkbi5taWNyb3NvZnQuY29tL3dpbmRvd3MvaGFyZHdhcmUvZHJpdmVycy9icmluZ3VwL2Zp cm13YXJlLXJlcXVpcmVtZW50cy1mb3ItZDNjb2xkCgpTaWduZWQtb2ZmLWJ5OiBQZXRlciBXdSA8 cGV0ZXJAbGVrZW5zdGV5bi5ubD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2FjcGkuYyB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9hY3BpLmMKaW5kZXggZGY5ZjczZS4uZTQ2OWRmNyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKQEAgLTQ2LDYgKzQ2LDcgQEAgc3RhdGljIHN0cnVj dCBub3V2ZWF1X2RzbV9wcml2IHsKIAlib29sIGRzbV9kZXRlY3RlZDsKIAlib29sIG9wdGltdXNf ZGV0ZWN0ZWQ7CiAJYm9vbCBvcHRpbXVzX2ZsYWdzX2RldGVjdGVkOworCWJvb2wgb3B0aW11c19z a2lwX2RzbTsKIAlhY3BpX2hhbmRsZSBkaGFuZGxlOwogCWFjcGlfaGFuZGxlIHJvbV9oYW5kbGU7 CiB9IG5vdXZlYXVfZHNtX3ByaXY7CkBAIC0yMTIsOCArMjEzLDI2IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgdmdhX3N3aXRjaGVyb29faGFuZGxlciBub3V2ZWF1X2RzbV9oYW5kbGVyID0gewogCS5n ZXRfY2xpZW50X2lkID0gbm91dmVhdV9kc21fZ2V0X2NsaWVudF9pZCwKIH07CiAKKy8qIEZpcm13 YXJlIHN1cHBvcnRpbmcgV2luZG93cyA4IG9yIGxhdGVyIGRvIG5vdCB1c2UgX0RTTSB0byBwdXQg dGhlIGRldmljZSBpbnRvCisgKiBEM2NvbGQsIHRoZXkgaW5zdGVhZCByZWx5IG9uIGRpc2FibGlu ZyBwb3dlciByZXNvdXJjZXMgb24gdGhlIHBhcmVudC4gKi8KK3N0YXRpYyBib29sIG5vdXZlYXVf cHIzX3ByZXNlbnQoc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisJc3RydWN0IHBjaV9kZXYgKnBh cmVudF9wZGV2ID0gcGNpX3Vwc3RyZWFtX2JyaWRnZShwZGV2KTsKKwlzdHJ1Y3QgYWNwaV9kZXZp Y2UgKmFkOworCisJaWYgKCFwYXJlbnRfcGRldikKKwkJcmV0dXJuIGZhbHNlOworCisJYWQgPSBB Q1BJX0NPTVBBTklPTigmcGFyZW50X3BkZXYtPmRldik7CisJaWYgKCFhZCkKKwkJcmV0dXJuIGZh bHNlOworCisJcmV0dXJuIGFkLT5wb3dlci5mbGFncy5wb3dlcl9yZXNvdXJjZXM7Cit9CisKIHN0 YXRpYyB2b2lkIG5vdXZlYXVfZHNtX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgYm9v bCAqaGFzX211eCwKLQkJCQkgIGJvb2wgKmhhc19vcHQsIGJvb2wgKmhhc19vcHRfZmxhZ3MpCisJ CQkJICBib29sICpoYXNfb3B0LCBib29sICpoYXNfb3B0X2ZsYWdzLAorCQkJCSAgYm9vbCAqaGFz X3Bvd2VyX3Jlc291cmNlcykKIHsKIAlhY3BpX2hhbmRsZSBkaGFuZGxlOwogCWJvb2wgc3VwcG9y dHNfbXV4OwpAQCAtMjM4LDYgKzI1Nyw3IEBAIHN0YXRpYyB2b2lkIG5vdXZlYXVfZHNtX3BjaV9w cm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgYm9vbCAqaGFzX211eCwKIAkqaGFzX211eCA9IHN1 cHBvcnRzX211eDsKIAkqaGFzX29wdCA9ICEhb3B0aW11c19mdW5jczsKIAkqaGFzX29wdF9mbGFn cyA9IG9wdGltdXNfZnVuY3MgJiAoMSA8PCBOT1VWRUFVX0RTTV9PUFRJTVVTX0ZMQUdTKTsKKwkq aGFzX3Bvd2VyX3Jlc291cmNlcyA9IGZhbHNlOwogCiAJaWYgKG9wdGltdXNfZnVuY3MpIHsKIAkJ dWludDMyX3QgcmVzdWx0OwpAQCAtMjQ3LDYgKzI2Nyw4IEBAIHN0YXRpYyB2b2lkIG5vdXZlYXVf ZHNtX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgYm9vbCAqaGFzX211eCwKIAkJCSAo cmVzdWx0ICYgT1BUSU1VU19FTkFCTEVEKSA/ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIsCiAJCQkg KHJlc3VsdCAmIE9QVElNVVNfRFlOQU1JQ19QV1JfQ0FQKSA/ICJkeW5hbWljIHBvd2VyLCAiIDog IiIsCiAJCQkgKHJlc3VsdCAmIE9QVElNVVNfSERBX0NPREVDX01BU0spID8gImhkYSBiaW9zIGNv ZGVjIHN1cHBvcnRlZCIgOiAiIik7CisKKwkJKmhhc19wb3dlcl9yZXNvdXJjZXMgPSBub3V2ZWF1 X3ByM19wcmVzZW50KHBkZXYpOwogCX0KIH0KIApAQCAtMjU4LDYgKzI4MCw3IEBAIHN0YXRpYyBi b29sIG5vdXZlYXVfZHNtX2RldGVjdCh2b2lkKQogCWJvb2wgaGFzX211eCA9IGZhbHNlOwogCWJv b2wgaGFzX29wdGltdXMgPSBmYWxzZTsKIAlib29sIGhhc19vcHRpbXVzX2ZsYWdzID0gZmFsc2U7 CisJYm9vbCBoYXNfcG93ZXJfcmVzb3VyY2VzID0gZmFsc2U7CiAJaW50IHZnYV9jb3VudCA9IDA7 CiAJYm9vbCBndWlkX3ZhbGlkOwogCWJvb2wgcmV0ID0gZmFsc2U7CkBAIC0yNzMsMTQgKzI5Niwx NCBAQCBzdGF0aWMgYm9vbCBub3V2ZWF1X2RzbV9kZXRlY3Qodm9pZCkKIAkJdmdhX2NvdW50Kys7 CiAKIAkJbm91dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYsICZoYXNfbXV4LCAmaGFzX29wdGltdXMs Ci0JCQkJICAgICAgJmhhc19vcHRpbXVzX2ZsYWdzKTsKKwkJCQkgICAgICAmaGFzX29wdGltdXNf ZmxhZ3MsICZoYXNfcG93ZXJfcmVzb3VyY2VzKTsKIAl9CiAKIAl3aGlsZSAoKHBkZXYgPSBwY2lf Z2V0X2NsYXNzKFBDSV9DTEFTU19ESVNQTEFZXzNEIDw8IDgsIHBkZXYpKSAhPSBOVUxMKSB7CiAJ CXZnYV9jb3VudCsrOwogCiAJCW5vdXZlYXVfZHNtX3BjaV9wcm9iZShwZGV2LCAmaGFzX211eCwg Jmhhc19vcHRpbXVzLAotCQkJCSAgICAgICZoYXNfb3B0aW11c19mbGFncyk7CisJCQkJICAgICAg Jmhhc19vcHRpbXVzX2ZsYWdzLCAmaGFzX3Bvd2VyX3Jlc291cmNlcyk7CiAJfQogCiAJLyogZmlu ZCB0aGUgb3B0aW11cyBEU00gb3IgdGhlIG9sZCB2MSBEU00gKi8KQEAgLTI4OSw4ICszMTIsMTEg QEAgc3RhdGljIGJvb2wgbm91dmVhdV9kc21fZGV0ZWN0KHZvaWQpCiAJCQkmYnVmZmVyKTsKIAkJ cHJpbnRrKEtFUk5fSU5GTyAiVkdBIHN3aXRjaGVyb286IGRldGVjdGVkIE9wdGltdXMgRFNNIG1l dGhvZCAlcyBoYW5kbGVcbiIsCiAJCQlhY3BpX21ldGhvZF9uYW1lKTsKKwkJaWYgKGhhc19wb3dl cl9yZXNvdXJjZXMpCisJCQlwcl9pbmZvKCJub3V2ZWF1OiBkZXRlY3RlZCBQUiBzdXBwb3J0LCB3 aWxsIG5vdCB1c2UgRFNNXG4iKTsKIAkJbm91dmVhdV9kc21fcHJpdi5vcHRpbXVzX2RldGVjdGVk ID0gdHJ1ZTsKIAkJbm91dmVhdV9kc21fcHJpdi5vcHRpbXVzX2ZsYWdzX2RldGVjdGVkID0gaGFz X29wdGltdXNfZmxhZ3M7CisJCW5vdXZlYXVfZHNtX3ByaXYub3B0aW11c19za2lwX2RzbSA9IGhh c19wb3dlcl9yZXNvdXJjZXM7CiAJCXJldCA9IHRydWU7CiAJfSBlbHNlIGlmICh2Z2FfY291bnQg PT0gMiAmJiBoYXNfbXV4ICYmIGd1aWRfdmFsaWQpIHsKIAkJYWNwaV9nZXRfbmFtZShub3V2ZWF1 X2RzbV9wcml2LmRoYW5kbGUsIEFDUElfRlVMTF9QQVRITkFNRSwKQEAgLTMyMCw3ICszNDYsNyBA QCB2b2lkIG5vdXZlYXVfcmVnaXN0ZXJfZHNtX2hhbmRsZXIodm9pZCkKIHZvaWQgbm91dmVhdV9z d2l0Y2hlcm9vX29wdGltdXNfZHNtKHZvaWQpCiB7CiAJdTMyIHJlc3VsdCA9IDA7Ci0JaWYgKCFu b3V2ZWF1X2RzbV9wcml2Lm9wdGltdXNfZGV0ZWN0ZWQpCisJaWYgKCFub3V2ZWF1X2RzbV9wcml2 Lm9wdGltdXNfZGV0ZWN0ZWQgfHwgbm91dmVhdV9kc21fcHJpdi5vcHRpbXVzX3NraXBfZHNtKQog CQlyZXR1cm47CiAKIAlpZiAobm91dmVhdV9kc21fcHJpdi5vcHRpbXVzX2ZsYWdzX2RldGVjdGVk KQotLSAKMi44LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQo=