From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lekensteyn Subject: properly check for _DSM function support and Optimus support for vga_switcheroo Date: Sat, 17 Dec 2011 13:14:02 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=14dae93405bf2bbbd404b448a701 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: nouveau-bounces+gcfxn-nouveau=m.gmane.org-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Errors-To: nouveau-bounces+gcfxn-nouveau=m.gmane.org-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org --14dae93405bf2bbbd404b448a701 Content-Type: multipart/alternative; boundary=14dae93405bf2bbbd104b448a7ff --14dae93405bf2bbbd104b448a7ff Content-Type: text/plain; charset=ISO-8859-1 Hello guys, I've prepared a patch based on my findings for the bbswitch module (https://github.com/Lekensteyn/acpi-stuff/tree/master/bbswitch). This adds a proper check whether a _DSM function is supported or not and make OFF / ON for vga_switcheroo work for nVidia Optimus models. The patch is based against the mainline kernel. It has been tested on my Clevo B7130 laptop running kernel 3.2 which has a GT425M dGPU: # cat /sys/kernel/debug/vgaswitcheroo/switch 0:IGD:+:Pwr:0000:00:02.0 1:DIS: :Pwr:0000:01:00.0 # tee /sys/kernel/debug/vgaswitcheroo/switch <<
I've prepared a patch based on my findings for the b= bswitch module
(https://github.com/Lekensteyn/acpi-stuff/tree/master/bbsw= itch). This adds a proper
check whether a _DSM function is supported or not and make OFF / ON for
= vga_switcheroo work for nVidia Optimus models. The patch is based against t= he
mainline kernel.

It has been tested on my Clevo B7130 laptop r= unning kernel 3.2 which has a GT425M
dGPU:
# cat /sys/kernel/debug/vgaswitcheroo/switch
0:IGD:+:Pwr:0000:0= 0:02.0
1:DIS: :Pwr:0000:01:00.0
# tee /sys/kernel/debug/vgaswitcheroo= /switch <<<OFF
OFF
# cat /sys/kernel/debug/vgaswitcheroo/swi= tch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0
# tee /sys/kernel/d= ebug/vgaswitcheroo/switch <<<ON
ON
# cat /sys/kernel/debug/v= gaswitcheroo/switch
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Pwr:0000:01:00.0=

The iGPU/dGPU LEDS on the keyboard also change as a result.

Rega= rds,
Peter
--14dae93405bf2bbbd104b448a7ff-- --14dae93405bf2bbbd404b448a701 Content-Type: text/x-diff; charset=US-ASCII; name="nouveau-switcheroo-optimus.patch" Content-Disposition: attachment; filename="nouveau-switcheroo-optimus.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwal0oqy1 RnJvbSBiNmUxYjViMzE2YWUxN2NjYjdkZWYwYThiMzhlNjlhZDRjOTljNTVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBMZWtlbnN0ZXluIDxsZWtlbnN0ZXluQGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAxNyBEZWMgMjAxMSAxMjo1Mzo0MyArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MS8yXSBub3V2ZWF1OiBwcm9wZXJseSBjaGVjayBmb3IgX0RTTSBmdW5jdGlvbiBzdXBwb3J0CgpB Y2NvcmRpbmcgdG8gdGhlIEFDUEkgc3BlYyB2ZXJzaW9uIDQsIHNlY3Rpb24gOS4xNC4xLCBfRFNN IGZ1bmN0aW9ucwptdXN0IHJldHVybiBhIHZhbHVlIHdpdGggdGhlIGZpcnN0IGJpdCBlbmFibGVk IGlmIGFueSBEU00gZnVuY3Rpb25zIGFyZQpzdXBwb3J0ZWQgZm9yIHRoZSBnaXZlbiBVVUlEIGFu ZCByZXZpc2lvbiBJRC4gRm9yIGEgZ2l2ZW4gZnVuY3Rpb24gaW5kZXggbgp0byBiZSBtYXJrZWQg c3VwcG9ydGVkLCBiaXQgbiBtdXN0IGJlIGVuYWJsZWQuCgpTaWduZWQtb2ZmLWJ5OiBQZXRlciBM ZWtlbnN0ZXluIDxsZWtlbnN0ZXluQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9ub3V2ZWF1X2FjcGkuYyB8ICAgMzUgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LQogMSBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCmluZGV4IDUyNTc0NGQuLjk2NzU2ZDAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCkBAIC0xOCwxMiArMTgsNiBA QAogCiAjaW5jbHVkZSA8bGludXgvdmdhX3N3aXRjaGVyb28uaD4KIAotI2RlZmluZSBOT1VWRUFV X0RTTV9TVVBQT1JURUQgMHgwMAotI2RlZmluZSBOT1VWRUFVX0RTTV9TVVBQT1JURURfRlVOQ1RJ T05TIDB4MDAKLQotI2RlZmluZSBOT1VWRUFVX0RTTV9BQ1RJVkUgMHgwMQotI2RlZmluZSBOT1VW RUFVX0RTTV9BQ1RJVkVfUVVFUlkgMHgwMAotCiAjZGVmaW5lIE5PVVZFQVVfRFNNX0xFRCAweDAy CiAjZGVmaW5lIE5PVVZFQVVfRFNNX0xFRF9TVEFURSAweDAwCiAjZGVmaW5lIE5PVVZFQVVfRFNN X0xFRF9PRkYgMHgxMApAQCAtMzUsNiArMjksNyBAQAogI2RlZmluZSBOT1VWRUFVX0RTTV9QT1dF Ul9TUEVFRCAweDAxCiAjZGVmaW5lIE5PVVZFQVVfRFNNX1BPV0VSX1NUQU1JTkEgMHgwMgogCisj ZGVmaW5lIE5PVVZFQVVfRFNNX09QVElNVVNfRk4gMHgxQQogc3RhdGljIHN0cnVjdCBub3V2ZWF1 X2RzbV9wcml2IHsKIAlib29sIGRzbV9kZXRlY3RlZDsKIAlib29sIG9wdGltdXNfZGV0ZWN0ZWQ7 CkBAIC0xNDgsNiArMTQzLDIzIEBAIHN0YXRpYyBpbnQgbm91dmVhdV9kc20oYWNwaV9oYW5kbGUg aGFuZGxlLCBpbnQgZnVuYywgaW50IGFyZywgdWludDMyX3QgKnJlc3VsdCkKIAlyZXR1cm4gMDsK IH0KIAorLyogUmV0dXJucyAxIGlmIGEgRFNNIGZ1bmN0aW9uIGlzIHVzYWJsZSBhbmQgMCBvdGhl cndpc2UgKi8KK3N0YXRpYyBpbnQgbm91dmVhdV90ZXN0X2RzbShhY3BpX2hhbmRsZSB0ZXN0X2hh bmRsZSwKKwlpbnQgKCpkc21fZnVuYykoYWNwaV9oYW5kbGUsIGludCwgaW50LCB1aW50MzJfdCAq KSwKKwlpbnQgc2ZuYykKK3sKKwl1MzIgcmVzdWx0ID0gMDsKKworCS8qIEZ1bmN0aW9uIDAgcmV0 dXJucyBhIEJ1ZmZlciBjb250YWluaW5nIGF2YWlsYWJsZSBmdW5jdGlvbnMuIFRoZSBhcmdzCisJ ICogcGFyYW1ldGVyIGlzIGlnbm9yZWQgZm9yIGZ1bmN0aW9uIDAsIHNvIGp1c3QgcHV0IDAgaW4g aXQgKi8KKwlpZiAoZHNtX2Z1bmModGVzdF9oYW5kbGUsIDAsIDAsICZyZXN1bHQpKQorCQlyZXR1 cm4gMDsKKworCS8qIEFDUEkgU3BlYyB2NCA5LjE0LjE6IGlmIGJpdCAwIGlzIHplcm8sIG5vIGZ1 bmN0aW9uIGlzIHN1cHBvcnRlZC4gSWYKKwkgKiB0aGUgbi10aCBiaXQgaXMgZW5hYmxlZCwgZnVu Y3Rpb24gbiBpcyBzdXBwb3J0ZWQgKi8KKwlyZXR1cm4gcmVzdWx0ICYgMSAmJiByZXN1bHQgJiAo MSA8PCBzZm5jKTsKK30KKwogc3RhdGljIGludCBub3V2ZWF1X2RzbV9zd2l0Y2hfbXV4KGFjcGlf aGFuZGxlIGhhbmRsZSwgaW50IG11eF9pZCkKIHsKIAlteG1fd21pX2NhbGxfbXhteChtdXhfaWQg PT0gTk9VVkVBVV9EU01fTEVEX1NUQU1JTkEgPyBNWE1fTVhEU19BREFQVEVSX0lHRCA6IE1YTV9N WERTX0FEQVBURVJfMCk7CkBAIC0yMTIsOCArMjI0LDcgQEAgc3RhdGljIGludCBub3V2ZWF1X2Rz bV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiB7CiAJYWNwaV9oYW5kbGUgZGhhbmRs ZSwgbnZpZGlhX2hhbmRsZTsKIAlhY3BpX3N0YXR1cyBzdGF0dXM7Ci0JaW50IHJldCwgcmV0dmFs ID0gMDsKLQl1aW50MzJfdCByZXN1bHQ7CisJaW50IHJldHZhbCA9IDA7CiAKIAlkaGFuZGxlID0g REVWSUNFX0FDUElfSEFORExFKCZwZGV2LT5kZXYpOwogCWlmICghZGhhbmRsZSkKQEAgLTIyNCwx MyArMjM1LDExIEBAIHN0YXRpYyBpbnQgbm91dmVhdV9kc21fcGNpX3Byb2JlKHN0cnVjdCBwY2lf ZGV2ICpwZGV2KQogCQlyZXR1cm4gZmFsc2U7CiAJfQogCi0JcmV0ID0gbm91dmVhdV9kc20oZGhh bmRsZSwgTk9VVkVBVV9EU01fU1VQUE9SVEVELAotCQkJICBOT1VWRUFVX0RTTV9TVVBQT1JURURf RlVOQ1RJT05TLCAmcmVzdWx0KTsKLQlpZiAocmV0ID09IDApCisJaWYgKG5vdXZlYXVfdGVzdF9k c20oZGhhbmRsZSwgbm91dmVhdV9kc20sIE5PVVZFQVVfRFNNX1BPV0VSKSkKIAkJcmV0dmFsIHw9 IE5PVVZFQVVfRFNNX0hBU19NVVg7CiAKLQlyZXQgPSBub3V2ZWF1X29wdGltdXNfZHNtKGRoYW5k bGUsIDAsIDAsICZyZXN1bHQpOwotCWlmIChyZXQgPT0gMCkKKwlpZiAobm91dmVhdV90ZXN0X2Rz bShkaGFuZGxlLCBub3V2ZWF1X29wdGltdXNfZHNtLAorCQlOT1VWRUFVX0RTTV9PUFRJTVVTX0ZO KSkKIAkJcmV0dmFsIHw9IE5PVVZFQVVfRFNNX0hBU19PUFQ7CiAKIAlpZiAocmV0dmFsKQotLSAK MS43LjUuNAoKCkZyb20gNThjNWRlODU3OGUzODdjZTBkYmQ4YTc3ZjljYmMzNmIyZjU4MjNhMSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogUGV0ZXIgTGVrZW5zdGV5biA8bGVrZW5zdGV5 bkBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTcgRGVjIDIwMTEgMTI6NTQ6MDQgKzAxMDAKU3ViamVj dDogW1BBVENIIDIvMl0gbm91dmVhdTogU3VwcG9ydCBPcHRpbXVzIG1vZGVscyBmb3IgdmdhX3N3 aXRjaGVyb28KCk5ld2VyIG5WaWRpYSBjYXJkcyB3aXRoIE9wdGltdXMgZG8gbm90IHN1cHBvcnQv dXNlIHRoZSBEU00gc3dpdGNoaW5nIGZ1bmN0aW9ucy4KSW5zdGVhZCwgaXQgcmVxdWlyZSBhIERT TSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgcHJpb3IgdG8gYnJpbmdpbmcgYSBkZXZpY2UgaW50bwpE MyBzdGF0ZS4gTm8gb3RoZXIgX0RTTSBjYWxscyBhcmUgbmVjZXNzYXJ5IGJlZm9yZS9hZnRlciBl bmFibGluZy9kaXNhYmxpbmcgYQpkZXZpY2UuIFN3aXRjaGluZyBiZXR3ZWVuIGRpc2NyZXRlIGFu ZCBpbnRlZ3JhdGVkIEdQVSBpcyBub3Qgc3VwcG9ydGVkIGJ5CnRoaXMgT3B0aW11cyBfRFNNIGNh bGwsIHRoZXJlZm9yZSByZXR1cm4gb24gdGhlIHN3aXRjaGluZyBtZXRob2QuCgpTaWduZWQtb2Zm LWJ5OiBQZXRlciBMZWtlbnN0ZXluIDxsZWtlbnN0ZXluQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyAgfCAgIDQ0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaCAgIHwg ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3N0YXRlLmMgfCAgICAxICsK IDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2FjcGkuYyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCmluZGV4IDk2NzU2ZDAuLjc4MTRhNzYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYWNwaS5jCkBAIC0zMCw2ICszMCw4IEBACiAj ZGVmaW5lIE5PVVZFQVVfRFNNX1BPV0VSX1NUQU1JTkEgMHgwMgogCiAjZGVmaW5lIE5PVVZFQVVf RFNNX09QVElNVVNfRk4gMHgxQQorI2RlZmluZSBOT1VWRUFVX0RTTV9PUFRJTVVTX0FSR1MgMHgw MzAwMDAwMQorCiBzdGF0aWMgc3RydWN0IG5vdXZlYXVfZHNtX3ByaXYgewogCWJvb2wgZHNtX2Rl dGVjdGVkOwogCWJvb2wgb3B0aW11c19kZXRlY3RlZDsKQEAgLTU2LDcgKzU4LDggQEAgc3RhdGlj IGludCBub3V2ZWF1X29wdGltdXNfZHNtKGFjcGlfaGFuZGxlIGhhbmRsZSwgaW50IGZ1bmMsIGlu dCBhcmcsIHVpbnQzMl90ICoKIAlzdHJ1Y3QgYWNwaV9vYmplY3RfbGlzdCBpbnB1dDsKIAl1bmlv biBhY3BpX29iamVjdCBwYXJhbXNbNF07CiAJdW5pb24gYWNwaV9vYmplY3QgKm9iajsKLQlpbnQg ZXJyOworCWludCBpLCBlcnI7CisJY2hhciBhcmdzX2J1ZmZbNF07CiAKIAlpbnB1dC5jb3VudCA9 IDQ7CiAJaW5wdXQucG9pbnRlciA9IHBhcmFtczsKQEAgLTY4LDcgKzcxLDExIEBAIHN0YXRpYyBp bnQgbm91dmVhdV9vcHRpbXVzX2RzbShhY3BpX2hhbmRsZSBoYW5kbGUsIGludCBmdW5jLCBpbnQg YXJnLCB1aW50MzJfdCAqCiAJcGFyYW1zWzJdLnR5cGUgPSBBQ1BJX1RZUEVfSU5URUdFUjsKIAlw YXJhbXNbMl0uaW50ZWdlci52YWx1ZSA9IGZ1bmM7CiAJcGFyYW1zWzNdLnR5cGUgPSBBQ1BJX1RZ UEVfQlVGRkVSOwotCXBhcmFtc1szXS5idWZmZXIubGVuZ3RoID0gMDsKKwlwYXJhbXNbM10uYnVm ZmVyLmxlbmd0aCA9IDQ7CisJLyogQUNQSSBpcyBsaXR0bGUgZW5kaWFuLCBBQUJCQ0NERCBiZWNv bWVzIHtERCxDQyxCQixBQX0gKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorCQlhcmdzX2J1 ZmZbaV0gPSAoYXJnID4+IGkgKiA4KSAmIDB4RkY7CisJcGFyYW1zWzNdLmJ1ZmZlci5wb2ludGVy ID0gYXJnc19idWZmOwogCiAJZXJyID0gYWNwaV9ldmFsdWF0ZV9vYmplY3QoaGFuZGxlLCAiX0RT TSIsICZpbnB1dCwgJm91dHB1dCk7CiAJaWYgKGVycikgewpAQCAtMTgwLDYgKzE4NywxMCBAQCBz dGF0aWMgaW50IG5vdXZlYXVfZHNtX3NldF9kaXNjcmV0ZV9zdGF0ZShhY3BpX2hhbmRsZSBoYW5k bGUsIGVudW0gdmdhX3N3aXRjaGVybwogCiBzdGF0aWMgaW50IG5vdXZlYXVfZHNtX3N3aXRjaHRv KGVudW0gdmdhX3N3aXRjaGVyb29fY2xpZW50X2lkIGlkKQogeworCS8qIHBlcmhhcHMgdGhlIF9E U00gZnVuY3Rpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIGJ1dCBwcmVwYXJlIGZvcgorCSAq IHRoZSBmdXR1cmUgKi8KKwlpZiAoIW5vdXZlYXVfZHNtX3ByaXYuZHNtX2RldGVjdGVkICYmIG5v dXZlYXVfZHNtX3ByaXYub3B0aW11c19kZXRlY3RlZCkKKwkJcmV0dXJuIDA7CiAJaWYgKGlkID09 IFZHQV9TV0lUQ0hFUk9PX0lHRCkKIAkJcmV0dXJuIG5vdXZlYXVfZHNtX3N3aXRjaF9tdXgobm91 dmVhdV9kc21fcHJpdi5kaGFuZGxlLCBOT1VWRUFVX0RTTV9MRURfU1RBTUlOQSk7CiAJZWxzZQpA QCAtMTkyLDYgKzIwMywxMSBAQCBzdGF0aWMgaW50IG5vdXZlYXVfZHNtX3Bvd2VyX3N0YXRlKGVu dW0gdmdhX3N3aXRjaGVyb29fY2xpZW50X2lkIGlkLAogCWlmIChpZCA9PSBWR0FfU1dJVENIRVJP T19JR0QpCiAJCXJldHVybiAwOwogCisJLyogT3B0aW11cyBsYXB0b3BzIGhhdmUgdGhlIGNhcmQg YWxyZWFkeSBkaXNhYmxlZCBpbgorCSAqIG5vdXZlYXVfc3dpdGNoZXJvb19zZXRfc3RhdGUgKi8K KwlpZiAoIW5vdXZlYXVfZHNtX3ByaXYuZHNtX2RldGVjdGVkICYmIG5vdXZlYXVfZHNtX3ByaXYu b3B0aW11c19kZXRlY3RlZCkKKwkJcmV0dXJuIDA7CisKIAlyZXR1cm4gbm91dmVhdV9kc21fc2V0 X2Rpc2NyZXRlX3N0YXRlKG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwgc3RhdGUpOwogfQogCkBA IC0yNzgsMTUgKzI5NCwyMiBAQCBzdGF0aWMgYm9vbCBub3V2ZWF1X2RzbV9kZXRlY3Qodm9pZCkK IAl9CiAKIAlpZiAodmdhX2NvdW50ID09IDIgJiYgaGFzX2RzbSAmJiBndWlkX3ZhbGlkKSB7Ci0J CWFjcGlfZ2V0X25hbWUobm91dmVhdV9kc21fcHJpdi5kaGFuZGxlLCBBQ1BJX0ZVTExfUEFUSE5B TUUsICZidWZmZXIpOworCQlhY3BpX2dldF9uYW1lKG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwg QUNQSV9GVUxMX1BBVEhOQU1FLAorCQkJJmJ1ZmZlcik7CiAJCXByaW50ayhLRVJOX0lORk8gIlZH QSBzd2l0Y2hlcm9vOiBkZXRlY3RlZCBEU00gc3dpdGNoaW5nIG1ldGhvZCAlcyBoYW5kbGVcbiIs Ci0JCSAgICAgICBhY3BpX21ldGhvZF9uYW1lKTsKKwkJCWFjcGlfbWV0aG9kX25hbWUpOwogCQlu b3V2ZWF1X2RzbV9wcml2LmRzbV9kZXRlY3RlZCA9IHRydWU7CiAJCXJldCA9IHRydWU7CiAJfQog Ci0JaWYgKGhhc19vcHRpbXVzID09IDEpCisJaWYgKGhhc19vcHRpbXVzID09IDEpIHsKKwkJYWNw aV9nZXRfbmFtZShub3V2ZWF1X2RzbV9wcml2LmRoYW5kbGUsIEFDUElfRlVMTF9QQVRITkFNRSwK KwkJCSZidWZmZXIpOworCQlwcmludGsoS0VSTl9JTkZPICJWR0Egc3dpdGNoZXJvbzogZGV0ZWN0 ZWQgT3B0aW11cyBEU00gbWV0aG9kICVzIGhhbmRsZVxuIiwKKwkJCWFjcGlfbWV0aG9kX25hbWUp OwogCQlub3V2ZWF1X2RzbV9wcml2Lm9wdGltdXNfZGV0ZWN0ZWQgPSB0cnVlOworCQlyZXQgPSB0 cnVlOworCX0KIAogCXJldHVybiByZXQ7CiB9CkBAIC0zMDIsNiArMzI1LDE3IEBAIHZvaWQgbm91 dmVhdV9yZWdpc3Rlcl9kc21faGFuZGxlcih2b2lkKQogCXZnYV9zd2l0Y2hlcm9vX3JlZ2lzdGVy X2hhbmRsZXIoJm5vdXZlYXVfZHNtX2hhbmRsZXIpOwogfQogCisvKiBNdXN0IGJlIGNhbGxlZCBm b3IgT3B0aW11cyBtb2RlbHMgYmVmb3JlIHRoZSBjYXJkIGNhbiBiZSB0dXJuZWQgb2ZmICovCit2 b2lkIG5vdXZlYXVfc3dpdGNoZXJvb19vcHRpbXVzX2RzbSh2b2lkKQoreworCXUzMiByZXN1bHQg PSAwOworCWlmICghbm91dmVhdV9kc21fcHJpdi5vcHRpbXVzX2RldGVjdGVkKQorCQlyZXR1cm47 CisKKwlub3V2ZWF1X29wdGltdXNfZHNtKG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwgTk9VVkVB VV9EU01fT1BUSU1VU19GTiwKKwkJTk9VVkVBVV9EU01fT1BUSU1VU19BUkdTLCAmcmVzdWx0KTsK K30KKwogdm9pZCBub3V2ZWF1X3VucmVnaXN0ZXJfZHNtX2hhbmRsZXIodm9pZCkKIHsKIAl2Z2Ff c3dpdGNoZXJvb191bnJlZ2lzdGVyX2hhbmRsZXIoKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2Rydi5oCmluZGV4IDRjMGJlM2EuLjA2MTU3N2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bm91dmVhdV9kcnYuaApAQCAtMTA0MSw2ICsxMDQxLDcgQEAgZXh0ZXJuIGludCAgbm91dmVhdV9k bWFfd2FpdChzdHJ1Y3Qgbm91dmVhdV9jaGFubmVsICosIGludCBzbG90cywgaW50IHNpemUpOwog I2lmIGRlZmluZWQoQ09ORklHX0FDUEkpCiB2b2lkIG5vdXZlYXVfcmVnaXN0ZXJfZHNtX2hhbmRs ZXIodm9pZCk7CiB2b2lkIG5vdXZlYXVfdW5yZWdpc3Rlcl9kc21faGFuZGxlcih2b2lkKTsKK3Zv aWQgbm91dmVhdV9zd2l0Y2hlcm9vX29wdGltdXNfZHNtKHZvaWQpOwogaW50IG5vdXZlYXVfYWNw aV9nZXRfYmlvc19jaHVuayh1aW50OF90ICpiaW9zLCBpbnQgb2Zmc2V0LCBpbnQgbGVuKTsKIGJv b2wgbm91dmVhdV9hY3BpX3JvbV9zdXBwb3J0ZWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpOwogaW50 IG5vdXZlYXVfYWNwaV9lZGlkKHN0cnVjdCBkcm1fZGV2aWNlICosIHN0cnVjdCBkcm1fY29ubmVj dG9yICopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9zdGF0 ZS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9zdGF0ZS5jCmluZGV4IGQ4ODMx YWIuLmVmMjcwY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf c3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3N0YXRlLmMKQEAg LTUyNSw2ICs1MjUsNyBAQCBzdGF0aWMgdm9pZCBub3V2ZWF1X3N3aXRjaGVyb29fc2V0X3N0YXRl KHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogCQlwcmludGsoS0VSTl9FUlIgIlZHQSBzd2l0Y2hlcm9v OiBzd2l0Y2hlZCBub3V2ZWF1IG9mZlxuIik7CiAJCWRldi0+c3dpdGNoX3Bvd2VyX3N0YXRlID0g RFJNX1NXSVRDSF9QT1dFUl9DSEFOR0lORzsKIAkJZHJtX2ttc19oZWxwZXJfcG9sbF9kaXNhYmxl KGRldik7CisJCW5vdXZlYXVfc3dpdGNoZXJvb19vcHRpbXVzX2RzbSgpOwogCQlub3V2ZWF1X3Bj aV9zdXNwZW5kKHBkZXYsIHBtbSk7CiAJCWRldi0+c3dpdGNoX3Bvd2VyX3N0YXRlID0gRFJNX1NX SVRDSF9QT1dFUl9PRkY7CiAJfQotLSAKMS43LjUuNAoK --14dae93405bf2bbbd404b448a701 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Nouveau mailing list Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org http://lists.freedesktop.org/mailman/listinfo/nouveau --14dae93405bf2bbbd404b448a701--