From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: [PATCH v2 1/4] drm/nouveau/acpi: ensure matching ACPI handle and supported functions Date: Fri, 8 Jul 2016 01:38:24 +0200 Message-ID: <20160707233827.2100-2-peter@lekensteyn.nl> References: <20160707233827.2100-1-peter@lekensteyn.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160707233827.2100-1-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 List-Id: dri-devel@lists.freedesktop.org RW5zdXJlIHRoYXQgdGhlIHJldHVybmVkIHNldCBvZiBzdXBwb3J0ZWQgRFNNIGZ1bmN0aW9ucyAo TVVYLCBPcHRpbXVzKQptYXRjaCB0aGUgQUNQSSBoYW5kbGUgdGhhdCBpcyBzZXQgaW4gbm91dmVh dV9kc21fcGNpX3Byb2JlLgoKQXMgdGhlcmUgYXJlIG5vIG1hY2hpbmVzIHdpdGggYSBNVVggZnVu Y3Rpb24gb24ganVzdCBvbmUgUENJIGRldmljZSBhbmQKYW4gT3B0aW11cyBvbiBhbm90aGVyLCB0 aGVyZSBzaG91bGQgbm90IGJlIGEgZnVuY3Rpb25hbCBpbXBhY3QuIFRoaXMKY2hhbmdlIGhvd2V2 ZXIgbWFrZXMgdGhpcyBpbXBsaWNpdCBhc3N1bXB0aW9uIG1vcmUgb2J2aW91cy4KCkNvbnZlcnQg aW50IHRvIGJvb2wgYW5kIHJlbmFtZSBoYXNfZHNtIHRvIGhhc19tdXggd2hpbGUgYXQgaXQuIExl dCB0aGUKY2FsbGVyIHNldCBub3V2ZWF1X2RzbV9wcml2LmRoYW5kbGUgYXMgbmVlZGVkLgoKIHYy OiBwYXNzIGRoYW5kbGUgdG8gdGhlIGNhbGxlci4KClNpZ25lZC1vZmYtYnk6IFBldGVyIFd1IDxw ZXRlckBsZWtlbnN0ZXluLm5sPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf YWNwaS5jIHwgNTggKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9hY3BpLmMKaW5kZXggZGI3NmI5NC4uODg2YTY3YyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKQEAgLTU3LDkgKzU3LDYgQEAgYm9vbCBub3V2ZWF1 X2lzX3YxX2RzbSh2b2lkKSB7CiAJcmV0dXJuIG5vdXZlYXVfZHNtX3ByaXYuZHNtX2RldGVjdGVk OwogfQogCi0jZGVmaW5lIE5PVVZFQVVfRFNNX0hBU19NVVggMHgxCi0jZGVmaW5lIE5PVVZFQVVf RFNNX0hBU19PUFQgMHgyCi0KICNpZmRlZiBDT05GSUdfVkdBX1NXSVRDSEVST08KIHN0YXRpYyBj b25zdCBjaGFyIG5vdXZlYXVfZHNtX211aWRbXSA9IHsKIAkweEEwLCAweEEwLCAweDk1LCAweDlE LCAweDYwLCAweDAwLCAweDQ4LCAweDRELApAQCAtMjEyLDI2ICsyMDksMzMgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB2Z2Ffc3dpdGNoZXJvb19oYW5kbGVyIG5vdXZlYXVfZHNtX2hhbmRsZXIgPSB7 CiAJLmdldF9jbGllbnRfaWQgPSBub3V2ZWF1X2RzbV9nZXRfY2xpZW50X2lkLAogfTsKIAotc3Rh dGljIGludCBub3V2ZWF1X2RzbV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCitzdGF0 aWMgdm9pZCBub3V2ZWF1X2RzbV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGFjcGlf aGFuZGxlICpkaGFuZGxlX291dCwKKwkJCQkgIGJvb2wgKmhhc19tdXgsIGJvb2wgKmhhc19vcHQp CiB7CiAJYWNwaV9oYW5kbGUgZGhhbmRsZTsKLQlpbnQgcmV0dmFsID0gMDsKKwlib29sIHN1cHBv cnRzX211eDsKKwlib29sIHN1cHBvcnRzX29wdDsKIAogCWRoYW5kbGUgPSBBQ1BJX0hBTkRMRSgm cGRldi0+ZGV2KTsKIAlpZiAoIWRoYW5kbGUpCi0JCXJldHVybiBmYWxzZTsKKwkJcmV0dXJuOwog CiAJaWYgKCFhY3BpX2hhc19tZXRob2QoZGhhbmRsZSwgIl9EU00iKSkKLQkJcmV0dXJuIGZhbHNl OworCQlyZXR1cm47CiAKLQlpZiAoYWNwaV9jaGVja19kc20oZGhhbmRsZSwgbm91dmVhdV9kc21f bXVpZCwgMHgwMDAwMDEwMiwKLQkJCSAgIDEgPDwgTk9VVkVBVV9EU01fUE9XRVIpKQotCQlyZXR2 YWwgfD0gTk9VVkVBVV9EU01fSEFTX01VWDsKKwlzdXBwb3J0c19tdXggPSBhY3BpX2NoZWNrX2Rz bShkaGFuZGxlLCBub3V2ZWF1X2RzbV9tdWlkLCAweDAwMDAwMTAyLAorCQkJCSAgICAgIDEgPDwg Tk9VVkVBVV9EU01fUE9XRVIpOworCXN1cHBvcnRzX29wdCA9IG5vdXZlYXVfY2hlY2tfb3B0aW11 c19kc20oZGhhbmRsZSk7CiAKLQlpZiAobm91dmVhdV9jaGVja19vcHRpbXVzX2RzbShkaGFuZGxl KSkKLQkJcmV0dmFsIHw9IE5PVVZFQVVfRFNNX0hBU19PUFQ7CisJLyogRG9lcyBub3QgbG9vayBs aWtlIGEgTnZpZGlhIGRldmljZS4gKi8KKwlpZiAoIXN1cHBvcnRzX211eCAmJiAhc3VwcG9ydHNf b3B0KQorCQlyZXR1cm47CiAKLQlpZiAocmV0dmFsICYgTk9VVkVBVV9EU01fSEFTX09QVCkgewor CSpkaGFuZGxlX291dCA9IGRoYW5kbGU7CisJKmhhc19tdXggPSBzdXBwb3J0c19tdXg7CisJKmhh c19vcHQgPSBzdXBwb3J0c19vcHQ7CisKKwlpZiAoc3VwcG9ydHNfb3B0KSB7CiAJCXVpbnQzMl90 IHJlc3VsdDsKIAkJbm91dmVhdV9vcHRpbXVzX2RzbShkaGFuZGxlLCBOT1VWRUFVX0RTTV9PUFRJ TVVTX0NBUFMsIDAsCiAJCQkJICAgICZyZXN1bHQpOwpAQCAtMjQwLDEwICsyNDQsNiBAQCBzdGF0 aWMgaW50IG5vdXZlYXVfZHNtX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldikKIAkJCSAo cmVzdWx0ICYgT1BUSU1VU19EWU5BTUlDX1BXUl9DQVApID8gImR5bmFtaWMgcG93ZXIsICIgOiAi IiwKIAkJCSAocmVzdWx0ICYgT1BUSU1VU19IREFfQ09ERUNfTUFTSykgPyAiaGRhIGJpb3MgY29k ZWMgc3VwcG9ydGVkIiA6ICIiKTsKIAl9Ci0JaWYgKHJldHZhbCkKLQkJbm91dmVhdV9kc21fcHJp di5kaGFuZGxlID0gZGhhbmRsZTsKLQotCXJldHVybiByZXR2YWw7CiB9CiAKIHN0YXRpYyBib29s IG5vdXZlYXVfZHNtX2RldGVjdCh2b2lkKQpAQCAtMjUxLDExICsyNTEsMTEgQEAgc3RhdGljIGJv b2wgbm91dmVhdV9kc21fZGV0ZWN0KHZvaWQpCiAJY2hhciBhY3BpX21ldGhvZF9uYW1lWzI1NV0g PSB7IDAgfTsKIAlzdHJ1Y3QgYWNwaV9idWZmZXIgYnVmZmVyID0ge3NpemVvZihhY3BpX21ldGhv ZF9uYW1lKSwgYWNwaV9tZXRob2RfbmFtZX07CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBOVUxM OwotCWludCBoYXNfZHNtID0gMDsKLQlpbnQgaGFzX29wdGltdXMgPSAwOworCWFjcGlfaGFuZGxl IGRoYW5kbGUgPSBOVUxMOworCWJvb2wgaGFzX211eCA9IGZhbHNlOworCWJvb2wgaGFzX29wdGlt dXMgPSBmYWxzZTsKIAlpbnQgdmdhX2NvdW50ID0gMDsKIAlib29sIGd1aWRfdmFsaWQ7Ci0JaW50 IHJldHZhbDsKIAlib29sIHJldCA9IGZhbHNlOwogCiAJLyogbG9va3VwIHRoZSBNWE0gR1VJRCAq LwpAQCAtMjY4LDMyICsyNjgsMjYgQEAgc3RhdGljIGJvb2wgbm91dmVhdV9kc21fZGV0ZWN0KHZv aWQpCiAJd2hpbGUgKChwZGV2ID0gcGNpX2dldF9jbGFzcyhQQ0lfQ0xBU1NfRElTUExBWV9WR0Eg PDwgOCwgcGRldikpICE9IE5VTEwpIHsKIAkJdmdhX2NvdW50Kys7CiAKLQkJcmV0dmFsID0gbm91 dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYpOwotCQlpZiAocmV0dmFsICYgTk9VVkVBVV9EU01fSEFT X01VWCkKLQkJCWhhc19kc20gfD0gMTsKLQkJaWYgKHJldHZhbCAmIE5PVVZFQVVfRFNNX0hBU19P UFQpCi0JCQloYXNfb3B0aW11cyA9IDE7CisJCW5vdXZlYXVfZHNtX3BjaV9wcm9iZShwZGV2LCAm ZGhhbmRsZSwgJmhhc19tdXgsICZoYXNfb3B0aW11cyk7CiAJfQogCiAJd2hpbGUgKChwZGV2ID0g cGNpX2dldF9jbGFzcyhQQ0lfQ0xBU1NfRElTUExBWV8zRCA8PCA4LCBwZGV2KSkgIT0gTlVMTCkg ewogCQl2Z2FfY291bnQrKzsKIAotCQlyZXR2YWwgPSBub3V2ZWF1X2RzbV9wY2lfcHJvYmUocGRl dik7Ci0JCWlmIChyZXR2YWwgJiBOT1VWRUFVX0RTTV9IQVNfTVVYKQotCQkJaGFzX2RzbSB8PSAx OwotCQlpZiAocmV0dmFsICYgTk9VVkVBVV9EU01fSEFTX09QVCkKLQkJCWhhc19vcHRpbXVzID0g MTsKKwkJbm91dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYsICZkaGFuZGxlLCAmaGFzX211eCwgJmhh c19vcHRpbXVzKTsKIAl9CiAKIAkvKiBmaW5kIHRoZSBvcHRpbXVzIERTTSBvciB0aGUgb2xkIHYx IERTTSAqLwotCWlmIChoYXNfb3B0aW11cyA9PSAxKSB7CisJaWYgKGhhc19vcHRpbXVzKSB7CisJ CW5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSA9IGRoYW5kbGU7CiAJCWFjcGlfZ2V0X25hbWUobm91 dmVhdV9kc21fcHJpdi5kaGFuZGxlLCBBQ1BJX0ZVTExfUEFUSE5BTUUsCiAJCQkmYnVmZmVyKTsK IAkJcHJpbnRrKEtFUk5fSU5GTyAiVkdBIHN3aXRjaGVyb286IGRldGVjdGVkIE9wdGltdXMgRFNN IG1ldGhvZCAlcyBoYW5kbGVcbiIsCiAJCQlhY3BpX21ldGhvZF9uYW1lKTsKIAkJbm91dmVhdV9k c21fcHJpdi5vcHRpbXVzX2RldGVjdGVkID0gdHJ1ZTsKIAkJcmV0ID0gdHJ1ZTsKLQl9IGVsc2Ug aWYgKHZnYV9jb3VudCA9PSAyICYmIGhhc19kc20gJiYgZ3VpZF92YWxpZCkgeworCX0gZWxzZSBp ZiAodmdhX2NvdW50ID09IDIgJiYgaGFzX211eCAmJiBndWlkX3ZhbGlkKSB7CisJCW5vdXZlYXVf ZHNtX3ByaXYuZGhhbmRsZSA9IGRoYW5kbGU7CiAJCWFjcGlfZ2V0X25hbWUobm91dmVhdV9kc21f cHJpdi5kaGFuZGxlLCBBQ1BJX0ZVTExfUEFUSE5BTUUsCiAJCQkmYnVmZmVyKTsKIAkJcHJpbnRr KEtFUk5fSU5GTyAiVkdBIHN3aXRjaGVyb286IGRldGVjdGVkIERTTSBzd2l0Y2hpbmcgbWV0aG9k ICVzIGhhbmRsZVxuIiwKLS0gCjIuOS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpOb3V2ZWF1IG1haWxpbmcgbGlzdApOb3V2ZWF1QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L25vdXZlYXUK