From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [RFCv4 12/14] drm: Atomic modeset ioctl Date: Mon, 25 Nov 2013 09:47:36 -0500 Message-ID: <1385390858-4412-13-git-send-email-robdclark@gmail.com> References: <1385390858-4412-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-f42.google.com (mail-qa0-f42.google.com [209.85.216.42]) by gabe.freedesktop.org (Postfix) with ESMTP id 72119FA797 for ; Mon, 25 Nov 2013 06:48:24 -0800 (PST) Received: by mail-qa0-f42.google.com with SMTP id k4so3078836qaq.8 for ; Mon, 25 Nov 2013 06:48:24 -0800 (PST) In-Reply-To: <1385390858-4412-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@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 YWNjZXNzaW5nIHRoYXQgZnJhbWVidWZmZXIuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9k cm1fY3J0Yy5jICB8IDE1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyAgIHwgICAxICsKIGluY2x1ZGUvZHJtL2Ry bVAuaCAgICAgICAgICB8ICAgNiArKwogaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgIHwgICAy ICsKIGluY2x1ZGUvdWFwaS9kcm0vZHJtLmggICAgICB8ICAxMiArKysrCiBpbmNsdWRlL3VhcGkv ZHJtL2RybV9tb2RlLmggfCAgMjAgKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE5NyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2NydGMuYwppbmRleCAwMDhiNWJiLi44MTU4MjUwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMu YwpAQCAtNDU4MSwzICs0NTgxLDE1OSBAQCB2b2lkIGRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWRyX2Rlc3Ryb3koJmRldi0+bW9kZV9jb25maWcuY3J0 Y19pZHIpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9jb25maWdfY2xlYW51cCk7CisKK2lu dCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgdm9p ZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJc3RydWN0IGRybV9tb2Rl X2F0b21pYyAqYXJnID0gZGF0YTsKKwl1aW50MzJfdCBfX3VzZXIgKm9ianNfcHRyID0gKHVpbnQz Ml90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPm9ianNfcHRyKTsKKwl1aW50MzJfdCBf X3VzZXIgKmNvdW50X3Byb3BzX3B0ciA9ICh1aW50MzJfdCBfX3VzZXIgKikodW5zaWduZWQgbG9u ZykoYXJnLT5jb3VudF9wcm9wc19wdHIpOworCXVpbnQzMl90IF9fdXNlciAqcHJvcHNfcHRyID0g KHVpbnQzMl90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPnByb3BzX3B0cik7CisJdWlu dDY0X3QgX191c2VyICpwcm9wX3ZhbHVlc19wdHIgPSAodWludDY0X3QgX191c2VyICopKHVuc2ln bmVkIGxvbmcpKGFyZy0+cHJvcF92YWx1ZXNfcHRyKTsKKwl1aW50NjRfdCBfX3VzZXIgKmJsb2Jf dmFsdWVzX3B0ciA9ICh1aW50NjRfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5ibG9i X3ZhbHVlc19wdHIpOworCXVuc2lnbmVkIGludCBjb3BpZWRfb2JqcywgY29waWVkX3Byb3BzLCBj b3BpZWRfYmxvYnM7CisJdm9pZCAqc3RhdGU7CisJaW50IHJldCA9IDA7CisJdW5zaWduZWQgaW50 IGksIGo7CisKKwlpZiAoYXJnLT5mbGFncyAmIH5EUk1fTU9ERV9BVE9NSUNfRkxBR1MpCisJCXJl dHVybiAtRUlOVkFMOworCisJLyogY2FuJ3QgdGVzdCBhbmQgZXhwZWN0IGFuIGV2ZW50IGF0IHRo ZSBzYW1lIHRpbWUuICovCisJaWYgKChhcmctPmZsYWdzICYgRFJNX01PREVfQVRPTUlDX1RFU1Rf T05MWSkgJiYKKwkJCShhcmctPmZsYWdzICYgRFJNX01PREVfUEFHRV9GTElQX0VWRU5UKSkKKwkJ cmV0dXJuIC1FSU5WQUw7CisKK3JldHJ5OgorCWNvcGllZF9vYmpzID0gMDsKKwljb3BpZWRfcHJv cHMgPSAwOworCWNvcGllZF9ibG9icyA9IDA7CisKKwlzdGF0ZSA9IGRldi0+ZHJpdmVyLT5hdG9t aWNfYmVnaW4oZGV2LCBhcmctPmZsYWdzKTsKKwlpZiAoSVNfRVJSKHN0YXRlKSkgeworCQlyZXQg PSBQVFJfRVJSKHN0YXRlKTsKKwkJZ290byBvdXQ7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGFy Zy0+Y291bnRfb2JqczsgaSsrKSB7CisJCXVpbnQzMl90IG9ial9pZCwgY291bnRfcHJvcHM7CisJ CXN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iajsKKworCQlpZiAoZ2V0X3VzZXIob2JqX2lkLCBv YmpzX3B0ciArIGNvcGllZF9vYmpzKSkgeworCQkJcmV0ID0gLUVGQVVMVDsKKwkJCWdvdG8gb3V0 OworCQl9CisKKwkJb2JqID0gZHJtX21vZGVfb2JqZWN0X2ZpbmQoZGV2LCBvYmpfaWQsIERSTV9N T0RFX09CSkVDVF9BTlkpOworCQlpZiAoIW9iaiB8fCAhb2JqLT5wcm9wZXJ0aWVzKSB7CisJCQly ZXQgPSAtRU5PRU5UOworCQkJZ290byBvdXQ7CisJCX0KKworCQlpZiAoKG9iai0+dHlwZSA9PSBE Uk1fTU9ERV9PQkpFQ1RfQ1JUQykgJiYKKwkJCQkoYXJnLT5mbGFncyAmIERSTV9NT0RFX1BBR0Vf RkxJUF9FVkVOVCkpIHsKKwkJCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmUgPQor CQkJCWNyZWF0ZV92YmxhbmtfZXZlbnQoZGV2LCBmaWxlX3ByaXYsIGFyZy0+dXNlcl9kYXRhKTsK KwkJCWlmICghZSkgeworCQkJCXJldCA9IC1FTk9NRU07CisJCQkJZ290byBvdXQ7CisJCQl9CisJ CQlyZXQgPSBkZXYtPmRyaXZlci0+YXRvbWljX3NldF9ldmVudChkZXYsIHN0YXRlLCBvYmosIGUp OworCQkJaWYgKHJldCkgeworCQkJCWRlc3Ryb3lfdmJsYW5rX2V2ZW50KGRldiwgZmlsZV9wcml2 LCBlKTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJfQorCisJCWlmIChnZXRfdXNlcihjb3VudF9w cm9wcywgY291bnRfcHJvcHNfcHRyICsgY29waWVkX29ianMpKSB7CisJCQlyZXQgPSAtRUZBVUxU OworCQkJZ290byBvdXQ7CisJCX0KKworCQljb3BpZWRfb2JqcysrOworCisJCWZvciAoaiA9IDA7 IGogPCBjb3VudF9wcm9wczsgaisrKSB7CisJCQl1aW50MzJfdCBwcm9wX2lkOworCQkJdWludDY0 X3QgcHJvcF92YWx1ZTsKKwkJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7CisJCQl2b2lkICpi bG9iX2RhdGEgPSBOVUxMOworCisJCQlpZiAoZ2V0X3VzZXIocHJvcF9pZCwgcHJvcHNfcHRyICsg Y29waWVkX3Byb3BzKSkgeworCQkJCXJldCA9IC1FRkFVTFQ7CisJCQkJZ290byBvdXQ7CisJCQl9 CisKKwkJCWlmICghb2JqZWN0X2hhc19wcm9wKG9iaiwgcHJvcF9pZCkpIHsKKwkJCQlyZXQgPSAt RUlOVkFMOworCQkJCWdvdG8gb3V0OworCQkJfQorCisJCQlwcm9wID0gZHJtX3Byb3BlcnR5X2Zp bmQoZGV2LCBwcm9wX2lkKTsKKwkJCWlmICghcHJvcCkgeworCQkJCXJldCA9IC1FTk9FTlQ7CisJ CQkJZ290byBvdXQ7CisJCQl9CisKKwkJCWlmIChnZXRfdXNlcihwcm9wX3ZhbHVlLCBwcm9wX3Zh bHVlc19wdHIgKyBjb3BpZWRfcHJvcHMpKSB7CisJCQkJcmV0ID0gLUVGQVVMVDsKKwkJCQlnb3Rv IG91dDsKKwkJCX0KKworCQkJaWYgKCFkcm1fcHJvcGVydHlfY2hhbmdlX2lzX3ZhbGlkKHByb3As IHByb3BfdmFsdWUpKSB7CisJCQkJcmV0ID0gLUVJTlZBTDsKKwkJCQlnb3RvIG91dDsKKwkJCX0K KworCQkJaWYgKChwcm9wLT5mbGFncyAmIERSTV9NT0RFX1BST1BfQkxPQikgJiYgcHJvcF92YWx1 ZSkgeworCQkJCXVpbnQ2NF90IGJsb2JfcHRyOworCisJCQkJaWYgKGdldF91c2VyKGJsb2JfcHRy LCBibG9iX3ZhbHVlc19wdHIgKyBjb3BpZWRfYmxvYnMpKSB7CisJCQkJCXJldCA9IC1FRkFVTFQ7 CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKworCQkJCWJsb2JfZGF0YSA9IGttYWxsb2MocHJvcF92 YWx1ZSwgR0ZQX0tFUk5FTCk7CisJCQkJaWYgKCFibG9iX2RhdGEpIHsKKwkJCQkJcmV0ID0gLUVO T01FTTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCisJCQkJaWYgKGNvcHlfZnJvbV91c2VyKGJs b2JfZGF0YSwgKHZvaWQgX191c2VyICopKHVuc2lnbmVkIGxvbmcpYmxvYl9wdHIsIHByb3BfdmFs dWUpKSB7CisJCQkJCWtmcmVlKGJsb2JfZGF0YSk7CisJCQkJCXJldCA9IC1FRkFVTFQ7CisJCQkJ CWdvdG8gb3V0OworCQkJCX0KKwkJCX0KKworCQkJLyogVXNlciBzcGFjZSBzZW5kcyB0aGUgYmxv YiBwb2ludGVyIGV2ZW4gaWYgd2UKKwkJCSAqIGRvbid0IHVzZSBpdCAobGVuZ3RoPT0wKS4KKwkJ CSAqLworCQkJaWYgKHByb3AtPmZsYWdzICYgRFJNX01PREVfUFJPUF9CTE9CKQorCQkJCWNvcGll ZF9ibG9icysrOworCisJCQkvKiBUaGUgZHJpdmVyIHdpbGwgYmUgaW4gY2hhcmdlIG9mIGJsb2Jf ZGF0YSBmcm9tIG5vdyBvbi4gKi8KKwkJCXJldCA9IGRybV9tb2RlX3NldF9vYmpfcHJvcChvYmos IHN0YXRlLCBwcm9wLAorCQkJCQlwcm9wX3ZhbHVlLCBibG9iX2RhdGEpOworCQkJaWYgKHJldCkK KwkJCQlnb3RvIG91dDsKKworCQkJY29waWVkX3Byb3BzKys7CisJCX0KKwl9CisKKwlyZXQgPSBk ZXYtPmRyaXZlci0+YXRvbWljX2NoZWNrKGRldiwgc3RhdGUpOworCWlmIChyZXQpCisJCWdvdG8g b3V0OworCisJaWYgKGFyZy0+ZmxhZ3MgJiBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZKQorCQln b3RvIG91dDsKKworCXJldCA9IGRldi0+ZHJpdmVyLT5hdG9taWNfY29tbWl0KGRldiwgc3RhdGUp OworCisgb3V0OgorCWRldi0+ZHJpdmVyLT5hdG9taWNfZW5kKGRldiwgc3RhdGUpOworCWlmIChy ZXQgPT0gLUVERUFETEspCisJCWdvdG8gcmV0cnk7CisKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2 LmMKaW5kZXggZDkxMzdlNC4uY2RhZGMxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCkBAIC0xNjcsNiArMTY3LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10gPSB7CiAJ RFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9PQkpfR0VUUFJPUEVSVElFUywgZHJtX21vZGVf b2JqX2dldF9wcm9wZXJ0aWVzX2lvY3RsLCBEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQp LAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfT0JKX1NFVFBST1BFUlRZLCBkcm1fbW9k ZV9vYmpfc2V0X3Byb3BlcnR5X2lvY3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9MX0FMTE9XfERS TV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9DVVJTT1IyLCBkcm1f bW9kZV9jdXJzb3IyX2lvY3RsLCBEUk1fTUFTVEVSfERSTV9DT05UUk9MX0FMTE9XfERSTV9VTkxP Q0tFRCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BVE9NSUMsIGRybV9tb2RlX2F0 b21pY19pb2N0bCwgRFJNX01BU1RFUnxEUk1fQ09OVFJPTF9BTExPV3xEUk1fVU5MT0NLRUQpLAog fTsKIAogI2RlZmluZSBEUk1fQ09SRV9JT0NUTF9DT1VOVAlBUlJBWV9TSVpFKCBkcm1faW9jdGxz ICkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybVAuaCBiL2luY2x1ZGUvZHJtL2RybVAuaApp bmRleCBmM2FlY2QwLi5kZGZiNzFkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1QLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtUC5oCkBAIC0xMTU3LDYgKzExNTcsMTIgQEAgc3RydWN0IGRybV92 YmxhbmtfY3J0YyB7CiAJCQkJCSAgIG9uY2UgcGVyIGRpc2FibGUgKi8KIH07CiAKK3N0cnVjdCBk cm1fcGVuZGluZ19hdG9taWNfZXZlbnQgeworCXN0cnVjdCBkcm1fcGVuZGluZ19ldmVudCBiYXNl OworCWludCBwaXBlOworCXN0cnVjdCBkcm1fZXZlbnRfYXRvbWljIGV2ZW50OworfTsKKwogLyoq CiAgKiBEUk0gZGV2aWNlIHN0cnVjdHVyZS4gVGhpcyBzdHJ1Y3R1cmUgcmVwcmVzZW50IGEgY29t cGxldGUgY2FyZCB0aGF0CiAgKiBtYXkgY29udGFpbiBtdWx0aXBsZSBoZWFkcy4KZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCmluZGV4 IGVjY2VlMjkuLmY5N2M5OTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMTM4MCw2ICsxMzgwLDggQEAgZXh0ZXJuIGlu dCBkcm1fbW9kZV9vYmpfZ2V0X3Byb3BlcnRpZXNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiBl eHRlcm4gaW50IGRybV9tb2RlX29ial9zZXRfcHJvcGVydHlfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYp OworZXh0ZXJuIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCQkgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogCiBleHRl cm4gdm9pZCBkcm1fZmJfZ2V0X2JwcF9kZXB0aCh1aW50MzJfdCBmb3JtYXQsIHVuc2lnbmVkIGlu dCAqZGVwdGgsCiAJCQkJIGludCAqYnBwKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0v ZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCmluZGV4IDliMjRkNjUuLjE0OGM2YzAgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9k cm0uaApAQCAtNzU5LDYgKzc1OSw3IEBAIHN0cnVjdCBkcm1fcHJpbWVfaGFuZGxlIHsKICNkZWZp bmUgRFJNX0lPQ1RMX01PREVfT0JKX0dFVFBST1BFUlRJRVMJRFJNX0lPV1IoMHhCOSwgc3RydWN0 IGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllcykKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfT0JK X1NFVFBST1BFUlRZCURSTV9JT1dSKDB4QkEsIHN0cnVjdCBkcm1fbW9kZV9vYmpfc2V0X3Byb3Bl cnR5KQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9DVVJTT1IyCQlEUk1fSU9XUigweEJCLCBzdHJ1 Y3QgZHJtX21vZGVfY3Vyc29yMikKKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfQVRPTUlDCQlEUk1f SU9XUigweEJDLCBzdHJ1Y3QgZHJtX21vZGVfYXRvbWljKQogCiAvKioKICAqIERldmljZSBzcGVj aWZpYyBpb2N0bHMgc2hvdWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBoZWFkZXJzCkBA IC04MDAsNiArODAxLDE3IEBAIHN0cnVjdCBkcm1fZXZlbnRfdmJsYW5rIHsKIAlfX3UzMiByZXNl cnZlZDsKIH07CiAKK3N0cnVjdCBkcm1fZXZlbnRfYXRvbWljIHsKKwlzdHJ1Y3QgZHJtX2V2ZW50 IGJhc2U7CisJX191NjQgdXNlcl9kYXRhOworCV9fdTMyIHR2X3NlYzsKKwlfX3UzMiB0dl91c2Vj OworCV9fdTMyIHNlcXVlbmNlOworCV9fdTMyIG9ial9pZDsKKwlfX3UzMiBvbGRfZmJfaWQ7CisJ X191MzIgcmVzZXJ2ZWQ7Cit9OworCiAvKiB0eXBlZGVmIGFyZWEgKi8KICNpZm5kZWYgX19LRVJO RUxfXwogdHlwZWRlZiBzdHJ1Y3QgZHJtX2NsaXBfcmVjdCBkcm1fY2xpcF9yZWN0X3Q7CmRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2Ry bV9tb2RlLmgKaW5kZXggNjQyMWVkYy4uYTRiMmU1OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBp L2RybS9kcm1fbW9kZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaApAQCAtNTEx LDcgKzUxMSwyNyBAQCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9kdW1iIHsKIAl1aW50MzJfdCBo YW5kbGU7CiB9OwogCisvKiBwYWdlLWZsaXAgZmxhZ3MgYXJlIHZhbGlkLCBwbHVzOiAqLworI2Rl ZmluZSBEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZIDB4MDEwMAogI2RlZmluZSBEUk1fTU9ERV9B VE9NSUNfTk9OQkxPQ0sgIDB4MDIwMAogI2RlZmluZSBEUk1fTU9ERV9BVE9NSUNfTk9MT0NLICAg IDB4ODAwMCAgLyogb25seSB1c2VkIGludGVybmFsbHkgKi8KIAorI2RlZmluZSBEUk1fTU9ERV9B VE9NSUNfRkxBR1MgKFwKKwkJRFJNX01PREVfUEFHRV9GTElQX0VWRU5UIHxcCisJCURSTV9NT0RF X1BBR0VfRkxJUF9BU1lOQyB8XAorCQlEUk1fTU9ERV9BVE9NSUNfVEVTVF9PTkxZIHxcCisJCURS TV9NT0RFX0FUT01JQ19OT05CTE9DSykKKworLyogRklYTUUgY29tZSB1cCB3aXRoIHNvbWUgc2Fu ZSBlcnJvciByZXBvcnRpbmcgbWVjaGFuaXNtPyAqLworc3RydWN0IGRybV9tb2RlX2F0b21pYyB7 CisJX191MzIgZmxhZ3M7CisJX191MzIgY291bnRfb2JqczsKKwlfX3U2NCBvYmpzX3B0cjsKKwlf X3U2NCBjb3VudF9wcm9wc19wdHI7CisJX191NjQgcHJvcHNfcHRyOworCV9fdTY0IHByb3BfdmFs dWVzX3B0cjsKKwlfX3U2NCBibG9iX3ZhbHVlc19wdHI7CisJX191NjQgdXNlcl9kYXRhOworfTsK KwogI2VuZGlmCi0tIAoxLjguNC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=