From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 05/11] drm: add atomic properties Date: Thu, 18 Dec 2014 16:01:50 -0500 Message-ID: <1418936516-10754-6-git-send-email-robdclark@gmail.com> References: <1418936516-10754-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-qg0-f43.google.com (mail-qg0-f43.google.com [209.85.192.43]) by gabe.freedesktop.org (Postfix) with ESMTP id 0B19B6EA7C for ; Thu, 18 Dec 2014 13:02:15 -0800 (PST) Received: by mail-qg0-f43.google.com with SMTP id z107so1506645qgd.30 for ; Thu, 18 Dec 2014 13:02:14 -0800 (PST) In-Reply-To: <1418936516-10754-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T25jZSBhIGRyaXZlciBpcyB1c2luZyBhdG9taWMgaGVscGVycyBmb3IgbW9kZXNldCwgdGhlIG5l eHQgc3RlcCBpcyB0bwpzd2l0Y2ggb3ZlciB0byBhdG9taWMgcHJvcGVydGllcy4gIFRvIGRvIHRo aXMsIG1ha2Ugc3VyZSB0aGF0IGFueQptb2Rlc2V0IG9iamVjdHMgaGF2ZSB0aGVpciAtPmF0b21p Y197Z2V0LHNldH1fcHJvcGVydHkoKSB2ZnVuY3Mgc3VpdGFibHkKcG9wdWxhdGVkIGlmIHRoZXkg aGF2ZSBjdXN0b20gcHJvcGVydGllcyAoeW91IGRpZCBhbHJlYWR5IHJlbWVtYmVyIHRvCnBsdWcg aW4gYXRvbWljLWhlbHBlciBmdW5jIGZvciB0aGUgbGVnYWN5IC0+c2V0X3Byb3BlcnR5KCkgdmZ1 bmNzLApyaWdodD8pLCBhbmQgdGhlbiBzZXQgRFJJVkVSX0FUT01JQyBiaXQgaW4gZHJpdmVyX2Zl YXR1cmVzIGZsYWcuCgpBIG5ldyBjYXAgaXMgaW50cm9kdWNlZCwgRFJNX0NMSUVOVF9DQVBfQVRP TUlDLCBmb3IgdGhlIHB1cnBvc2VzIG9mCnNoaWVsZGluZyBsZWdhY3kgdXNlcnNwYWNlIGZyb20g YXRvbWljIHByb3BlcnRpZXMuICBNb3N0bHkgZm9yIHRoZQpiZW5lZml0IG9mIGxlZ2FjeSBERFgg ZHJpdmVycyB0aGF0IGRvIHNpbGx5IHRoaW5ncyBsaWtlIGdldHRpbmcvc2V0dGluZwplYWNoIHBy b3BlcnR5IGF0IHN0YXJ0dXAgKHNpbmNlIHNvbWUgb2YgdGhlIG5ldyBhdG9taWMgcHJvcGVydGll cyB3aWxsCmJlIGFibGUgdG8gdHJpZ2dlciBtb2Rlc2V0KS4KClNpZ25lZC1vZmYtYnk6IFJvYiBD bGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBh dWxAY2hyb21pdW0ub3JnPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBmZndsbC5jaD4KLS0tCiBEb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwgfCAgOCArKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgIHwgNDUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAg ICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2Ry bV9kcnYuYyAgICAgIHwgIDQgKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgIHwg MTAgKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtUC5oICAgICAgICAgICAgIHwgIDQgKysrKwog aW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAgICAgIHwgIDMgKysrCiBpbmNsdWRlL2RybS9kcm1f Y3J0Yy5oICAgICAgICAgfCAgMiArLQogaW5jbHVkZS91YXBpL2RybS9kcm0uaCAgICAgICAgIHwg IDcgKysrKysrKwogaW5jbHVkZS91YXBpL2RybS9kcm1fbW9kZS5oICAgIHwgIDcgKysrKysrKwog MTAgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50bXBsIGIvRG9jdW1lbnRhdGlvbi9E b2NCb29rL2RybS50bXBsCmluZGV4IDRiNTkyZmYuLjdmYTRmOTggMTAwNjQ0Ci0tLSBhL0RvY3Vt ZW50YXRpb24vRG9jQm9vay9kcm0udG1wbAorKysgYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJt LnRtcGwKQEAgLTIzOSw2ICsyMzksMTQgQEAKICAgICAgICAgICAgICAgRHJpdmVyIHN1cHBvcnRz IGRlZGljYXRlZCByZW5kZXIgbm9kZXMuCiAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4K ICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgICAgICA8dmFybGlzdGVudHJ5PgorICAg ICAgICAgICAgPHRlcm0+RFJJVkVSX0FUT01JQzwvdGVybT4KKyAgICAgICAgICAgIDxsaXN0aXRl bT48cGFyYT4KKyAgICAgICAgICAgICAgRHJpdmVyIHN1cHBvcnRzIGF0b21pYyBwcm9wZXJ0aWVz LiAgSW4gdGhpcyBjYXNlIHRoZSBkcml2ZXIKKyAgICAgICAgICAgICAgbXVzdCBpbXBsZW1lbnQg YXBwcm9wcmlhdGUgb2JqLT5hdG9taWNfZ2V0X3Byb3BlcnR5KCkgdmZ1bmNzCisgICAgICAgICAg ICAgIGZvciBhbnkgbW9kZXNldCBvYmplY3RzIHdpdGggZHJpdmVyIHNwZWNpZmljIHByb3BlcnRp ZXMuCisgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICA8L3Zhcmxpc3Rl bnRyeT4KICAgICAgICAgPC92YXJpYWJsZWxpc3Q+CiAgICAgICA8L3NlY3QzPgogICAgICAgPHNl Y3QzPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggOWM0ZTE0OS4uY2UzYzY4MSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jCkBAIC01MjEsNiArNTIxLDUxIEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIEVYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KTsKIAogLyoqCisgKiBkcm1fYXRvbWlj X2dldF9wcm9wZXJ0eSAtIGhlbHBlciB0byByZWFkIGF0b21pYyBwcm9wZXJ0eQorICogQG9iajog ZHJtIG1vZGUgb2JqZWN0IHdob3NlIHByb3BlcnR5IHRvIHJlYWQKKyAqIEBwcm9wZXJ0eTogdGhl IHByb3BlcnR5IHRvIHJlYWQKKyAqIEB2YWw6IHRoZSByZWFkIHZhbHVlLCByZXR1cm5lZCBieSBy ZWZlcmVuY2UKKyAqCisgKiBSRVRVUk5TOgorICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2Rl IG9uIGZhaWx1cmUKKyAqLworaW50IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f bW9kZV9vYmplY3QgKm9iaiwKKwkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2 NF90ICp2YWwpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHByb3BlcnR5LT5kZXY7CisJ aW50IHJldDsKKworCXN3aXRjaCAob2JqLT50eXBlKSB7CisJY2FzZSBEUk1fTU9ERV9PQkpFQ1Rf Q09OTkVDVE9SOiB7CisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBvYmpfdG9f Y29ubmVjdG9yKG9iaik7CisJCVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2LT5t b2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7CisJCXJldCA9IGRybV9hdG9taWNfY29ubmVj dG9yX2dldF9wcm9wZXJ0eShjb25uZWN0b3IsCisJCQkJY29ubmVjdG9yLT5zdGF0ZSwgcHJvcGVy dHksIHZhbCk7CisJCWJyZWFrOworCX0KKwljYXNlIERSTV9NT0RFX09CSkVDVF9DUlRDOiB7CisJ CXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IG9ial90b19jcnRjKG9iaik7CisJCVdBUk5fT04oIWRy bV9tb2Rlc2V0X2lzX2xvY2tlZCgmY3J0Yy0+bXV0ZXgpKTsKKwkJcmV0ID0gZHJtX2F0b21pY19j cnRjX2dldF9wcm9wZXJ0eShjcnRjLAorCQkJCWNydGMtPnN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsK KwkJYnJlYWs7CisJfQorCWNhc2UgRFJNX01PREVfT0JKRUNUX1BMQU5FOiB7CisJCXN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lID0gb2JqX3RvX3BsYW5lKG9iaik7CisJCVdBUk5fT04oIWRybV9tb2Rl c2V0X2lzX2xvY2tlZCgmcGxhbmUtPm11dGV4KSk7CisJCXJldCA9IGRybV9hdG9taWNfcGxhbmVf Z2V0X3Byb3BlcnR5KHBsYW5lLAorCQkJCXBsYW5lLT5zdGF0ZSwgcHJvcGVydHksIHZhbCk7CisJ CWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlyZXQgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CisK KwlyZXR1cm4gcmV0OworfQorCisvKioKICAqIGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5l IC0gc2V0IGNydGMgZm9yIHBsYW5lCiAgKiBAcGxhbmVfc3RhdGU6IHRoZSBwbGFuZSB3aG9zZSBp bmNvbWluZyBzdGF0ZSB0byB1cGRhdGUKICAqIEBjcnRjOiBjcnRjIHRvIHVzZSBmb3IgdGhlIHBs YW5lCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fY3J0Yy5jCmluZGV4IGY1ZjM0ZDAuLjg1OWRkZGYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCkBA IC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9mb3VyY2MuaD4KICNpbmNsdWRlIDxkcm0vZHJtX21vZGVzZXRfbG9jay5oPgorI2luY2x1 ZGUgPGRybS9kcm1fYXRvbWljLmg+CiAKICNpbmNsdWRlICJkcm1fY3J0Y19pbnRlcm5hbC5oIgog I2luY2x1ZGUgImRybV9pbnRlcm5hbC5oIgpAQCAtMTk5MiwxOSArMTk5MywyNSBAQCBzdGF0aWMg c3RydWN0IGRybV9lbmNvZGVyICpkcm1fY29ubmVjdG9yX2dldF9lbmNvZGVyKHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZQogfQogCiAvKiBoZWxwZXIgZm9yIGdldGNvbm5lY3RvciBhbmQgZ2V0 cHJvcGVydGllcyBpb2N0bHMgKi8KLXN0YXRpYyBpbnQgZ2V0X3Byb3BlcnRpZXMoc3RydWN0IGRy bV9tb2RlX29iamVjdCAqb2JqLAorc3RhdGljIGludCBnZXRfcHJvcGVydGllcyhzdHJ1Y3QgZHJt X21vZGVfb2JqZWN0ICpvYmosIGJvb2wgYXRvbWljLAogCQl1aW50MzJfdCBfX3VzZXIgKnByb3Bf cHRyLCB1aW50NjRfdCBfX3VzZXIgKnByb3BfdmFsdWVzLAogCQl1aW50MzJfdCAqYXJnX2NvdW50 X3Byb3BzKQogewotCWludCBwcm9wc19jb3VudCA9IG9iai0+cHJvcGVydGllcy0+Y291bnQ7Ci0J aW50IGksIHJldCwgY29waWVkID0gMDsKKwlpbnQgcHJvcHNfY291bnQ7CisJaW50IGksIHJldCwg Y29waWVkOworCisJcHJvcHNfY291bnQgPSBvYmotPnByb3BlcnRpZXMtPmNvdW50OworCWlmICgh YXRvbWljKQorCQlwcm9wc19jb3VudCAtPSBvYmotPnByb3BlcnRpZXMtPmF0b21pY19jb3VudDsK IAogCWlmICgoKmFyZ19jb3VudF9wcm9wcyA+PSBwcm9wc19jb3VudCkgJiYgcHJvcHNfY291bnQp IHsKLQkJY29waWVkID0gMDsKLQkJZm9yIChpID0gMDsgaSA8IHByb3BzX2NvdW50OyBpKyspIHsK KwkJZm9yIChpID0gMCwgY29waWVkID0gMDsgY29waWVkIDwgcHJvcHNfY291bnQ7IGkrKykgewog CQkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcCA9IG9iai0+cHJvcGVydGllcy0+cHJvcGVydGll c1tpXTsKIAkJCXVpbnQ2NF90IHZhbDsKIAorCQkJaWYgKChwcm9wLT5mbGFncyAmIERSTV9DTElF TlRfQ0FQX0FUT01JQykgJiYgIWF0b21pYykKKwkJCQljb250aW51ZTsKKwogCQkJcmV0ID0gZHJt X29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUob2JqLCBwcm9wLCAmdmFsKTsKIAkJCWlmIChyZXQp CiAJCQkJcmV0dXJuIHJldDsKQEAgLTIxMTgsNyArMjEyNSw3IEBAIGludCBkcm1fbW9kZV9nZXRj b25uZWN0b3Ioc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAl9CiAJb3V0X3Jl c3AtPmNvdW50X21vZGVzID0gbW9kZV9jb3VudDsKIAotCXJldCA9IGdldF9wcm9wZXJ0aWVzKCZj b25uZWN0b3ItPmJhc2UsCisJcmV0ID0gZ2V0X3Byb3BlcnRpZXMoJmNvbm5lY3Rvci0+YmFzZSwg ZmlsZV9wcml2LT5hdG9taWMsCiAJCQkodWludDMyX3QgX191c2VyICopKHVuc2lnbmVkIGxvbmcp KG91dF9yZXNwLT5wcm9wc19wdHIpLAogCQkJKHVpbnQ2NF90IF9fdXNlciAqKSh1bnNpZ25lZCBs b25nKShvdXRfcmVzcC0+cHJvcF92YWx1ZXNfcHRyKSwKIAkJCSZvdXRfcmVzcC0+Y291bnRfcHJv cHMpOwpAQCAtMzgzMiw2ICszODM5LDggQEAgdm9pZCBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCiAJb2JqLT5wcm9wZXJ0aWVzLT5wcm9wZXJ0 aWVzW2NvdW50XSA9IHByb3BlcnR5OwogCW9iai0+cHJvcGVydGllcy0+dmFsdWVzW2NvdW50XSA9 IGluaXRfdmFsOwogCW9iai0+cHJvcGVydGllcy0+Y291bnQrKzsKKwlpZiAocHJvcGVydHktPmZs YWdzICYgRFJNX01PREVfUFJPUF9BVE9NSUMpCisJCW9iai0+cHJvcGVydGllcy0+YXRvbWljX2Nv dW50Kys7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KTsKIApA QCAtMzg4Myw2ICszODkyLDE0IEBAIGludCBkcm1fb2JqZWN0X3Byb3BlcnR5X2dldF92YWx1ZShz dHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCiB7CiAJaW50IGk7CiAKKwkvKiByZWFkLW9ubHkg cHJvcGVydGllcyBieXBhc3MgYXRvbWljIG1lY2hhbmlzbSBhbmQgc3RpbGwgc3RvcmUKKwkgKiB0 aGVpciB2YWx1ZSBpbiBvYmotPnByb3BlcnRpZXMtPnZhbHVlc1tdLi4gbW9zdGx5IHRvIGF2b2lk CisJICogaGF2aW5nIHRvIGRlYWwgdy8gRURJRCBhbmQgc2ltaWxhciBwcm9wcyBpbiBhdG9taWMg cGF0aHM6CisJICovCisJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUocHJvcGVydHktPmRldiwg RFJJVkVSX0FUT01JQykgJiYKKwkJCSEocHJvcGVydHktPmZsYWdzICYgRFJNX01PREVfUFJPUF9J TU1VVEFCTEUpKQorCQlyZXR1cm4gZHJtX2F0b21pY19nZXRfcHJvcGVydHkob2JqLCBwcm9wZXJ0 eSwgdmFsKTsKKwogCWZvciAoaSA9IDA7IGkgPCBvYmotPnByb3BlcnRpZXMtPmNvdW50OyBpKysp IHsKIAkJaWYgKG9iai0+cHJvcGVydGllcy0+cHJvcGVydGllc1tpXSA9PSBwcm9wZXJ0eSkgewog CQkJKnZhbCA9IG9iai0+cHJvcGVydGllcy0+dmFsdWVzW2ldOwpAQCAtNDQxMyw3ICs0NDMwLDcg QEAgaW50IGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllc19pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCQlnb3RvIG91dDsKIAl9CiAKLQlyZXQgPSBnZXRfcHJvcGVy dGllcyhvYmosCisJcmV0ID0gZ2V0X3Byb3BlcnRpZXMob2JqLCBmaWxlX3ByaXYtPmF0b21pYywK IAkJCSh1aW50MzJfdCBfX3VzZXIgKikodW5zaWduZWQgbG9uZykoYXJnLT5wcm9wc19wdHIpLAog CQkJKHVpbnQ2NF90IF9fdXNlciAqKSh1bnNpZ25lZCBsb25nKShhcmctPnByb3BfdmFsdWVzX3B0 ciksCiAJCQkmYXJnLT5jb3VudF9wcm9wcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwppbmRleCA0ZjQxMzc3Li5kNTEy MTM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZHJ2LmMKQEAgLTQwLDE1ICs0MCwxOSBAQAogdW5zaWduZWQgaW50IGRybV9k ZWJ1ZyA9IDA7CS8qIDEgdG8gZW5hYmxlIGRlYnVnIG91dHB1dCAqLwogRVhQT1JUX1NZTUJPTChk cm1fZGVidWcpOwogCitib29sIGRybV9hdG9taWMgPSAwOworCiBNT0RVTEVfQVVUSE9SKENPUkVf QVVUSE9SKTsKIE1PRFVMRV9ERVNDUklQVElPTihDT1JFX0RFU0MpOwogTU9EVUxFX0xJQ0VOU0Uo IkdQTCBhbmQgYWRkaXRpb25hbCByaWdodHMiKTsKIE1PRFVMRV9QQVJNX0RFU0MoZGVidWcsICJF bmFibGUgZGVidWcgb3V0cHV0Iik7CitNT0RVTEVfUEFSTV9ERVNDKGF0b21pYywgIkVuYWJsZSBl eHBlcmltZW50YWwgYXRvbWljIEtNUyBBUEkiKTsKIE1PRFVMRV9QQVJNX0RFU0ModmJsYW5rb2Zm ZGVsYXksICJEZWxheSB1bnRpbCB2YmxhbmsgaXJxIGF1dG8tZGlzYWJsZSBbbXNlY3NdICgwOiBu ZXZlciBkaXNhYmxlLCA8MDogZGlzYWJsZSBpbW1lZGlhdGVseSkiKTsKIE1PRFVMRV9QQVJNX0RF U0ModGltZXN0YW1wX3ByZWNpc2lvbl91c2VjLCAiTWF4LiBlcnJvciBvbiB0aW1lc3RhbXBzIFt1 c2Vjc10iKTsKIE1PRFVMRV9QQVJNX0RFU0ModGltZXN0YW1wX21vbm90b25pYywgIlVzZSBtb25v dG9uaWMgdGltZXN0YW1wcyIpOwogCiBtb2R1bGVfcGFyYW1fbmFtZWQoZGVidWcsIGRybV9kZWJ1 ZywgaW50LCAwNjAwKTsKK21vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUoYXRvbWljLCBkcm1fYXRv bWljLCBib29sLCAwNjAwKTsKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhkcm1fbWlub3JfbG9j ayk7CiBzdGF0aWMgc3RydWN0IGlkciBkcm1fbWlub3JzX2lkcjsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwppbmRl eCAwMDU4N2ExLi5hZGM4MjIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3Rs LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCkBAIC0zNDUsNiArMzQ1LDE2IEBA IGRybV9zZXRjbGllbnRjYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJZmlsZV9wcml2 LT51bml2ZXJzYWxfcGxhbmVzID0gcmVxLT52YWx1ZTsKIAkJYnJlYWs7CisJY2FzZSBEUk1fQ0xJ RU5UX0NBUF9BVE9NSUM6CisJCS8qIGZvciBub3csIGhpZGUgYmVoaW5kIGV4cGVyaW1lbnRhbCBk cm0uYXRvbWljIG1vZHVsZXBhcmFtICovCisJCWlmICghZHJtX2F0b21pYykKKwkJCXJldHVybiAt RUlOVkFMOworCQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlD KSkKKwkJCXJldHVybiAtRUlOVkFMOworCQlpZiAocmVxLT52YWx1ZSA+IDEpCisJCQlyZXR1cm4g LUVJTlZBTDsKKwkJZmlsZV9wcml2LT5hdG9taWMgPSByZXEtPnZhbHVlOworCQlicmVhazsKIAlk ZWZhdWx0OgogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKaW5kZXggOGJhMzVjNi4uMGY3MTE1ZSAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtUC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybVAuaApAQCAtMTQz LDYgKzE0Myw3IEBAIHZvaWQgZHJtX2Vycihjb25zdCBjaGFyICpmb3JtYXQsIC4uLik7CiAjZGVm aW5lIERSSVZFUl9NT0RFU0VUICAgICAweDIwMDAKICNkZWZpbmUgRFJJVkVSX1BSSU1FICAgICAg IDB4NDAwMAogI2RlZmluZSBEUklWRVJfUkVOREVSICAgICAgMHg4MDAwCisjZGVmaW5lIERSSVZF Ul9BVE9NSUMgICAgICAweDEwMDAwCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qKiBcbmFtZSBNYWNy b3MgdG8gbWFrZSBwcmludGsgZWFzaWVyICovCkBAIC0yODMsNiArMjg0LDggQEAgc3RydWN0IGRy bV9maWxlIHsKIAkgKiBpbiB0aGUgcGxhbmUgbGlzdAogCSAqLwogCXVuc2lnbmVkIHVuaXZlcnNh bF9wbGFuZXM6MTsKKwkvKiB0cnVlIGlmIGNsaWVudCB1bmRlcnN0YW5kcyBhdG9taWMgcHJvcGVy dGllcyAqLworCXVuc2lnbmVkIGF0b21pYzoxOwogCiAJc3RydWN0IHBpZCAqcGlkOwogCWt1aWRf dCB1aWQ7CkBAIC05NTAsNiArOTUzLDcgQEAgZXh0ZXJuIHZvaWQgZHJtX21hc3Rlcl9wdXQoc3Ry dWN0IGRybV9tYXN0ZXIgKiptYXN0ZXIpOwogZXh0ZXJuIHZvaWQgZHJtX3B1dF9kZXYoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7CiBleHRlcm4gdm9pZCBkcm1fdW5wbHVnX2RldihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKIGV4dGVybiB1bnNpZ25lZCBpbnQgZHJtX2RlYnVnOworZXh0ZXJuIGJv b2wgZHJtX2F0b21pYzsKIAogCQkJCS8qIERlYnVnZnMgc3VwcG9ydCAqLwogI2lmIGRlZmluZWQo Q09ORklHX0RFQlVHX0ZTKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIv aW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCmluZGV4IGQ0MTIzM2MuLjIzMWZiNDggMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWlj LmgKQEAgLTYzLDYgKzYzLDkgQEAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQljb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqc3RhdGUsCiAJCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1 aW50NjRfdCAqdmFsKTsKIAoraW50IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f bW9kZV9vYmplY3QgKm9iaiwKKwkJCSAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1 aW50NjRfdCAqdmFsKTsKKwogaW50IF9fbXVzdF9jaGVjawogZHJtX2F0b21pY19zZXRfY3J0Y19m b3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUsCiAJCQkgICAgICBz dHJ1Y3QgZHJtX2NydGMgKmNydGMpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMu aCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggZTFmMzQ2OS4uYjVhYjY3MyAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5o CkBAIC02Myw3ICs2Myw3IEBAIHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgewogCiAjZGVmaW5lIERS TV9PQkpFQ1RfTUFYX1BST1BFUlRZIDI0CiBzdHJ1Y3QgZHJtX29iamVjdF9wcm9wZXJ0aWVzIHsK LQlpbnQgY291bnQ7CisJaW50IGNvdW50LCBhdG9taWNfY291bnQ7CiAJLyogTk9URTogaWYgd2Ug ZXZlciBzdGFydCBkeW5hbWljYWxseSBkZXN0cm95aW5nIHByb3BlcnRpZXMgKGllLgogCSAqIG5v dCBhdCBkcm1fbW9kZV9jb25maWdfY2xlYW51cCgpIHRpbWUpLCB0aGVuIHdlJ2QgaGF2ZSB0byBk bwogCSAqIGEgYmV0dGVyIGpvYiBvZiBkZXRhY2hpbmcgcHJvcGVydHkgZnJvbSBtb2RlIG9iamVj dHMgdG8gYXZvaWQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNsdWRl L3VhcGkvZHJtL2RybS5oCmluZGV4IGIwYjg1NTYuLmY3YjJiYWY3IDEwMDY0NAotLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKQEAgLTY1NCw2 ICs2NTQsMTMgQEAgc3RydWN0IGRybV9nZXRfY2FwIHsKICAqLwogI2RlZmluZSBEUk1fQ0xJRU5U X0NBUF9VTklWRVJTQUxfUExBTkVTICAyCiAKKy8qKgorICogRFJNX0NMSUVOVF9DQVBfQVRPTUlD CisgKgorICogSWYgc2V0IHRvIDEsIHRoZSBEUk0gY29yZSB3aWxsIGV4cG9zZSBhdG9taWMgcHJv cGVydGllcyB0byB1c2Vyc3BhY2UKKyAqLworI2RlZmluZSBEUk1fQ0xJRU5UX0NBUF9BVE9NSUMJ MworCiAvKiogRFJNX0lPQ1RMX1NFVF9DTElFTlRfQ0FQIGlvY3RsIGFyZ3VtZW50IHR5cGUgKi8K IHN0cnVjdCBkcm1fc2V0X2NsaWVudF9jYXAgewogCV9fdTY0IGNhcGFiaWxpdHk7CmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9t b2RlLmgKaW5kZXggYWFlNzFjYi4uYjhmOWMwZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2Ry bS9kcm1fbW9kZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtX21vZGUuaApAQCAtMjcyLDYg KzI3MiwxMyBAQCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2Nvbm5lY3RvciB7CiAjZGVmaW5lIERSTV9N T0RFX1BST1BfT0JKRUNUCQlEUk1fTU9ERV9QUk9QX1RZUEUoMSkKICNkZWZpbmUgRFJNX01PREVf UFJPUF9TSUdORURfUkFOR0UJRFJNX01PREVfUFJPUF9UWVBFKDIpCiAKKy8qIHRoZSBQUk9QX0FU T01JQyBmbGFnIGlzIHVzZWQgdG8gaGlkZSBwcm9wZXJ0aWVzIGZyb20gdXNlcnNwYWNlIHRoYXQK KyAqIGlzIG5vdCBhd2FyZSBvZiBhdG9taWMgcHJvcGVydGllcy4gIFRoaXMgaXMgbW9zdGx5IHRv IHdvcmsgYXJvdW5kCisgKiBvbGRlciB1c2Vyc3BhY2UgKEREWCBkcml2ZXJzKSB0aGF0IHJlYWQv d3JpdGUgZWFjaCBwcm9wIHRoZXkgZmluZCwKKyAqIHdpdG91dCBiZWluZyBhd2FyZSB0aGF0IHRo aXMgY291bGQgYmUgdHJpZ2dlcmluZyBhIGxlbmd0aHkgbW9kZXNldC4KKyAqLworI2RlZmluZSBE Uk1fTU9ERV9QUk9QX0FUT01JQyAgICAgICAgMHg4MDAwMDAwMAorCiBzdHJ1Y3QgZHJtX21vZGVf cHJvcGVydHlfZW51bSB7CiAJX191NjQgdmFsdWU7CiAJY2hhciBuYW1lW0RSTV9QUk9QX05BTUVf TEVOXTsKLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=