From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [RFCv1 11/12] drm: Atomic modeset ioctl Date: Sat, 5 Oct 2013 20:45:49 -0400 Message-ID: <1381020350-1125-12-git-send-email-robdclark@gmail.com> References: <1381020350-1125-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qa0-f44.google.com (mail-qa0-f44.google.com [209.85.216.44]) by gabe.freedesktop.org (Postfix) with ESMTP id F39AAE5EB4 for ; Sat, 5 Oct 2013 17:46:29 -0700 (PDT) Received: by mail-qa0-f44.google.com with SMTP id j7so2091224qaq.17 for ; Sat, 05 Oct 2013 17:46:29 -0700 (PDT) In-Reply-To: <1381020350-1125-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBhdG9taWMgbW9kZXNldCBpb2N0bCBjbmEgYmUgdXNlZCB0byBwdXNoIGFueSBudW1iZXIgb2Yg bmV3IHZhbHVlcwpmb3Igb2JqZWN0IHByb3BlcnRpZXMuIFRoZSBkcml2ZXIgY2FuIHRoZW4gY2hl Y2sgdGhlIGZ1bGwgZGV2aWNlCmNvbmZpZ3VyYXRpb24gYXMgc2luZ2xlIHVuaXQsIGFuZCB0cnkg dG8gYXBwbHkgdGhlIGNoYW5nZXMgYXRvbWljYWxseS4KClRoZSBpb2N0bCBzaW1wbHkgdGFrZXMg YSBsaXN0IG9mIG9iamVjdCBJRHMgYW5kIHByb3BlcnR5IElEcyBhbmQgdGhlaXIKdmFsdWVzLiBG b3Igc2V0dGluZyB2YWx1ZXMgdG8gYmxvYiBwcm9wZXJ0aWVzLCB0aGUgcHJvcGVydHkgdmFsdWUK aW5kaWNhdGVzIHRoZSBsZW5ndGggb2YgdGhlIGRhdGEsIGFuZCB0aGUgYWN0dWFsIGRhdGEgaXMg cGFzc2VkIHZpYQphbm90aGVyIGJsb2IgcG9pbnRlci4KClRoZSBjYWxsZXIgY2FuIGRlbWFuZCBu b24tYmxvY2tpbmcgb3BlcmF0aW9uIGZyb20gdGhlIGlvY3RsLCBhbmQgaWYgdGhlCmRyaXZlciBj YW4ndCBzYXRpc2Z5IHRoYXQgcmVxdWlyZW1lbnQgYW4gZXJyb3Igd2lsbCBiZSByZXR1cm5lZC4K ClRoZSBjYWxsZXIgY2FuIGFsc28gcmVxdWVzdCB0byByZWNlaXZlIGFzeW5jaHJvbm91cyBjb21w bGV0aW9uIGV2ZW50cwphZnRlciB0aGUgb3BlcmF0aW9uIGhhcyByZWFjaGVkIHRoZSBoYXJkd2Fy ZS4gQW4gZXZlbnQgaXMgc2VudCBmb3IgZWFjaApvYmplY3Qgc3BlY2lmaWVkIGJ5IHRoZSBjYWxs ZXIsIHdoZXRoZXIgb3Igbm90IHRoZSBhY3R1YWwgc3RhdGUgb2YKdGhhdCBvYmplY3QgY2hhbmdl ZC4gRWFjaCBldmVudCBhbHNvIGNhcnJpZXMgYSBmcmFtZWJ1ZmZlciBJRCwgd2hpY2gKaW5kaWNh dGVzIHRvIHVzZXIgc3BhY2UgdGhhdCB0aGUgc3BlY2lmaWVkIG9iamVjdCBpcyBubyBsb25nZXIK YWNjZXNzaW5nIHRoYXQgZnJhbWVidWZmZXIuCgpUT0RPOiBkZXRhaWxlZCBlcnJvciByZXBvcnRp bmc/Cgp2MTogb3JpZ2luYWwKdjI6IHJlYmFzZSBvbiB1YXBpIGNoYW5nZXMsIGFuZCBkcm0gc3Rh dGUgc3RydWN0cy4uIC0tIFJvYiBDbGFyawp2MzogcmViYXNlLCBtaXNzaW5nIHBhZGRpbmcgaW4g ZHJtX2V2ZW50X2F0b21pYy4uIC0tIFJvYiBDbGFyawoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2NydGMuYyAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMgICB8ICAgMSArCiBpbmNsdWRlL2Ry bS9kcm1QLmggICAgICAgICAgfCAgIDYgKysKIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICB8 ICAgMiArCiBpbmNsdWRlL3VhcGkvZHJtL2RybS5oICAgICAgfCAgMTIgKysrKwogaW5jbHVkZS91 YXBpL2RybS9kcm1fbW9kZS5oIHwgIDE2ICsrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE5NiBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwppbmRleCAwOTM5NmE5Li45MTBlNWM2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGMuYwpAQCAtNDMzOCwzICs0MzM4LDE2MiBAQCB2b2lkIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWRyX2Rlc3Ryb3koJmRldi0+bW9kZV9jb25maWcu Y3J0Y19pZHIpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25maWdfY2xlYW51cCk7CisK K2ludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAg dm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJc3RydWN0IGRybV9t b2RlX2F0b21pYyAqYXJnID0gZGF0YTsKKwl1aW50MzJfdCBfX3VzZXIgKm9ianNfcHRyID0gKHVp bnQzMl90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPm9ianNfcHRyKTsKKwl1aW50MzJf dCBfX3VzZXIgKmNvdW50X3Byb3BzX3B0ciA9ICh1aW50MzJfdCBfX3VzZXIgKikodW5zaWduZWQg bG9uZykoYXJnLT5jb3VudF9wcm9wc19wdHIpOworCXVpbnQzMl90IF9fdXNlciAqcHJvcHNfcHRy ID0gKHVpbnQzMl90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPnByb3BzX3B0cik7CisJ dWludDY0X3QgX191c2VyICpwcm9wX3ZhbHVlc19wdHIgPSAodWludDY0X3QgX191c2VyICopKHVu c2lnbmVkIGxvbmcpKGFyZy0+cHJvcF92YWx1ZXNfcHRyKTsKKwl1aW50NjRfdCBfX3VzZXIgKmJs b2JfdmFsdWVzX3B0ciA9ICh1aW50NjRfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5i bG9iX3ZhbHVlc19wdHIpOworCXVuc2lnbmVkIGludCBjb3BpZWRfb2JqcyA9IDA7CisJdW5zaWdu ZWQgaW50IGNvcGllZF9wcm9wcyA9IDA7CisJdW5zaWduZWQgaW50IGNvcGllZF9ibG9icyA9IDA7 CisJdm9pZCAqc3RhdGU7CisJaW50IHJldCA9IDA7CisJdW5zaWduZWQgaW50IGksIGo7CisKKwlp ZiAoYXJnLT5mbGFncyAmIH4oRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSB8CisJCQlEUk1fTU9E RV9BVE9NSUNfRVZFTlQgfCBEUk1fTU9ERV9BVE9NSUNfTk9OQkxPQ0spKQorCQlyZXR1cm4gLUVJ TlZBTDsKKworCS8qIGNhbid0IHRlc3QgYW5kIGV4cGVjdCBhbiBldmVudCBhdCB0aGUgc2FtZSB0 aW1lLiAqLworCWlmICgoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFkpICYm CisJCQkoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19FVkVOVCkpCisJCXJldHVybiAtRUlO VkFMOworCisJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7CisKKwlzdGF0ZSA9 IGRldi0+ZHJpdmVyLT5hdG9taWNfYmVnaW4oZGV2LCBhcmctPmZsYWdzKTsKKwlpZiAoSVNfRVJS KHN0YXRlKSkgeworCQlyZXQgPSBQVFJfRVJSKHN0YXRlKTsKKwkJZ290byB1bmxvY2s7CisJfQor CisJZm9yIChpID0gMDsgaSA8IGFyZy0+Y291bnRfb2JqczsgaSsrKSB7CisJCXVpbnQzMl90IG9i al9pZCwgY291bnRfcHJvcHM7CisJCXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iajsKKworCQlp ZiAoZ2V0X3VzZXIob2JqX2lkLCBvYmpzX3B0ciArIGNvcGllZF9vYmpzKSkgeworCQkJcmV0ID0g LUVGQVVMVDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJb2JqID0gZHJtX21vZGVfb2JqZWN0X2Zp bmQoZGV2LCBvYmpfaWQsIERSTV9NT0RFX09CSkVDVF9BTlkpOworCQlpZiAoIW9iaiB8fCAhb2Jq LT5wcm9wZXJ0aWVzKSB7CisJCQlyZXQgPSAtRU5PRU5UOworCQkJZ290byBvdXQ7CisJCX0KKwor CQlpZiAoYXJnLT5mbGFncyAmIERSTV9NT0RFX0FUT01JQ19FVkVOVCkgeworCQkJLy8gWFhYIGNy ZWF0ZSBhdG9taWMgZXZlbnQgaW5zdGVhZC4uCisJCQlzdHJ1Y3QgZHJtX3BlbmRpbmdfdmJsYW5r X2V2ZW50ICplID0KKwkJCQljcmVhdGVfdmJsYW5rX2V2ZW50KGRldiwgZmlsZV9wcml2LCBhcmct PnVzZXJfZGF0YSk7CisJCQlpZiAoIWUpIHsKKwkJCQlyZXQgPSAtRU5PTUVNOworCQkJCWdvdG8g b3V0OworCQkJfQorCQkJcmV0ID0gZGV2LT5kcml2ZXItPmF0b21pY19zZXRfZXZlbnQoZGV2LCBz dGF0ZSwgb2JqLCBlKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlkZXN0cm95X3ZibGFua19ldmVudChk ZXYsIGZpbGVfcHJpdiwgZSk7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKworCQlpZiAoZ2V0 X3VzZXIoY291bnRfcHJvcHMsIGNvdW50X3Byb3BzX3B0ciArIGNvcGllZF9vYmpzKSkgeworCQkJ cmV0ID0gLUVGQVVMVDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJY29waWVkX29ianMrKzsKKwor CQlmb3IgKGogPSAwOyBqIDwgY291bnRfcHJvcHM7IGorKykgeworCQkJdWludDMyX3QgcHJvcF9p ZDsKKwkJCXVpbnQ2NF90IHByb3BfdmFsdWU7CisJCQlzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpw cm9wX29iajsKKwkJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7CisJCQl2b2lkICpibG9iX2Rh dGEgPSBOVUxMOworCisJCQlpZiAoZ2V0X3VzZXIocHJvcF9pZCwgcHJvcHNfcHRyICsgY29waWVk X3Byb3BzKSkgeworCQkJCXJldCA9IC1FRkFVTFQ7CisJCQkJZ290byBvdXQ7CisJCQl9CisKKwkJ CWlmICghb2JqZWN0X2hhc19wcm9wKG9iaiwgcHJvcF9pZCkpIHsKKwkJCQlyZXQgPSAtRUlOVkFM OworCQkJCWdvdG8gb3V0OworCQkJfQorCisJCQlwcm9wX29iaiA9IGRybV9tb2RlX29iamVjdF9m aW5kKGRldiwgcHJvcF9pZCwKKwkJCQkJRFJNX01PREVfT0JKRUNUX1BST1BFUlRZKTsKKwkJCWlm ICghcHJvcF9vYmopIHsKKwkJCQlyZXQgPSAtRU5PRU5UOworCQkJCWdvdG8gb3V0OworCQkJfQor CQkJcHJvcCA9IG9ial90b19wcm9wZXJ0eShwcm9wX29iaik7CisKKwkJCWlmIChnZXRfdXNlcihw cm9wX3ZhbHVlLCBwcm9wX3ZhbHVlc19wdHIgKyBjb3BpZWRfcHJvcHMpKSB7CisJCQkJcmV0ID0g LUVGQVVMVDsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKworCQkJaWYgKCFkcm1fcHJvcGVydHlfY2hh bmdlX2lzX3ZhbGlkKHByb3AsIHByb3BfdmFsdWUpKSB7CisJCQkJcmV0ID0gLUVJTlZBTDsKKwkJ CQlnb3RvIG91dDsKKwkJCX0KKworCQkJaWYgKChwcm9wLT5mbGFncyAmIERSTV9NT0RFX1BST1Bf QkxPQikgJiYgcHJvcF92YWx1ZSkgeworCQkJCXVpbnQ2NF90IGJsb2JfcHRyOworCisJCQkJaWYg KGdldF91c2VyKGJsb2JfcHRyLCBibG9iX3ZhbHVlc19wdHIgKyBjb3BpZWRfYmxvYnMpKSB7CisJ CQkJCXJldCA9IC1FRkFVTFQ7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKworCQkJCWJsb2JfZGF0 YSA9IGttYWxsb2MocHJvcF92YWx1ZSwgR0ZQX0tFUk5FTCk7CisJCQkJaWYgKCFibG9iX2RhdGEp IHsKKwkJCQkJcmV0ID0gLUVOT01FTTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCisJCQkJaWYg KGNvcHlfZnJvbV91c2VyKGJsb2JfZGF0YSwgKHZvaWQgX191c2VyICopKHVuc2lnbmVkIGxvbmcp YmxvYl9wdHIsIHByb3BfdmFsdWUpKSB7CisJCQkJCWtmcmVlKGJsb2JfZGF0YSk7CisJCQkJCXJl dCA9IC1FRkFVTFQ7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCX0KKworCQkJLyogVXNlciBz cGFjZSBzZW5kcyB0aGUgYmxvYiBwb2ludGVyIGV2ZW4gaWYgd2UKKwkJCSAqIGRvbid0IHVzZSBp dCAobGVuZ3RoPT0wKS4KKwkJCSAqLworCQkJaWYgKHByb3AtPmZsYWdzICYgRFJNX01PREVfUFJP UF9CTE9CKQorCQkJCWNvcGllZF9ibG9icysrOworCisJCQkvKiBUaGUgZHJpdmVyIHdpbGwgYmUg aW4gY2hhcmdlIG9mIGJsb2JfZGF0YSBmcm9tIG5vdyBvbi4gKi8KKwkJCXJldCA9IGRybV9tb2Rl X3NldF9vYmpfcHJvcChvYmosIHN0YXRlLCBwcm9wLAorCQkJCQlwcm9wX3ZhbHVlLCBibG9iX2Rh dGEpOworCQkJaWYgKHJldCkKKwkJCQlnb3RvIG91dDsKKworCQkJY29waWVkX3Byb3BzKys7CisJ CX0KKwl9CisKKwlyZXQgPSBkZXYtPmRyaXZlci0+YXRvbWljX2NoZWNrKGRldiwgc3RhdGUpOwor CWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9N SUNfVEVTVF9PTkxZKQorCQlnb3RvIG91dDsKKworCXJldCA9IGRldi0+ZHJpdmVyLT5hdG9taWNf Y29tbWl0KGRldiwgc3RhdGUpOworCisgb3V0OgorCWRldi0+ZHJpdmVyLT5hdG9taWNfZW5kKGRl diwgc3RhdGUpOworIHVubG9jazoKKwltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0 ZXgpOworCisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCmluZGV4IGU1NzJkZDIuLjQzZTA0YWUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9kcnYuYwpAQCAtMTY2LDYgKzE2Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01P REVfT0JKX0dFVFBST1BFUlRJRVMsIGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllc19pb2N0bCwg RFJNX0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NU TF9NT0RFX09CSl9TRVRQUk9QRVJUWSwgZHJtX21vZGVfb2JqX3NldF9wcm9wZXJ0eV9pb2N0bCwg RFJNX01BU1RFUnxEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAogCURSTV9JT0NUTF9E RUYoRFJNX0lPQ1RMX01PREVfQ1VSU09SMiwgZHJtX21vZGVfY3Vyc29yMl9pb2N0bCwgRFJNX01B U1RFUnxEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAorCURSTV9JT0NUTF9ERUYoRFJN X0lPQ1RMX01PREVfQVRPTUlDLCBkcm1fbW9kZV9hdG9taWNfaW9jdGwsIERSTV9NQVNURVJ8RFJN X0NPTlRST0xfQUxMT1d8RFJNX1VOTE9DS0VEKSwKIH07CiAKICNkZWZpbmUgRFJNX0NPUkVfSU9D VExfQ09VTlQJQVJSQVlfU0laRSggZHJtX2lvY3RscyApCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggNGMzZGUyMi4uZjI4MjczMyAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAt MTE1OCw2ICsxMTU4LDEyIEBAIHN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgewogCXN0 cnVjdCBkcm1fZXZlbnRfdmJsYW5rIGV2ZW50OwogfTsKIAorc3RydWN0IGRybV9wZW5kaW5nX2F0 b21pY19ldmVudCB7CisJc3RydWN0IGRybV9wZW5kaW5nX2V2ZW50IGJhc2U7CisJaW50IHBpcGU7 CisJc3RydWN0IGRybV9ldmVudF9hdG9taWMgZXZlbnQ7Cit9OworCiAvKioKICAqIERSTSBkZXZp Y2Ugc3RydWN0dXJlLiBUaGlzIHN0cnVjdHVyZSByZXByZXNlbnQgYSBjb21wbGV0ZSBjYXJkIHRo YXQKICAqIG1heSBjb250YWluIG11bHRpcGxlIGhlYWRzLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggODZhNWEwMC4uZmEz OTU2ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAorKysgYi9pbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oCkBAIC0xMzEzLDYgKzEzMTMsOCBAQCBleHRlcm4gaW50IGRybV9tb2RlX29i al9nZXRfcHJvcGVydGllc19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAogCQkJCQkgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGV4dGVybiBpbnQgZHJt X21vZGVfb2JqX3NldF9wcm9wZXJ0eV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCQkJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitleHRlcm4gaW50 IGRybV9tb2RlX2F0b21pY19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSB2b2lk ICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiAKIGV4dGVybiB2b2lkIGRybV9m Yl9nZXRfYnBwX2RlcHRoKHVpbnQzMl90IGZvcm1hdCwgdW5zaWduZWQgaW50ICpkZXB0aCwKIAkJ CQkgaW50ICpicHApOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm0uaCBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtLmgKaW5kZXggZWNlODY3OC4uZWZiMTQ2MSAxMDA2NDQKLS0tIGEvaW5j bHVkZS91YXBpL2RybS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBAIC03MzMs NiArNzMzLDcgQEAgc3RydWN0IGRybV9wcmltZV9oYW5kbGUgewogI2RlZmluZSBEUk1fSU9DVExf TU9ERV9PQkpfR0VUUFJPUEVSVElFUwlEUk1fSU9XUigweEI5LCBzdHJ1Y3QgZHJtX21vZGVfb2Jq X2dldF9wcm9wZXJ0aWVzKQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9PQkpfU0VUUFJPUEVSVFkJ RFJNX0lPV1IoMHhCQSwgc3RydWN0IGRybV9tb2RlX29ial9zZXRfcHJvcGVydHkpCiAjZGVmaW5l IERSTV9JT0NUTF9NT0RFX0NVUlNPUjIJCURSTV9JT1dSKDB4QkIsIHN0cnVjdCBkcm1fbW9kZV9j dXJzb3IyKQorI2RlZmluZSBEUk1fSU9DVExfTU9ERV9BVE9NSUMJCURSTV9JT1dSKDB4QkMsIHN0 cnVjdCBkcm1fbW9kZV9hdG9taWMpCiAKIC8qKgogICogRGV2aWNlIHNwZWNpZmljIGlvY3RscyBz aG91bGQgb25seSBiZSBpbiB0aGVpciByZXNwZWN0aXZlIGhlYWRlcnMKQEAgLTc3NCw2ICs3NzUs MTcgQEAgc3RydWN0IGRybV9ldmVudF92YmxhbmsgewogCV9fdTMyIHJlc2VydmVkOwogfTsKIAor c3RydWN0IGRybV9ldmVudF9hdG9taWMgeworCXN0cnVjdCBkcm1fZXZlbnQgYmFzZTsKKwlfX3U2 NCB1c2VyX2RhdGE7CisJX191MzIgdHZfc2VjOworCV9fdTMyIHR2X3VzZWM7CisJX191MzIgc2Vx dWVuY2U7CisJX191MzIgb2JqX2lkOworCV9fdTMyIG9sZF9mYl9pZDsKKwlfX3UzMiByZXNlcnZl ZDsKK307CisKICNkZWZpbmUgRFJNX0NBUF9EVU1CX0JVRkZFUiAweDEKICNkZWZpbmUgRFJNX0NB UF9WQkxBTktfSElHSF9DUlRDIDB4MgogI2RlZmluZSBEUk1fQ0FQX0RVTUJfUFJFRkVSUkVEX0RF UFRIIDB4MwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oIGIvaW5jbHVk ZS91YXBpL2RybS9kcm1fbW9kZS5oCmluZGV4IDZkNGYwODkuLjAzYTQ3M2MgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmgKQEAgLTQ4OSw0ICs0ODksMjAgQEAgc3RydWN0IGRybV9tb2RlX2Rlc3Ryb3lfZHVtYiB7 CiAJdWludDMyX3QgaGFuZGxlOwogfTsKIAorI2RlZmluZSBEUk1fTU9ERV9BVE9NSUNfVEVTVF9P TkxZICgxPDwwKQorI2RlZmluZSBEUk1fTU9ERV9BVE9NSUNfRVZFTlQgKDE8PDEpCisjZGVmaW5l IERSTV9NT0RFX0FUT01JQ19OT05CTE9DSyAoMTw8MikKKworLyogRklYTUUgY29tZSB1cCB3aXRo IHNvbWUgc2FuZSBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtPyAqLworc3RydWN0IGRybV9tb2Rl X2F0b21pYyB7CisJX191MzIgZmxhZ3M7CisJX191MzIgY291bnRfb2JqczsKKwlfX3U2NCBvYmpz X3B0cjsKKwlfX3U2NCBjb3VudF9wcm9wc19wdHI7CisJX191NjQgcHJvcHNfcHRyOworCV9fdTY0 IHByb3BfdmFsdWVzX3B0cjsKKwlfX3U2NCBibG9iX3ZhbHVlc19wdHI7CisJX191NjQgdXNlcl9k YXRhOworfTsKKwogI2VuZGlmCi0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=