From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: [PATCH v3 1/4] drm/nouveau/acpi: ensure matching ACPI handle and supported functions Date: Fri, 15 Jul 2016 15:12:15 +0200 Message-ID: <20160715131218.2416-2-peter@lekensteyn.nl> References: <20160715131218.2416-1-peter@lekensteyn.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160715131218.2416-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: Dave Airlie Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org RW5zdXJlIHRoYXQgdGhlIHJldHVybmVkIHNldCBvZiBzdXBwb3J0ZWQgRFNNIGZ1bmN0aW9ucyAo TVVYLCBPcHRpbXVzKQptYXRjaCB0aGUgQUNQSSBoYW5kbGUgdGhhdCBpcyBzZXQgaW4gbm91dmVh dV9kc21fcGNpX3Byb2JlLgoKQXMgdGhlcmUgYXJlIG5vIG1hY2hpbmVzIHdpdGggYSBNVVggZnVu Y3Rpb24gb24ganVzdCBvbmUgUENJIGRldmljZSBhbmQKYW4gT3B0aW11cyBvbiBhbm90aGVyLCB0 aGVyZSBzaG91bGQgbm90IGJlIGEgZnVuY3Rpb25hbCBpbXBhY3QuIFRoaXMKY2hhbmdlIGhvd2V2 ZXIgbWFrZXMgdGhpcyBpbXBsaWNpdCBhc3N1bXB0aW9uIG1vcmUgb2J2aW91cy4KCkNvbnZlcnQg aW50IHRvIGJvb2wgYW5kIHJlbmFtZSBoYXNfZHNtIHRvIGhhc19tdXggd2hpbGUgYXQgaXQuIExl dCB0aGUKY2FsbGVyIHNldCBub3V2ZWF1X2RzbV9wcml2LmRoYW5kbGUgYXMgbmVlZGVkLgoKIHYy OiBwYXNzIGRoYW5kbGUgdG8gdGhlIGNhbGxlci4KClJldmlld2VkLWJ5OiBIYW5zIGRlIEdvZWRl IDxoZGVnb2VkZUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBQZXRlciBXdSA8cGV0ZXJAbGVr ZW5zdGV5bi5ubD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyB8 IDU4ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAy NiBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfYWNwaS5jCmluZGV4IGRiNzZiOTQuLjg4NmE2N2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2 ZWF1L25vdXZlYXVfYWNwaS5jCkBAIC01Nyw5ICs1Nyw2IEBAIGJvb2wgbm91dmVhdV9pc192MV9k c20odm9pZCkgewogCXJldHVybiBub3V2ZWF1X2RzbV9wcml2LmRzbV9kZXRlY3RlZDsKIH0KIAot I2RlZmluZSBOT1VWRUFVX0RTTV9IQVNfTVVYIDB4MQotI2RlZmluZSBOT1VWRUFVX0RTTV9IQVNf T1BUIDB4MgotCiAjaWZkZWYgQ09ORklHX1ZHQV9TV0lUQ0hFUk9PCiBzdGF0aWMgY29uc3QgY2hh ciBub3V2ZWF1X2RzbV9tdWlkW10gPSB7CiAJMHhBMCwgMHhBMCwgMHg5NSwgMHg5RCwgMHg2MCwg MHgwMCwgMHg0OCwgMHg0RCwKQEAgLTIxMiwyNiArMjA5LDMzIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdmdhX3N3aXRjaGVyb29faGFuZGxlciBub3V2ZWF1X2RzbV9oYW5kbGVyID0gewogCS5nZXRf Y2xpZW50X2lkID0gbm91dmVhdV9kc21fZ2V0X2NsaWVudF9pZCwKIH07CiAKLXN0YXRpYyBpbnQg bm91dmVhdV9kc21fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQorc3RhdGljIHZvaWQg bm91dmVhdV9kc21fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBhY3BpX2hhbmRsZSAq ZGhhbmRsZV9vdXQsCisJCQkJICBib29sICpoYXNfbXV4LCBib29sICpoYXNfb3B0KQogewogCWFj cGlfaGFuZGxlIGRoYW5kbGU7Ci0JaW50IHJldHZhbCA9IDA7CisJYm9vbCBzdXBwb3J0c19tdXg7 CisJYm9vbCBzdXBwb3J0c19vcHQ7CiAKIAlkaGFuZGxlID0gQUNQSV9IQU5ETEUoJnBkZXYtPmRl dik7CiAJaWYgKCFkaGFuZGxlKQotCQlyZXR1cm4gZmFsc2U7CisJCXJldHVybjsKIAogCWlmICgh YWNwaV9oYXNfbWV0aG9kKGRoYW5kbGUsICJfRFNNIikpCi0JCXJldHVybiBmYWxzZTsKKwkJcmV0 dXJuOwogCi0JaWYgKGFjcGlfY2hlY2tfZHNtKGRoYW5kbGUsIG5vdXZlYXVfZHNtX211aWQsIDB4 MDAwMDAxMDIsCi0JCQkgICAxIDw8IE5PVVZFQVVfRFNNX1BPV0VSKSkKLQkJcmV0dmFsIHw9IE5P VVZFQVVfRFNNX0hBU19NVVg7CisJc3VwcG9ydHNfbXV4ID0gYWNwaV9jaGVja19kc20oZGhhbmRs ZSwgbm91dmVhdV9kc21fbXVpZCwgMHgwMDAwMDEwMiwKKwkJCQkgICAgICAxIDw8IE5PVVZFQVVf RFNNX1BPV0VSKTsKKwlzdXBwb3J0c19vcHQgPSBub3V2ZWF1X2NoZWNrX29wdGltdXNfZHNtKGRo YW5kbGUpOwogCi0JaWYgKG5vdXZlYXVfY2hlY2tfb3B0aW11c19kc20oZGhhbmRsZSkpCi0JCXJl dHZhbCB8PSBOT1VWRUFVX0RTTV9IQVNfT1BUOworCS8qIERvZXMgbm90IGxvb2sgbGlrZSBhIE52 aWRpYSBkZXZpY2UuICovCisJaWYgKCFzdXBwb3J0c19tdXggJiYgIXN1cHBvcnRzX29wdCkKKwkJ cmV0dXJuOwogCi0JaWYgKHJldHZhbCAmIE5PVVZFQVVfRFNNX0hBU19PUFQpIHsKKwkqZGhhbmRs ZV9vdXQgPSBkaGFuZGxlOworCSpoYXNfbXV4ID0gc3VwcG9ydHNfbXV4OworCSpoYXNfb3B0ID0g c3VwcG9ydHNfb3B0OworCisJaWYgKHN1cHBvcnRzX29wdCkgewogCQl1aW50MzJfdCByZXN1bHQ7 CiAJCW5vdXZlYXVfb3B0aW11c19kc20oZGhhbmRsZSwgTk9VVkVBVV9EU01fT1BUSU1VU19DQVBT LCAwLAogCQkJCSAgICAmcmVzdWx0KTsKQEAgLTI0MCwxMCArMjQ0LDYgQEAgc3RhdGljIGludCBu b3V2ZWF1X2RzbV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiAJCQkgKHJlc3VsdCAm IE9QVElNVVNfRFlOQU1JQ19QV1JfQ0FQKSA/ICJkeW5hbWljIHBvd2VyLCAiIDogIiIsCiAJCQkg KHJlc3VsdCAmIE9QVElNVVNfSERBX0NPREVDX01BU0spID8gImhkYSBiaW9zIGNvZGVjIHN1cHBv cnRlZCIgOiAiIik7CiAJfQotCWlmIChyZXR2YWwpCi0JCW5vdXZlYXVfZHNtX3ByaXYuZGhhbmRs ZSA9IGRoYW5kbGU7Ci0KLQlyZXR1cm4gcmV0dmFsOwogfQogCiBzdGF0aWMgYm9vbCBub3V2ZWF1 X2RzbV9kZXRlY3Qodm9pZCkKQEAgLTI1MSwxMSArMjUxLDExIEBAIHN0YXRpYyBib29sIG5vdXZl YXVfZHNtX2RldGVjdCh2b2lkKQogCWNoYXIgYWNwaV9tZXRob2RfbmFtZVsyNTVdID0geyAwIH07 CiAJc3RydWN0IGFjcGlfYnVmZmVyIGJ1ZmZlciA9IHtzaXplb2YoYWNwaV9tZXRob2RfbmFtZSks IGFjcGlfbWV0aG9kX25hbWV9OwogCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gTlVMTDsKLQlpbnQg aGFzX2RzbSA9IDA7Ci0JaW50IGhhc19vcHRpbXVzID0gMDsKKwlhY3BpX2hhbmRsZSBkaGFuZGxl ID0gTlVMTDsKKwlib29sIGhhc19tdXggPSBmYWxzZTsKKwlib29sIGhhc19vcHRpbXVzID0gZmFs c2U7CiAJaW50IHZnYV9jb3VudCA9IDA7CiAJYm9vbCBndWlkX3ZhbGlkOwotCWludCByZXR2YWw7 CiAJYm9vbCByZXQgPSBmYWxzZTsKIAogCS8qIGxvb2t1cCB0aGUgTVhNIEdVSUQgKi8KQEAgLTI2 OCwzMiArMjY4LDI2IEBAIHN0YXRpYyBib29sIG5vdXZlYXVfZHNtX2RldGVjdCh2b2lkKQogCXdo aWxlICgocGRldiA9IHBjaV9nZXRfY2xhc3MoUENJX0NMQVNTX0RJU1BMQVlfVkdBIDw8IDgsIHBk ZXYpKSAhPSBOVUxMKSB7CiAJCXZnYV9jb3VudCsrOwogCi0JCXJldHZhbCA9IG5vdXZlYXVfZHNt X3BjaV9wcm9iZShwZGV2KTsKLQkJaWYgKHJldHZhbCAmIE5PVVZFQVVfRFNNX0hBU19NVVgpCi0J CQloYXNfZHNtIHw9IDE7Ci0JCWlmIChyZXR2YWwgJiBOT1VWRUFVX0RTTV9IQVNfT1BUKQotCQkJ aGFzX29wdGltdXMgPSAxOworCQlub3V2ZWF1X2RzbV9wY2lfcHJvYmUocGRldiwgJmRoYW5kbGUs ICZoYXNfbXV4LCAmaGFzX29wdGltdXMpOwogCX0KIAogCXdoaWxlICgocGRldiA9IHBjaV9nZXRf Y2xhc3MoUENJX0NMQVNTX0RJU1BMQVlfM0QgPDwgOCwgcGRldikpICE9IE5VTEwpIHsKIAkJdmdh X2NvdW50Kys7CiAKLQkJcmV0dmFsID0gbm91dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYpOwotCQlp ZiAocmV0dmFsICYgTk9VVkVBVV9EU01fSEFTX01VWCkKLQkJCWhhc19kc20gfD0gMTsKLQkJaWYg KHJldHZhbCAmIE5PVVZFQVVfRFNNX0hBU19PUFQpCi0JCQloYXNfb3B0aW11cyA9IDE7CisJCW5v dXZlYXVfZHNtX3BjaV9wcm9iZShwZGV2LCAmZGhhbmRsZSwgJmhhc19tdXgsICZoYXNfb3B0aW11 cyk7CiAJfQogCiAJLyogZmluZCB0aGUgb3B0aW11cyBEU00gb3IgdGhlIG9sZCB2MSBEU00gKi8K LQlpZiAoaGFzX29wdGltdXMgPT0gMSkgeworCWlmIChoYXNfb3B0aW11cykgeworCQlub3V2ZWF1 X2RzbV9wcml2LmRoYW5kbGUgPSBkaGFuZGxlOwogCQlhY3BpX2dldF9uYW1lKG5vdXZlYXVfZHNt X3ByaXYuZGhhbmRsZSwgQUNQSV9GVUxMX1BBVEhOQU1FLAogCQkJJmJ1ZmZlcik7CiAJCXByaW50 ayhLRVJOX0lORk8gIlZHQSBzd2l0Y2hlcm9vOiBkZXRlY3RlZCBPcHRpbXVzIERTTSBtZXRob2Qg JXMgaGFuZGxlXG4iLAogCQkJYWNwaV9tZXRob2RfbmFtZSk7CiAJCW5vdXZlYXVfZHNtX3ByaXYu b3B0aW11c19kZXRlY3RlZCA9IHRydWU7CiAJCXJldCA9IHRydWU7Ci0JfSBlbHNlIGlmICh2Z2Ff Y291bnQgPT0gMiAmJiBoYXNfZHNtICYmIGd1aWRfdmFsaWQpIHsKKwl9IGVsc2UgaWYgKHZnYV9j b3VudCA9PSAyICYmIGhhc19tdXggJiYgZ3VpZF92YWxpZCkgeworCQlub3V2ZWF1X2RzbV9wcml2 LmRoYW5kbGUgPSBkaGFuZGxlOwogCQlhY3BpX2dldF9uYW1lKG5vdXZlYXVfZHNtX3ByaXYuZGhh bmRsZSwgQUNQSV9GVUxMX1BBVEhOQU1FLAogCQkJJmJ1ZmZlcik7CiAJCXByaW50ayhLRVJOX0lO Rk8gIlZHQSBzd2l0Y2hlcm9vOiBkZXRlY3RlZCBEU00gc3dpdGNoaW5nIG1ldGhvZCAlcyBoYW5k bGVcbiIsCi0tIAoyLjkuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1 Cg==