From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98D35C2D0BF for ; Thu, 5 Dec 2019 09:28:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5C5432464F for ; Thu, 5 Dec 2019 09:28:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="OuNnV2VY" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729195AbfLEJ2P (ORCPT ); Thu, 5 Dec 2019 04:28:15 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:8511 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726384AbfLEJ17 (ORCPT ); Thu, 5 Dec 2019 04:27:59 -0500 X-UUID: 18546dd9fbfd47cba5fca0ce37b807a9-20191205 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=8vb2uw3POqjfIX/2LymDNX6pSQ8mDIra8RBJsfl2UPU=; b=OuNnV2VYS4nCReEnW1CoAZfDZM/0S1dAUGearlrBIf0qkmd8GpWdS9c8Kz1FSoALdcQ+KFnUFJHytduuPYyS4XfluWJZB1IZH/xoIBPUD3ETxl6ZU0X6675INHhbLWn+ruglJXidZDqI+lj3thgfyq49xen2Me3HQF27yMQlRpA=; X-UUID: 18546dd9fbfd47cba5fca0ce37b807a9-20191205 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 936403886; Thu, 05 Dec 2019 17:27:52 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs05n2.mediatek.inc (172.21.101.140) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 5 Dec 2019 17:27:34 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Thu, 5 Dec 2019 17:26:52 +0800 From: Bibby Hsieh To: David Airlie , Matthias Brugger , Daniel Vetter , , CC: Philipp Zabel , YT Shen , Thierry Reding , CK Hu , , , , , , Bibby Hsieh Subject: [PATCH v4 3/7] drm/mediatek: update cursors by using async atomic update Date: Thu, 5 Dec 2019 17:27:45 +0800 Message-ID: <20191205092749.4021-4-bibby.hsieh@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191205092749.4021-1-bibby.hsieh@mediatek.com> References: <20191205092749.4021-1-bibby.hsieh@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org U3VwcG9ydCB0byBhc3luYyB1cGRhdGVzIG9mIGN1cnNvcnMgYnkgdXNpbmcgdGhlIG5ldyBhdG9t aWMNCmludGVyZmFjZSBmb3IgdGhhdC4NCg0KU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJp YmJ5LmhzaWVoQG1lZGlhdGVrLmNvbT4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2NydGMuYyAgfCA5OCArKysrKysrKysrKysrKysrKysrLS0tLS0NCiBkcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmggIHwgIDIgKw0KIGRyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMgfCA0NyArKysrKysrKysrKysNCiBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5oIHwgIDIgKw0KIDQgZmlsZXMgY2hhbmdlZCwgMTI4 IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fY3J0Yy5jDQppbmRleCA0YmM1MjM0NjA5M2QuLmU4ODdhNjg3N2JjZCAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYw0KKysrIGIvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQpAQCAtNDEsMTIgKzQxLDE2IEBA IHN0cnVjdCBtdGtfZHJtX2NydGMgew0KIAlzdHJ1Y3QgZHJtX3BsYW5lCQkqcGxhbmVzOw0KIAl1 bnNpZ25lZCBpbnQJCQlsYXllcl9ucjsNCiAJYm9vbAkJCQlwZW5kaW5nX3BsYW5lczsNCisJYm9v bAkJCQlwZW5kaW5nX2FzeW5jX3BsYW5lczsNCiANCiAJdm9pZCBfX2lvbWVtCQkJKmNvbmZpZ19y ZWdzOw0KIAljb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhICptbXN5c19yZWdfZGF0YTsN CiAJc3RydWN0IG10a19kaXNwX211dGV4CQkqbXV0ZXg7DQogCXVuc2lnbmVkIGludAkJCWRkcF9j b21wX25yOw0KIAlzdHJ1Y3QgbXRrX2RkcF9jb21wCQkqKmRkcF9jb21wOw0KKw0KKwkvKiBsb2Nr IGZvciBkaXNwbGF5IGhhcmR3YXJlIGFjY2VzcyAqLw0KKwlzdHJ1Y3QgbXV0ZXgJCQlod19sb2Nr Ow0KIH07DQogDQogc3RydWN0IG10a19jcnRjX3N0YXRlIHsNCkBAIC00MTUsNiArNDE5LDYzIEBA IHN0YXRpYyB2b2lkIG10a19jcnRjX2RkcF9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjKQ0K IAkJfQ0KIAkJbXRrX2NydGMtPnBlbmRpbmdfcGxhbmVzID0gZmFsc2U7DQogCX0NCisNCisJaWYg KG10a19jcnRjLT5wZW5kaW5nX2FzeW5jX3BsYW5lcykgew0KKwkJZm9yIChpID0gMDsgaSA8IG10 a19jcnRjLT5sYXllcl9ucjsgaSsrKSB7DQorCQkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSAm bXRrX2NydGMtPnBsYW5lc1tpXTsNCisJCQlzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZTsNCisNCisJCQlwbGFuZV9zdGF0ZSA9IHRvX210a19wbGFuZV9zdGF0ZShwbGFuZS0+c3Rh dGUpOw0KKw0KKwkJCWlmICghcGxhbmVfc3RhdGUtPnBlbmRpbmcuYXN5bmNfY29uZmlnKQ0KKwkJ CQljb250aW51ZTsNCisNCisJCQljb21wID0gbXRrX2RybV9kZHBfY29tcF9mb3JfcGxhbmUoY3J0 YywgcGxhbmUsDQorCQkJCQkJCSAgJmxvY2FsX2xheWVyKTsNCisNCisJCQlpZiAoY29tcCkNCisJ CQkJbXRrX2RkcF9jb21wX2xheWVyX2NvbmZpZyhjb21wLCBsb2NhbF9sYXllciwNCisJCQkJCQkJ ICBwbGFuZV9zdGF0ZSk7DQorCQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuYXN5bmNfY29uZmlnID0g ZmFsc2U7DQorCQl9DQorCQltdGtfY3J0Yy0+cGVuZGluZ19hc3luY19wbGFuZXMgPSBmYWxzZTsN CisJfQ0KK30NCisNCitzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfaHdfY29uZmlnKHN0cnVjdCBt dGtfZHJtX2NydGMgKm10a19jcnRjKQ0KK3sNCisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJm10 a19jcnRjLT5iYXNlOw0KKwlzdHJ1Y3QgbXRrX2RybV9wcml2YXRlICpwcml2ID0gY3J0Yy0+ZGV2 LT5kZXZfcHJpdmF0ZTsNCisJdW5zaWduZWQgaW50IHBlbmRpbmdfcGxhbmVzID0gMCwgcGVuZGlu Z19hc3luY19wbGFuZXMgPSAwOw0KKwlpbnQgaTsNCisNCisJbXV0ZXhfbG9jaygmbXRrX2NydGMt Pmh3X2xvY2spOw0KKwlmb3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmxheWVyX25yOyBpKyspIHsN CisJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gJm10a19jcnRjLT5wbGFuZXNbaV07DQorCQlz dHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsNCisNCisJCXBsYW5lX3N0YXRlID0g dG9fbXRrX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSk7DQorCQlpZiAocGxhbmVfc3RhdGUtPnBl bmRpbmcuZGlydHkpIHsNCisJCQlwbGFuZV9zdGF0ZS0+cGVuZGluZy5jb25maWcgPSB0cnVlOw0K KwkJCXBsYW5lX3N0YXRlLT5wZW5kaW5nLmRpcnR5ID0gZmFsc2U7DQorCQkJcGVuZGluZ19wbGFu ZXMgfD0gQklUKGkpOw0KKwkJfSBlbHNlIGlmIChwbGFuZV9zdGF0ZS0+cGVuZGluZy5hc3luY19k aXJ0eSkgew0KKwkJCXBsYW5lX3N0YXRlLT5wZW5kaW5nLmFzeW5jX2NvbmZpZyA9IHRydWU7DQor CQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuYXN5bmNfZGlydHkgPSBmYWxzZTsNCisJCQlwZW5kaW5n X2FzeW5jX3BsYW5lcyB8PSBCSVQoaSk7DQorCQl9DQorCX0NCisJaWYgKHBlbmRpbmdfcGxhbmVz KQ0KKwkJbXRrX2NydGMtPnBlbmRpbmdfcGxhbmVzID0gdHJ1ZTsNCisJaWYgKHBlbmRpbmdfYXN5 bmNfcGxhbmVzKQ0KKwkJbXRrX2NydGMtPnBlbmRpbmdfYXN5bmNfcGxhbmVzID0gdHJ1ZTsNCisN CisJaWYgKHByaXYtPmRhdGEtPnNoYWRvd19yZWdpc3Rlcikgew0KKwkJbXRrX2Rpc3BfbXV0ZXhf YWNxdWlyZShtdGtfY3J0Yy0+bXV0ZXgpOw0KKwkJbXRrX2NydGNfZGRwX2NvbmZpZyhjcnRjKTsN CisJCW10a19kaXNwX211dGV4X3JlbGVhc2UobXRrX2NydGMtPm11dGV4KTsNCisJfQ0KKwltdXRl eF91bmxvY2soJm10a19jcnRjLT5od19sb2NrKTsNCiB9DQogDQogaW50IG10a19kcm1fY3J0Y19w bGFuZV9jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LA0KQEAgLTQyOSw2ICs0OTAsMjAgQEAgaW50IG10a19kcm1fY3J0Y19wbGFuZV9jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLA0KIAlyZXR1cm4gMDsN CiB9DQogDQordm9pZCBtdGtfZHJtX2NydGNfYXN5bmNfdXBkYXRlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0Yywgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsDQorCQkJICAgICAgIHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKm5ld19zdGF0ZSkNCit7DQorCXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRj ID0gdG9fbXRrX2NydGMoY3J0Yyk7DQorCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1 bmNzICpwbGFuZV9oZWxwZXJfZnVuY3MgPQ0KKwkJCXBsYW5lLT5oZWxwZXJfcHJpdmF0ZTsNCisN CisJaWYgKCFtdGtfY3J0Yy0+ZW5hYmxlZCkNCisJCXJldHVybjsNCisNCisJcGxhbmVfaGVscGVy X2Z1bmNzLT5hdG9taWNfdXBkYXRlKHBsYW5lLCBuZXdfc3RhdGUpOw0KKwltdGtfZHJtX2NydGNf aHdfY29uZmlnKG10a19jcnRjKTsNCit9DQorDQogc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX2F0 b21pY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLA0KIAkJCQkgICAgICAgc3RydWN0IGRy bV9jcnRjX3N0YXRlICpvbGRfc3RhdGUpDQogew0KQEAgLTUxMCwzNCArNTg1LDE0IEBAIHN0YXRp YyB2b2lkIG10a19kcm1fY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLA0K IAkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQ0KIHsNCiAJ c3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMgPSB0b19tdGtfY3J0YyhjcnRjKTsNCi0Jc3Ry dWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7DQotCXVu c2lnbmVkIGludCBwZW5kaW5nX3BsYW5lcyA9IDA7DQogCWludCBpOw0KIA0KIAlpZiAobXRrX2Ny dGMtPmV2ZW50KQ0KIAkJbXRrX2NydGMtPnBlbmRpbmdfbmVlZHNfdmJsYW5rID0gdHJ1ZTsNCi0J Zm9yIChpID0gMDsgaSA8IG10a19jcnRjLT5sYXllcl9ucjsgaSsrKSB7DQotCQlzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSA9ICZtdGtfY3J0Yy0+cGxhbmVzW2ldOw0KLQkJc3RydWN0IG10a19wbGFu ZV9zdGF0ZSAqcGxhbmVfc3RhdGU7DQotDQotCQlwbGFuZV9zdGF0ZSA9IHRvX210a19wbGFuZV9z dGF0ZShwbGFuZS0+c3RhdGUpOw0KLQkJaWYgKHBsYW5lX3N0YXRlLT5wZW5kaW5nLmRpcnR5KSB7 DQotCQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuY29uZmlnID0gdHJ1ZTsNCi0JCQlwbGFuZV9zdGF0 ZS0+cGVuZGluZy5kaXJ0eSA9IGZhbHNlOw0KLQkJCXBlbmRpbmdfcGxhbmVzIHw9IEJJVChpKTsN Ci0JCX0NCi0JfQ0KLQlpZiAocGVuZGluZ19wbGFuZXMpDQotCQltdGtfY3J0Yy0+cGVuZGluZ19w bGFuZXMgPSB0cnVlOw0KIAlpZiAoY3J0Yy0+c3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCkNCiAJ CWZvciAoaSA9IDA7IGkgPCBtdGtfY3J0Yy0+ZGRwX2NvbXBfbnI7IGkrKykNCiAJCQltdGtfZGRw X2dhbW1hX3NldChtdGtfY3J0Yy0+ZGRwX2NvbXBbaV0sIGNydGMtPnN0YXRlKTsNCi0NCi0JaWYg KHByaXYtPmRhdGEtPnNoYWRvd19yZWdpc3Rlcikgew0KLQkJbXRrX2Rpc3BfbXV0ZXhfYWNxdWly ZShtdGtfY3J0Yy0+bXV0ZXgpOw0KLQkJbXRrX2NydGNfZGRwX2NvbmZpZyhjcnRjKTsNCi0JCW10 a19kaXNwX211dGV4X3JlbGVhc2UobXRrX2NydGMtPm11dGV4KTsNCi0JfQ0KKwltdGtfZHJtX2Ny dGNfaHdfY29uZmlnKG10a19jcnRjKTsNCiB9DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y3J0Y19mdW5jcyBtdGtfY3J0Y19mdW5jcyA9IHsNCkBAIC03MjksNiArNzg0LDcgQEAgaW50IG10 a19kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsDQogCWRybV9tb2Rl X2NydGNfc2V0X2dhbW1hX3NpemUoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUpOw0KIAlk cm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdCgmbXRrX2NydGMtPmJhc2UsIDAsIGZhbHNlLCBNVEtf TFVUX1NJWkUpOw0KIAlwcml2LT5udW1fcGlwZXMrKzsNCisJbXV0ZXhfaW5pdCgmbXRrX2NydGMt Pmh3X2xvY2spOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fY3J0Yy5oDQppbmRleCA2YWZlMWMxOTU1N2EuLmEyYjQ2NzdhNDUxYyAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaA0KKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oDQpAQCAtMjEsNSArMjEsNyBAQCBpbnQg bXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwNCiAJCQl1bnNp Z25lZCBpbnQgcGF0aF9sZW4pOw0KIGludCBtdGtfZHJtX2NydGNfcGxhbmVfY2hlY2soc3RydWN0 IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwNCiAJCQkgICAgIHN0cnVj dCBtdGtfcGxhbmVfc3RhdGUgKnN0YXRlKTsNCit2b2lkIG10a19kcm1fY3J0Y19hc3luY191cGRh dGUoc3RydWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwNCisJCQkg ICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOw0KIA0KICNlbmRpZiAv KiBNVEtfRFJNX0NSVENfSCAqLw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFu ZS5jDQppbmRleCBjZDdjOTdlYjdlZTYuLmE2YTdjYjFmNGVlYiAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX3BsYW5lLmMNCkBAIC03LDYgKzcsNyBAQA0KICNpbmNsdWRlIDxk cm0vZHJtX2F0b21pYy5oPg0KICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4NCiAj aW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4NCisjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWNfdWFw aS5oPg0KICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lX2hlbHBlci5oPg0KICNpbmNsdWRlIDxkcm0v ZHJtX2dlbV9mcmFtZWJ1ZmZlcl9oZWxwZXIuaD4NCiANCkBAIC03MCw2ICs3MSw1MCBAQCBzdGF0 aWMgdm9pZCBtdGtfZHJtX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsDQogCWtmcmVlKHRvX210a19wbGFuZV9zdGF0ZShzdGF0ZSkpOw0KIH0NCiANCitzdGF0aWMg aW50IG10a19wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs DQorCQkJCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkNCit7DQorCXN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsNCisNCisJaWYgKHBsYW5lICE9IHN0YXRlLT5jcnRjLT5j dXJzb3IpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJaWYgKCFwbGFuZS0+c3RhdGUpDQorCQly ZXR1cm4gLUVJTlZBTDsNCisNCisJaWYgKCFwbGFuZS0+c3RhdGUtPmZiKQ0KKwkJcmV0dXJuIC1F SU5WQUw7DQorDQorCWlmIChzdGF0ZS0+c3RhdGUpDQorCQljcnRjX3N0YXRlID0gZHJtX2F0b21p Y19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShzdGF0ZS0+c3RhdGUsDQorCQkJCQkJCQlzdGF0ZS0+ Y3J0Yyk7DQorCWVsc2UgLyogU3BlY2lhbCBjYXNlIGZvciBhc3luY2hyb25vdXMgY3Vyc29yIHVw ZGF0ZXMuICovDQorCQljcnRjX3N0YXRlID0gc3RhdGUtPmNydGMtPnN0YXRlOw0KKw0KKwlyZXR1 cm4gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlLCBjcnRj X3N0YXRlLA0KKwkJCQkJCSAgIERSTV9QTEFORV9IRUxQRVJfTk9fU0NBTElORywNCisJCQkJCQkg ICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsDQorCQkJCQkJICAgdHJ1ZSwgdHJ1ZSk7DQor fQ0KKw0KK3N0YXRpYyB2b2lkIG10a19wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLA0KKwkJCQkJICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3Rh dGUpDQorew0KKwlzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSA9IHRvX210a19wbGFuZV9z dGF0ZShwbGFuZS0+c3RhdGUpOw0KKw0KKwlwbGFuZS0+c3RhdGUtPmNydGNfeCA9IG5ld19zdGF0 ZS0+Y3J0Y194Ow0KKwlwbGFuZS0+c3RhdGUtPmNydGNfeSA9IG5ld19zdGF0ZS0+Y3J0Y195Ow0K KwlwbGFuZS0+c3RhdGUtPmNydGNfaCA9IG5ld19zdGF0ZS0+Y3J0Y19oOw0KKwlwbGFuZS0+c3Rh dGUtPmNydGNfdyA9IG5ld19zdGF0ZS0+Y3J0Y193Ow0KKwlwbGFuZS0+c3RhdGUtPnNyY194ID0g bmV3X3N0YXRlLT5zcmNfeDsNCisJcGxhbmUtPnN0YXRlLT5zcmNfeSA9IG5ld19zdGF0ZS0+c3Jj X3k7DQorCXBsYW5lLT5zdGF0ZS0+c3JjX2ggPSBuZXdfc3RhdGUtPnNyY19oOw0KKwlwbGFuZS0+ c3RhdGUtPnNyY193ID0gbmV3X3N0YXRlLT5zcmNfdzsNCisJc3RhdGUtPnBlbmRpbmcuYXN5bmNf ZGlydHkgPSB0cnVlOw0KKw0KKwltdGtfZHJtX2NydGNfYXN5bmNfdXBkYXRlKG5ld19zdGF0ZS0+ Y3J0YywgcGxhbmUsIG5ld19zdGF0ZSk7DQorfQ0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X3BsYW5lX2Z1bmNzIG10a19wbGFuZV9mdW5jcyA9IHsNCiAJLnVwZGF0ZV9wbGFuZSA9IGRybV9h dG9taWNfaGVscGVyX3VwZGF0ZV9wbGFuZSwNCiAJLmRpc2FibGVfcGxhbmUgPSBkcm1fYXRvbWlj X2hlbHBlcl9kaXNhYmxlX3BsYW5lLA0KQEAgLTE1OCw2ICsyMDMsOCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgbXRrX3BsYW5lX2hlbHBlcl9mdW5jcyA9IHsN CiAJLmF0b21pY19jaGVjayA9IG10a19wbGFuZV9hdG9taWNfY2hlY2ssDQogCS5hdG9taWNfdXBk YXRlID0gbXRrX3BsYW5lX2F0b21pY191cGRhdGUsDQogCS5hdG9taWNfZGlzYWJsZSA9IG10a19w bGFuZV9hdG9taWNfZGlzYWJsZSwNCisJLmF0b21pY19hc3luY191cGRhdGUgPSBtdGtfcGxhbmVf YXRvbWljX2FzeW5jX3VwZGF0ZSwNCisJLmF0b21pY19hc3luY19jaGVjayA9IG10a19wbGFuZV9h dG9taWNfYXN5bmNfY2hlY2ssDQogfTsNCiANCiBpbnQgbXRrX3BsYW5lX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX3BsYW5lLmgNCmluZGV4IDc2MDg4NWUzNWIyNy4uZDQ1NGJlY2U5NTM1 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuaA0K KysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuaA0KQEAgLTIyLDYg KzIyLDggQEAgc3RydWN0IG10a19wbGFuZV9wZW5kaW5nX3N0YXRlIHsNCiAJdW5zaWduZWQgaW50 CQkJaGVpZ2h0Ow0KIAl1bnNpZ25lZCBpbnQJCQlyb3RhdGlvbjsNCiAJYm9vbAkJCQlkaXJ0eTsN CisJYm9vbAkJCQlhc3luY19kaXJ0eTsNCisJYm9vbAkJCQlhc3luY19jb25maWc7DQogfTsNCiAN CiBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlIHsNCi0tIA0KMi4xOC4wDQo=