From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 32/36] drm/tegra: Atomic conversion, phase 3, step 3 Date: Tue, 20 Jan 2015 11:48:51 +0100 Message-ID: <1421750935-4023-33-git-send-email-thierry.reding@gmail.com> References: <1421750935-4023-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1421750935-4023-1-git-send-email-thierry.reding@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 Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClByb3ZpZGUgYSBjdXN0 b20gLT5hdG9taWNfY29tbWl0KCkgaW1wbGVtZW50YXRpb24gd2hpY2ggc3VwcG9ydHMgYXN5bmMK Y29tbWl0cy4gVGhlIGdlbmVyaWMgYXRvbWljIHBhZ2UtZmxpcCBoZWxwZXIgY2FuIHVzZSB0aGlz IHRvIGltcGxlbWVudApwYWdlLWZsaXBwaW5nLgoKU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRp bmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyAg fCAxMjkgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS90ZWdyYS9kcm0uYyB8ICA4NCArKysrKysrKysrKysrKysrKysrKysrKysrKysr LQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5oIHwgICA2ICsrKwogMyBmaWxlcyBjaGFuZ2Vk LCAxMDAgaW5zZXJ0aW9ucygrKSwgMTE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9kYy5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKaW5kZXgg OWE5MzRhNjA3N2E2Li41MmFlNTYzY2I1MzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCkBAIC04MjcsOTkgKzgy Nyw2IEBAIHN0YXRpYyBpbnQgdGVncmFfZGNfYWRkX3BsYW5lcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLCBzdHJ1Y3QgdGVncmFfZGMgKmRjKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHRl Z3JhX2RjX3NldF9iYXNlKHN0cnVjdCB0ZWdyYV9kYyAqZGMsIGludCB4LCBpbnQgeSwKLQkJCSAg ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpCi17Ci0Jc3RydWN0IHRlZ3JhX2JvICpibyA9 IHRlZ3JhX2ZiX2dldF9wbGFuZShmYiwgMCk7Ci0JdW5zaWduZWQgaW50IGhfb2Zmc2V0ID0gMCwg dl9vZmZzZXQgPSAwOwotCXN0cnVjdCB0ZWdyYV9ib190aWxpbmcgdGlsaW5nOwotCXVuc2lnbmVk IGxvbmcgdmFsdWUsIGZsYWdzOwotCXVuc2lnbmVkIGludCBmb3JtYXQsIHN3YXA7Ci0JaW50IGVy cjsKLQotCWVyciA9IHRlZ3JhX2ZiX2dldF90aWxpbmcoZmIsICZ0aWxpbmcpOwotCWlmIChlcnIg PCAwKQotCQlyZXR1cm4gZXJyOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmRjLT5sb2NrLCBmbGFn cyk7Ci0KLQl0ZWdyYV9kY193cml0ZWwoZGMsIFdJTkRPV19BX1NFTEVDVCwgRENfQ01EX0RJU1BM QVlfV0lORE9XX0hFQURFUik7Ci0KLQl2YWx1ZSA9IGZiLT5vZmZzZXRzWzBdICsgeSAqIGZiLT5w aXRjaGVzWzBdICsKLQkJeCAqIGZiLT5iaXRzX3Blcl9waXhlbCAvIDg7Ci0KLQl0ZWdyYV9kY193 cml0ZWwoZGMsIGJvLT5wYWRkciArIHZhbHVlLCBEQ19XSU5CVUZfU1RBUlRfQUREUik7Ci0JdGVn cmFfZGNfd3JpdGVsKGRjLCBmYi0+cGl0Y2hlc1swXSwgRENfV0lOX0xJTkVfU1RSSURFKTsKLQot CWZvcm1hdCA9IHRlZ3JhX2RjX2Zvcm1hdChmYi0+cGl4ZWxfZm9ybWF0LCAmc3dhcCk7Ci0JdGVn cmFfZGNfd3JpdGVsKGRjLCBmb3JtYXQsIERDX1dJTl9DT0xPUl9ERVBUSCk7Ci0JdGVncmFfZGNf d3JpdGVsKGRjLCBzd2FwLCBEQ19XSU5fQllURV9TV0FQKTsKLQotCWlmIChkYy0+c29jLT5zdXBw b3J0c19ibG9ja19saW5lYXIpIHsKLQkJdW5zaWduZWQgbG9uZyBoZWlnaHQgPSB0aWxpbmcudmFs dWU7Ci0KLQkJc3dpdGNoICh0aWxpbmcubW9kZSkgewotCQljYXNlIFRFR1JBX0JPX1RJTElOR19N T0RFX1BJVENIOgotCQkJdmFsdWUgPSBEQ19XSU5CVUZfU1VSRkFDRV9LSU5EX1BJVENIOwotCQkJ YnJlYWs7Ci0KLQkJY2FzZSBURUdSQV9CT19USUxJTkdfTU9ERV9USUxFRDoKLQkJCXZhbHVlID0g RENfV0lOQlVGX1NVUkZBQ0VfS0lORF9USUxFRDsKLQkJCWJyZWFrOwotCi0JCWNhc2UgVEVHUkFf Qk9fVElMSU5HX01PREVfQkxPQ0s6Ci0JCQl2YWx1ZSA9IERDX1dJTkJVRl9TVVJGQUNFX0tJTkRf QkxPQ0tfSEVJR0hUKGhlaWdodCkgfAotCQkJCURDX1dJTkJVRl9TVVJGQUNFX0tJTkRfQkxPQ0s7 Ci0JCQlicmVhazsKLQkJfQotCi0JCXRlZ3JhX2RjX3dyaXRlbChkYywgdmFsdWUsIERDX1dJTkJV Rl9TVVJGQUNFX0tJTkQpOwotCX0gZWxzZSB7Ci0JCXN3aXRjaCAodGlsaW5nLm1vZGUpIHsKLQkJ Y2FzZSBURUdSQV9CT19USUxJTkdfTU9ERV9QSVRDSDoKLQkJCXZhbHVlID0gRENfV0lOX0JVRkZF Ul9BRERSX01PREVfTElORUFSX1VWIHwKLQkJCQlEQ19XSU5fQlVGRkVSX0FERFJfTU9ERV9MSU5F QVI7Ci0JCQlicmVhazsKLQotCQljYXNlIFRFR1JBX0JPX1RJTElOR19NT0RFX1RJTEVEOgotCQkJ dmFsdWUgPSBEQ19XSU5fQlVGRkVSX0FERFJfTU9ERV9USUxFX1VWIHwKLQkJCQlEQ19XSU5fQlVG RkVSX0FERFJfTU9ERV9USUxFOwotCQkJYnJlYWs7Ci0KLQkJY2FzZSBURUdSQV9CT19USUxJTkdf TU9ERV9CTE9DSzoKLQkJCURSTV9FUlJPUigiaGFyZHdhcmUgZG9lc24ndCBzdXBwb3J0IGJsb2Nr IGxpbmVhciBtb2RlXG4iKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRjLT5sb2NrLCBm bGFncyk7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCi0JCXRlZ3JhX2RjX3dyaXRlbChkYywg dmFsdWUsIERDX1dJTl9CVUZGRVJfQUREUl9NT0RFKTsKLQl9Ci0KLQkvKiBtYWtlIHN1cmUgYm90 dG9tLXVwIGJ1ZmZlcnMgYXJlIHByb3Blcmx5IGRpc3BsYXllZCAqLwotCWlmICh0ZWdyYV9mYl9p c19ib3R0b21fdXAoZmIpKSB7Ci0JCXZhbHVlID0gdGVncmFfZGNfcmVhZGwoZGMsIERDX1dJTl9X SU5fT1BUSU9OUyk7Ci0JCXZhbHVlIHw9IFZfRElSRUNUSU9OOwotCQl0ZWdyYV9kY193cml0ZWwo ZGMsIHZhbHVlLCBEQ19XSU5fV0lOX09QVElPTlMpOwotCi0JCXZfb2Zmc2V0ICs9IGZiLT5oZWln aHQgLSAxOwotCX0gZWxzZSB7Ci0JCXZhbHVlID0gdGVncmFfZGNfcmVhZGwoZGMsIERDX1dJTl9X SU5fT1BUSU9OUyk7Ci0JCXZhbHVlICY9IH5WX0RJUkVDVElPTjsKLQkJdGVncmFfZGNfd3JpdGVs KGRjLCB2YWx1ZSwgRENfV0lOX1dJTl9PUFRJT05TKTsKLQl9Ci0KLQl0ZWdyYV9kY193cml0ZWwo ZGMsIGhfb2Zmc2V0LCBEQ19XSU5CVUZfQUREUl9IX09GRlNFVCk7Ci0JdGVncmFfZGNfd3JpdGVs KGRjLCB2X29mZnNldCwgRENfV0lOQlVGX0FERFJfVl9PRkZTRVQpOwotCi0JdmFsdWUgPSBHRU5F UkFMX0FDVF9SRVEgfCBXSU5fQV9BQ1RfUkVROwotCXRlZ3JhX2RjX3dyaXRlbChkYywgdmFsdWUg PDwgOCwgRENfQ01EX1NUQVRFX0NPTlRST0wpOwotCXRlZ3JhX2RjX3dyaXRlbChkYywgdmFsdWUs IERDX0NNRF9TVEFURV9DT05UUk9MKTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRjLT5s b2NrLCBmbGFncyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQogdm9pZCB0ZWdyYV9kY19lbmFibGVfdmJs YW5rKHN0cnVjdCB0ZWdyYV9kYyAqZGMpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWx1ZSwgZmxhZ3M7 CkBAIC05OTgsMzAgKzkwNSw2IEBAIHZvaWQgdGVncmFfZGNfY2FuY2VsX3BhZ2VfZmxpcChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkcm0tPmV2ZW50X2xvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGljIGludCB0ZWdy YV9kY19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwKLQkJCSAgICAgIHN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50 LCB1aW50MzJfdCBwYWdlX2ZsaXBfZmxhZ3MpCi17Ci0JdW5zaWduZWQgaW50IHBpcGUgPSBkcm1f Y3J0Y19pbmRleChjcnRjKTsKLQlzdHJ1Y3QgdGVncmFfZGMgKmRjID0gdG9fdGVncmFfZGMoY3J0 Yyk7Ci0KLQlpZiAoZGMtPmV2ZW50KQotCQlyZXR1cm4gLUVCVVNZOwotCi0JaWYgKGV2ZW50KSB7 Ci0JCWV2ZW50LT5waXBlID0gcGlwZTsKLQkJZGMtPmV2ZW50ID0gZXZlbnQ7Ci0JCWRybV9jcnRj X3ZibGFua19nZXQoY3J0Yyk7Ci0JfQotCi0JaWYgKGNydGMtPnByaW1hcnktPnN0YXRlKQotCQlk cm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUoY3J0Yy0+cHJpbWFyeS0+c3RhdGUsIGZiKTsKLQot CXRlZ3JhX2RjX3NldF9iYXNlKGRjLCAwLCAwLCBmYik7Ci0JY3J0Yy0+cHJpbWFyeS0+ZmIgPSBm YjsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgdm9pZCB0ZWdyYV9kY19kZXN0cm95KHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKIHsKIAlkcm1fY3J0Y19jbGVhbnVwKGNydGMpOwpAQCAtMTA2Myw3 ICs5NDYsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9jcnRjX2F0b21pY19kZXN0cm95X3N0YXRlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19m dW5jcyB0ZWdyYV9jcnRjX2Z1bmNzID0gewotCS5wYWdlX2ZsaXAgPSB0ZWdyYV9kY19wYWdlX2Zs aXAsCisJLnBhZ2VfZmxpcCA9IGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwKIAkuc2V0X2Nv bmZpZyA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCiAJLmRlc3Ryb3kgPSB0ZWdyYV9k Y19kZXN0cm95LAogCS5yZXNldCA9IHRlZ3JhX2NydGNfcmVzZXQsCkBAIC0xMzM4LDYgKzEyMjEs MTYgQEAgc3RhdGljIGludCB0ZWdyYV9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAKIHN0YXRpYyB2b2lkIHRlZ3JhX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKIHsKKwlzdHJ1Y3QgdGVncmFfZGMgKmRjID0gdG9fdGVncmFfZGMoY3J0Yyk7 CisKKwlpZiAoY3J0Yy0+c3RhdGUtPmV2ZW50KSB7CisJCWNydGMtPnN0YXRlLT5ldmVudC0+cGlw ZSA9IGRybV9jcnRjX2luZGV4KGNydGMpOworCisJCVdBUk5fT04oZHJtX2NydGNfdmJsYW5rX2dl dChjcnRjKSAhPSAwKTsKKworCQlkYy0+ZXZlbnQgPSBjcnRjLT5zdGF0ZS0+ZXZlbnQ7CisJCWNy dGMtPnN0YXRlLT5ldmVudCA9IE5VTEw7CisJfQogfQogCiBzdGF0aWMgdm9pZCB0ZWdyYV9jcnRj X2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdGVncmEvZHJtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKaW5kZXgg MGRkODFkMDUwY2NiLi41YjgxYjQ0YWY5ZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kcm0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKQEAgLTEwLDYgKzEw LDcgQEAKICNpbmNsdWRlIDxsaW51eC9ob3N0MXguaD4KICNpbmNsdWRlIDxsaW51eC9pb21tdS5o PgogCisjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21p Y19oZWxwZXIuaD4KIAogI2luY2x1ZGUgImRybS5oIgpAQCAtMjYsMTMgKzI3LDkwIEBAIHN0cnVj dCB0ZWdyYV9kcm1fZmlsZSB7CiAJc3RydWN0IGxpc3RfaGVhZCBjb250ZXh0czsKIH07CiAKK3N0 YXRpYyB2b2lkIHRlZ3JhX2F0b21pY19zY2hlZHVsZShzdHJ1Y3QgdGVncmFfZHJtICp0ZWdyYSwK KwkJCQkgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKK3sKKwl0ZWdyYS0+Y29tbWl0 LnN0YXRlID0gc3RhdGU7CisJc2NoZWR1bGVfd29yaygmdGVncmEtPmNvbW1pdC53b3JrKTsKK30K Kworc3RhdGljIHZvaWQgdGVncmFfYXRvbWljX2NvbXBsZXRlKHN0cnVjdCB0ZWdyYV9kcm0gKnRl Z3JhLAorCQkJCSAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBk cm1fZGV2aWNlICpkcm0gPSB0ZWdyYS0+ZHJtOworCisJLyoKKwkgKiBFdmVyeXRoaW5nIGJlbG93 IGNhbiBiZSBydW4gYXN5bmNocm9ub3VzbHkgd2l0aG91dCB0aGUgbmVlZCB0byBncmFiCisJICog YW55IG1vZGVzZXQgbG9ja3MgYXQgYWxsIHVuZGVyIG9uZSBjb25kaXRpb246IEl0IG11c3QgYmUg Z3VhcmFudGVlZAorCSAqIHRoYXQgdGhlIGFzeW5jaHJvbm91cyB3b3JrIGhhcyBlaXRoZXIgYmVl biBjYW5jZWxsZWQgKGlmIHRoZSBkcml2ZXIKKwkgKiBzdXBwb3J0cyBpdCwgd2hpY2ggYXQgbGVh c3QgcmVxdWlyZXMgdGhhdCB0aGUgZnJhbWVidWZmZXJzIGdldAorCSAqIGNsZWFuZWQgdXAgd2l0 aCBkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcygpKSBvciBjb21wbGV0ZWQKKwkgKiBi ZWZvcmUgdGhlIG5ldyBzdGF0ZSBnZXRzIGNvbW1pdHRlZCBvbiB0aGUgc29mdHdhcmUgc2lkZSB3 aXRoCisJICogZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZSgpLgorCSAqCisJICogVGhpcyBz Y2hlbWUgYWxsb3dzIG5ldyBhdG9taWMgc3RhdGUgdXBkYXRlcyB0byBiZSBwcmVwYXJlZCBhbmQK KwkgKiBjaGVja2VkIGluIHBhcmFsbGVsIHRvIHRoZSBhc3luY2hyb25vdXMgY29tcGxldGlvbiBv ZiB0aGUgcHJldmlvdXMKKwkgKiB1cGRhdGUuIFdoaWNoIGlzIGltcG9ydGFudCBzaW5jZSBjb21w b3NpdG9ycyBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlCisJICogY29tcG9zaXRpb24gb2YgdGhlIG5l eHQgZnJhbWUgcmlnaHQgYWZ0ZXIgaGF2aW5nIHN1Ym1pdHRlZCB0aGUKKwkgKiBjdXJyZW50IGxh eW91dC4KKwkgKi8KKworCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wcmVfcGxhbmVzKGRybSwg c3RhdGUpOworCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXMoZHJtLCBzdGF0ZSk7CisJ ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3Bvc3RfcGxhbmVzKGRybSwgc3RhdGUpOworCisJZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyhkcm0sIHN0YXRlKTsKKworCWRybV9hdG9t aWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRybSwgc3RhdGUpOworCWRybV9hdG9taWNfc3RhdGVf ZnJlZShzdGF0ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHRlZ3JhX2F0b21pY193b3JrKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgdGVncmFfZHJtICp0ZWdyYSA9IGNvbnRhaW5l cl9vZih3b3JrLCBzdHJ1Y3QgdGVncmFfZHJtLAorCQkJCQkgICAgICAgY29tbWl0LndvcmspOwor CisJdGVncmFfYXRvbWljX2NvbXBsZXRlKHRlZ3JhLCB0ZWdyYS0+Y29tbWl0LnN0YXRlKTsKK30K Kworc3RhdGljIGludCB0ZWdyYV9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0s CisJCQkgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLCBib29sIGFzeW5jKQor eworCXN0cnVjdCB0ZWdyYV9kcm0gKnRlZ3JhID0gZHJtLT5kZXZfcHJpdmF0ZTsKKwlpbnQgZXJy OworCisJZXJyID0gZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMoZHJtLCBzdGF0ZSk7 CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCS8qIHNlcmlhbGl6ZSBvdXRzdGFuZGluZyBh c3luY2hyb25vdXMgY29tbWl0cyAqLworCW11dGV4X2xvY2soJnRlZ3JhLT5jb21taXQubG9jayk7 CisJZmx1c2hfd29yaygmdGVncmEtPmNvbW1pdC53b3JrKTsKKworCS8qCisJICogVGhpcyBpcyB0 aGUgcG9pbnQgb2Ygbm8gcmV0dXJuIC0gZXZlcnl0aGluZyBiZWxvdyBuZXZlciBmYWlscyBleGNl cHQKKwkgKiB3aGVuIHRoZSBodyBnb2VzIGJvbmdoaXRzLiBXaGljaCBtZWFucyB3ZSBjYW4gY29t bWl0IHRoZSBuZXcgc3RhdGUgb24KKwkgKiB0aGUgc29mdHdhcmUgc2lkZSBub3cuCisJICovCisK Kwlkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKGRybSwgc3RhdGUpOworCisJaWYgKGFzeW5j KQorCQl0ZWdyYV9hdG9taWNfc2NoZWR1bGUodGVncmEsIHN0YXRlKTsKKwllbHNlCisJCXRlZ3Jh X2F0b21pY19jb21wbGV0ZSh0ZWdyYSwgc3RhdGUpOworCisJbXV0ZXhfdW5sb2NrKCZ0ZWdyYS0+ Y29tbWl0LmxvY2spOworCXJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9t b2RlX2NvbmZpZ19mdW5jcyB0ZWdyYV9kcm1fbW9kZV9mdW5jcyA9IHsKIAkuZmJfY3JlYXRlID0g dGVncmFfZmJfY3JlYXRlLAogI2lmZGVmIENPTkZJR19EUk1fVEVHUkFfRkJERVYKIAkub3V0cHV0 X3BvbGxfY2hhbmdlZCA9IHRlZ3JhX2ZiX291dHB1dF9wb2xsX2NoYW5nZWQsCiAjZW5kaWYKIAku YXRvbWljX2NoZWNrID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2ssCi0JLmF0b21pY19jb21taXQg PSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQsCisJLmF0b21pY19jb21taXQgPSB0ZWdyYV9hdG9t aWNfY29tbWl0LAogfTsKIAogc3RhdGljIGludCB0ZWdyYV9kcm1fbG9hZChzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtLCB1bnNpZ25lZCBsb25nIGZsYWdzKQpAQCAtNTgsNiArMTM2LDEwIEBAIHN0YXRp YyBpbnQgdGVncmFfZHJtX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgbG9u ZyBmbGFncykKIAogCW11dGV4X2luaXQoJnRlZ3JhLT5jbGllbnRzX2xvY2spOwogCUlOSVRfTElT VF9IRUFEKCZ0ZWdyYS0+Y2xpZW50cyk7CisKKwltdXRleF9pbml0KCZ0ZWdyYS0+Y29tbWl0Lmxv Y2spOworCUlOSVRfV09SSygmdGVncmEtPmNvbW1pdC53b3JrLCB0ZWdyYV9hdG9taWNfd29yayk7 CisKIAlkcm0tPmRldl9wcml2YXRlID0gdGVncmE7CiAJdGVncmEtPmRybSA9IGRybTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5oIGIvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL2RybS5oCmluZGV4IDNkYjcxOWRlMzEyZi4uYjFjNzAyN2IyNmU3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Ry bS5oCkBAIC01MCw2ICs1MCwxMiBAQCBzdHJ1Y3QgdGVncmFfZHJtIHsKICNlbmRpZgogCiAJdW5z aWduZWQgaW50IHBpdGNoX2FsaWduOworCisJc3RydWN0IHsKKwkJc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlOworCQlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsKKwkJc3RydWN0IG11dGV4 IGxvY2s7CisJfSBjb21taXQ7CiB9OwogCiBzdHJ1Y3QgdGVncmFfZHJtX2NsaWVudDsKLS0gCjIu MS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=