From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 06/18] drm/vmwgfx: Add a new interface for plane update on a display unit Date: Thu, 27 Sep 2018 17:30:08 -0700 Message-ID: <20180928003020.1737-6-drawat@vmware.com> References: <20180928003020.1737-1-drawat@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EX13-EDG-OU-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BBA46E636 for ; Fri, 28 Sep 2018 00:30:54 +0000 (UTC) In-Reply-To: <20180928003020.1737-1-drawat@vmware.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, linux-graphics-maintainer@vmware.com, thellstrom@vmware.com, syeh@vmware.com Cc: Deepak Rawat List-Id: dri-devel@lists.freedesktop.org QWRkIGEgbmV3IHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lIHNpbWlsYXIgdG8gdm13X2ttc19k aXJ0eSB3aGljaApyZXByZXNlbnQgdGhlIGZsb3cgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgdG8gdXBk YXRlIGEgZGlzcGxheSB1bml0IGZyb20Kc3VyZmFjZSBvciBibyAoYmxpdCBhIG5ldyBmcmFtZWJ1 ZmZlcikuCgp2MjoKLSBLZXJuZWwgZG9jIGNvcnJlY3Rpb24uCi0gUmViYXNlLgoKU2lnbmVkLW9m Zi1ieTogRGVlcGFrIFJhd2F0IDxkcmF3YXRAdm13YXJlLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyB8ICA5OSArKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuaCB8IDEyNSArKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIyNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0v dm13Z2Z4L3Ztd2dmeF9rbXMuYwppbmRleCAyOTJlNDhmZWJhODMuLjhhMGIzMWYxYjg5YiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl IDxkcm0vZHJtX2F0b21pYy5oPgogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgog I2luY2x1ZGUgPGRybS9kcm1fcmVjdC5oPgorI2luY2x1ZGUgPGRybS9kcm1fZGFtYWdlX2hlbHBl ci5oPgogCiAvKiBNaWdodCBuZWVkIGEgaHJ0aW1lciBoZXJlPyAqLwogI2RlZmluZSBWTVdHRlhf UFJFU0VOVF9SQVRFICgoSFogLyA2MCA+IDApID8gSFogLyA2MCA6IDEpCkBAIC0zMDkyLDMgKzMw OTMsMTAxIEBAIHZvaWQgdm13X2ttc19sb3N0X2RldmljZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogewogCWRybV9hdG9taWNfaGVscGVyX3NodXRkb3duKGRldik7CiB9CisKKy8qKgorICogdm13 X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUgLSBIZWxwZXIgdG8gZG8gcGxhbmUgdXBkYXRlIG9uIGEg ZGlzcGxheSB1bml0LgorICogQHVwZGF0ZTogVGhlIGNsb3N1cmUgc3RydWN0dXJlLgorICoKKyAq IENhbGwgdGhpcyBoZWxwZXIgYWZ0ZXIgc2V0dGluZyBjYWxsYmFja3MgaW4gJnZtd19kdV91cGRh dGVfcGxhbmUgdG8gZG8gcGxhbmUKKyAqIHVwZGF0ZSBvbiBkaXNwbGF5IHVuaXQuCisgKgorICog UkVUVVJOUzogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl LgorICovCitpbnQgdm13X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUoc3RydWN0IHZtd19kdV91cGRh dGVfcGxhbmUgKnVwZGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9IHVw ZGF0ZS0+cGxhbmUtPnN0YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSA9 IHVwZGF0ZS0+b2xkX3N0YXRlOworCXN0cnVjdCBkcm1fYXRvbWljX2hlbHBlcl9kYW1hZ2VfaXRl ciBpdGVyOworCXN0cnVjdCBkcm1fcmVjdCBjbGlwOworCXN0cnVjdCBkcm1fcmVjdCBiYjsKKwl1 aW50MzJfdCByZXNlcnZlZF9zaXplID0gMDsKKwl1aW50MzJfdCBzdWJtaXRfc2l6ZSA9IDA7CisJ dWludDMyX3QgY3Vycl9zaXplID0gMDsKKwl1aW50MzJfdCBudW1faGl0cyA9IDA7CisJdm9pZCAq Y21kX3N0YXJ0OworCWNoYXIgKmNtZF9uZXh0OworCWludCByZXQ7CisKKwkvKgorCSAqIEl0ZXJh dGUgaW4gYWR2YW5jZSB0byBjaGVjayBpZiByZWFsbHkgbmVlZCBwbGFuZSB1cGRhdGUgYW5kIGZp bmQgdGhlCisJICogbnVtYmVyIG9mIGNsaXBzIHRoYXQgYWN0dWFsbHkgYXJlIGluIHBsYW5lIHNy YyBmb3IgZmlmbyBhbGxvY2F0aW9uLgorCSAqLworCWRybV9hdG9taWNfaGVscGVyX2RhbWFnZV9p dGVyX2luaXQoJml0ZXIsIG9sZF9zdGF0ZSwgc3RhdGUpOworCWRybV9hdG9taWNfZm9yX2VhY2hf cGxhbmVfZGFtYWdlKCZpdGVyLCAmY2xpcCkKKwkJbnVtX2hpdHMrKzsKKworCWlmIChudW1faGl0 cyA9PSAwKQorCQlyZXR1cm4gMDsKKworCXJldCA9IHVwZGF0ZS0+cHJlcGFyZSh1cGRhdGUpOwor CWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gdmFsaWRhdGUgRkIgZm9yIGNvbW1h bmQgc3VibWlzc2lvblxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmVzZXJ2ZWRfc2l6ZSA9 IHVwZGF0ZS0+Y2FsY19maWZvX3NpemUodXBkYXRlLCBudW1faGl0cyk7CisJY21kX3N0YXJ0ID0g dm13X2ZpZm9fcmVzZXJ2ZSh1cGRhdGUtPmRldl9wcml2LCByZXNlcnZlZF9zaXplKTsKKwlpZiAo IWNtZF9zdGFydCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBGSUZPIHNwYWNl IGZvciBwbGFuZSB1cGRhdGVcbiIpOworCQl1cGRhdGUtPnJldmVydCh1cGRhdGUpOworCQlyZXR1 cm4gLUVOT01FTTsKKwl9CisJY21kX25leHQgPSBjbWRfc3RhcnQ7CisKKwlpZiAodXBkYXRlLT5w b3N0X3ByZXBhcmUpIHsKKwkJY3Vycl9zaXplID0gdXBkYXRlLT5wb3N0X3ByZXBhcmUodXBkYXRl LCBjbWRfbmV4dCk7CisJCWNtZF9uZXh0ICs9IGN1cnJfc2l6ZTsKKwkJc3VibWl0X3NpemUgKz0g Y3Vycl9zaXplOworCX0KKworCWlmICh1cGRhdGUtPnByZV9jbGlwKSB7CisJCWN1cnJfc2l6ZSA9 IHVwZGF0ZS0+cHJlX2NsaXAodXBkYXRlLCBjbWRfbmV4dCwgbnVtX2hpdHMpOworCQljbWRfbmV4 dCArPSBjdXJyX3NpemU7CisJCXN1Ym1pdF9zaXplICs9IGN1cnJfc2l6ZTsKKwl9CisKKwliYi54 MSA9IElOVF9NQVg7CisJYmIueTEgPSBJTlRfTUFYOworCWJiLngyID0gSU5UX01JTjsKKwliYi55 MiA9IElOVF9NSU47CisKKwlkcm1fYXRvbWljX2hlbHBlcl9kYW1hZ2VfaXRlcl9pbml0KCZpdGVy LCBvbGRfc3RhdGUsIHN0YXRlKTsKKwlkcm1fYXRvbWljX2Zvcl9lYWNoX3BsYW5lX2RhbWFnZSgm aXRlciwgJmNsaXApIHsKKwkJdWludDMyX3QgZmJfeCA9IGNsaXAueDE7CisJCXVpbnQzMl90IGZi X3kgPSBjbGlwLnkxOworCisJCXZtd19kdV90cmFuc2xhdGVfdG9fY3J0YyhzdGF0ZSwgJmNsaXAp OworCQlpZiAodXBkYXRlLT5jbGlwKSB7CisJCQljdXJyX3NpemUgPSB1cGRhdGUtPmNsaXAodXBk YXRlLCBjbWRfbmV4dCwgJmNsaXAsIGZiX3gsCisJCQkJCQkgZmJfeSk7CisJCQljbWRfbmV4dCAr PSBjdXJyX3NpemU7CisJCQlzdWJtaXRfc2l6ZSArPSBjdXJyX3NpemU7CisJCX0KKwkJYmIueDEg PSBtaW5fdChpbnQsIGJiLngxLCBjbGlwLngxKTsKKwkJYmIueTEgPSBtaW5fdChpbnQsIGJiLnkx LCBjbGlwLnkxKTsKKwkJYmIueDIgPSBtYXhfdChpbnQsIGJiLngyLCBjbGlwLngyKTsKKwkJYmIu eTIgPSBtYXhfdChpbnQsIGJiLnkyLCBjbGlwLnkyKTsKKwl9CisKKwljdXJyX3NpemUgPSB1cGRh dGUtPnBvc3RfY2xpcCh1cGRhdGUsIGNtZF9uZXh0LCAmYmIpOworCXN1Ym1pdF9zaXplICs9IGN1 cnJfc2l6ZTsKKworCWlmIChyZXNlcnZlZF9zaXplIDwgc3VibWl0X3NpemUpCisJCXN1Ym1pdF9z aXplID0gMDsKKworCXZtd19maWZvX2NvbW1pdCh1cGRhdGUtPmRldl9wcml2LCBzdWJtaXRfc2l6 ZSk7CisKKwl1cGRhdGUtPmZpbmlzaCh1cGRhdGUpOworCisJcmV0dXJuIHJldDsKK30KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5oIGIvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfa21zLmgKaW5kZXggMzEzMTEyOThlYzBiLi4yNmNhZDdlNzNhZmEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5oCkBAIC0zMyw3ICszMywxMTUgQEAKICNp bmNsdWRlIDxkcm0vZHJtX2VuY29kZXIuaD4KICNpbmNsdWRlICJ2bXdnZnhfZHJ2LmgiCiAKKy8q KgorICogc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgLSBDbG9zdXJlIHN0cnVjdHVyZSBmb3Ig dm13X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUKKyAqIEBwbGFuZTogUGxhbmUgd2hpY2ggaXMgYmVp bmcgdXBkYXRlZC4KKyAqIEBvbGRfc3RhdGU6IE9sZCBzdGF0ZSBvZiBwbGFuZS4KKyAqIEBkZXZf cHJpdjogRGV2aWNlIHByaXZhdGUuCisgKiBAZHU6IERpc3BsYXkgdW5pdCBvbiB3aGljaCB0byB1 cGRhdGUgdGhlIHBsYW5lLgorICogQHZmYjogRnJhbWVidWZmZXIgd2hpY2ggaXMgYmxpdHRlZCB0 byBkaXNwbGF5IHVuaXQuCisgKiBAb3V0X2ZlbmNlOiBPdXQgZmVuY2UgZm9yIHJlc291cmNlIGZp bmlzaC4gKG9wdGlvbmFsKQorICoKKyAqIFRoaXMgc3RydWN0dXJlIGxvb3NlbHkgcmVwcmVzZW50 IHRoZSBzZXQgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgdG8gcGVyZm9ybSBhCisgKiBwbGFuZSB1cGRh dGUgb24gYSBkaXNwbGF5IHVuaXQuIEltcGxlbWVudGVyIHdpbGwgZGVmaW5lIHRoYXQgZnVuY3Rp b25hbGl0eQorICogYWNjb3JkaW5nIHRvIHRoZSBmdW5jdGlvbiBjYWxsYmFja3MgZm9yIHRoaXMg c3RydWN0dXJlLiBJbiBicmllZiBpdCBpbnZvbHZlcworICogc3VyZmFjZS9idWZmZXIgb2JqZWN0 IHZhbGlkYXRpb24sIHBvcHVsYXRlIEZJRk8gY29tbWFuZHMgYW5kIGNvbW1hbmQKKyAqIHN1Ym1p c3Npb24gdG8gdGhlIGRldmljZS4KKyAqLworc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgewor CS8qKgorCSAqIEBwcmVwYXJlOiBSZXNvdXJjZSBwcmVwYXJhdGlvbiBhbmQgdmFsaWRhdGlvbi4K KwkgKgorCSAqIFRoaXMgY2FsbGJhY2sgc2hvdWxkIGJlIGNhbGxlZCB0byBwcmVwYXJlIHRoZSBz dXJmYWNlIHJlc291cmNlIG9yIHRoZQorCSAqIGJ1ZmZlciBvYmplY3QgdG8gdmFsaWRhdGUgaXQg YmVmb3JlIGNvbW1hbmQgc3VibWlzc2lvbi4KKwkgKgorCSAqIFJFVFVSTlM6IDAgb24gc3VjY2Vz cyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKwkgKi8KKwlpbnQgKCpwcmVw YXJlKShzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlKTsKIAorCS8qKgorCSAqIEBj YWxjX2ZpZm9fc2l6ZTogQ2FsY3VsYXRlIGZpZm8gc2l6ZS4KKwkgKgorCSAqIERldGVybWluZSBm aWZvIHNpemUgZm9yIHRoZSBjb21tYW5kcyBuZWVkZWQgZm9yIHVwZGF0ZS4gVGhlIG51bWJlciBv ZgorCSAqIGRhbWFnZSBjbGlwcyBvbiBkaXNwbGF5IHVuaXQgQG51bV9oaXRzIHdpbGwgYmUgcGFz c2VkIHRvIGFsbG9jYXRlCisJICogc3VmZmljaWVudCBmaWZvIHNwYWNlLgorCSAqCisJICogUkVU VVJOUzogRmlmbyBzaXplIG5lZWRlZAorCSAqLworCXVpbnQzMl90ICgqY2FsY19maWZvX3NpemUp KHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsCisJCQkJICAgdWludDMyX3QgbnVt X2hpdHMpOworCisJLyoqCisJICogQHBvc3RfcHJlcGFyZTogUG9wdWxhdGUgZmlmbyBmb3IgcmVz b3VyY2UgcHJlcGFyYXRpb24uCisJICoKKwkgKiBTb21lIHN1cmZhY2UgcmVzb3VyY2Ugb3IgYnVm ZmVyIG9iamVjdCBuZWVkIHNvbWUgZXh0cmEgY21kIHN1Ym1pc3Npb24KKwkgKiBsaWtlIHVwZGF0 ZSBHQiBpbWFnZSBmb3IgcHJveHkgc3VyZmFjZSBhbmQgZGVmaW5lIGEgR01SRkIgZm9yIHNjcmVl bgorCSAqIG9iamVjdC4gVGhhdCBzaG91bGQgc2hvdWxkIGJlIGRvbmUgaGVyZSBhcyB0aGlzIGNh bGxiYWNrIHdpbGwgYmUKKwkgKiBjYWxsZWQgYWZ0ZXIgRklGTyBhbGxvY2F0aW9uIHdpdGggdGhl IGFkZHJlc3Mgb2YgY29tbWFuZCBidXVmZXIuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9w dGlvbmFsLgorCSAqCisJICogUkVUVVJOUzogU2l6ZSBvZiBjb21tYW5kcyBwb3B1bGF0ZWQgdG8g Y29tbWFuZCBidWZmZXIuCisJICovCisJdWludDMyX3QgKCpwb3N0X3ByZXBhcmUpKHN0cnVjdCB2 bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQgKmNtZCk7CisKKwkvKioKKwkgKiBAcHJl X2NsaXA6IFBvcHVsYXRlIGZpZm8gYmVmb3JlIGNsaXAuCisJICoKKwkgKiBUaGlzIGlzIHdoZXJl IHByZSBjbGlwIHJlbGF0ZWQgY29tbWFuZCBzaG91bGQgYmUgcG9wdWxhdGVkIGxpa2UKKwkgKiBz dXJmYWNlIGNvcHkvRE1BLCBldGMuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFs LgorCSAqCisJICogUkVUVVJOUzogU2l6ZSBvZiBjb21tYW5kcyBwb3B1bGF0ZWQgdG8gY29tbWFu ZCBidWZmZXIuCisJICovCisJdWludDMyX3QgKCpwcmVfY2xpcCkoc3RydWN0IHZtd19kdV91cGRh dGVfcGxhbmUgKnVwZGF0ZSwgdm9pZCAqY21kLAorCQkJICAgICB1aW50MzJfdCBudW1faGl0cyk7 CisKKwkvKioKKwkgKiBAY2xpcDogUG9wdWxhdGUgZmlmbyBmb3IgY2xpcC4KKwkgKgorCSAqIFRo aXMgaXMgd2hlcmUgdG8gcG9wdWxhdGUgY2xpcHMgZm9yIHN1cmZhY2UgY29weS9kbWEgb3IgYmxp dCBjb21tYW5kcworCSAqIGlmIG5lZWRlZC4gVGhpcyB3aWxsIGJlIGNhbGxlZCB0aW1lcyBoYXZl IGRhbWFnZSBpbiBkaXNwbGF5IHVuaXQsCisJICogd2hpY2ggaXMgb25lIGlmIGRvaW5nIGZ1bGwg dXBkYXRlLiBAY2xpcCBpcyB0aGUgZGFtYWdlIGluIGRlc3RpbmF0aW9uCisJICogY29vcmRpbmF0 ZXMgd2hpY2ggaXMgY3J0Yy9EVSBhbmQgQHNyY194LCBAc3JjX3kgaXMgZGFtYWdlIGNsaXAgc3Jj IGluCisJICogZnJhbWVidWZmZXIgY29vcmRpbmF0ZS4KKwkgKgorCSAqIFRoaXMgY2FsbGJhY2sg aXMgb3B0aW9uYWwuCisJICoKKwkgKiBSRVRVUk5TOiBTaXplIG9mIGNvbW1hbmRzIHBvcHVsYXRl ZCB0byBjb21tYW5kIGJ1ZmZlci4KKwkgKi8KKwl1aW50MzJfdCAoKmNsaXApKHN0cnVjdCB2bXdf ZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQgKmNtZCwKKwkJCSBzdHJ1Y3QgZHJtX3JlY3Qg KmNsaXAsIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSk7CisKKwkvKioKKwkgKiBAcG9z dF9jbGlwOiBQb3B1bGF0ZSBmaWZvIGFmdGVyIGNsaXAuCisJICoKKwkgKiBUaGlzIGlzIHdoZXJl IHRvIHBvcHVsYXRlIGRpc3BsYXkgdW5pdCB1cGRhdGUgY29tbWFuZHMgb3IgYmxpdAorCSAqIGNv bW1hbmRzLgorCSAqCisJICogUkVUVVJOUzogU2l6ZSBvZiBjb21tYW5kcyBwb3B1bGF0ZWQgdG8g Y29tbWFuZCBidWZmZXIuCisJICovCisJdWludDMyX3QgKCpwb3N0X2NsaXApKHN0cnVjdCB2bXdf ZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQgKmNtZCwKKwkJCQkgICAgc3RydWN0IGRybV9y ZWN0ICpiYik7CisKKwkvKioKKwkgKiBAZmluaXNoOiBGaW5pc2ggc3VyZmFjZSByZXNvdXJjZSBv ciBidWZmZXIgb2JqZWN0LgorCSAqLworCXZvaWQgKCpmaW5pc2gpKHN0cnVjdCB2bXdfZHVfdXBk YXRlX3BsYW5lICp1cGRhdGUpOworCisJLyoqCisJICogQHJldmVydDogUmV2ZXJ0IHN1cmZhY2Ug cmVzb3VyY2Ugb3IgYnVmZmVyIG9iamVjdCBpbiBjYXNlIG9mIGZhaWx1cmUuCisJICovCisJdm9p ZCAoKnJldmVydCkoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVwZGF0ZSk7CisKKwlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGU7 CisJc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdjsKKwlzdHJ1Y3Qgdm13X2Rpc3BsYXlfdW5p dCAqZHU7CisJc3RydWN0IHZtd19mcmFtZWJ1ZmZlciAqdmZiOworCXN0cnVjdCB2bXdfZmVuY2Vf b2JqICoqb3V0X2ZlbmNlOworfTsKIAogLyoqCiAgKiBzdHJ1Y3Qgdm13X2ttc19kaXJ0eSAtIGNs b3N1cmUgc3RydWN0dXJlIGZvciB0aGUgdm13X2ttc19oZWxwZXJfZGlydHkKQEAgLTQ3MCw0ICs1 NzgsMjEgQEAgaW50IHZtd19rbXNfc3RkdV9kbWEoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJp diwKIAogaW50IHZtd19rbXNfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQsCiAJ CSAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7CisKK2ludCB2bXdf ZHVfaGVscGVyX3BsYW5lX3VwZGF0ZShzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRl KTsKKworLyoqCisgKiB2bXdfZHVfdHJhbnNsYXRlX3RvX2NydGMgLSBUcmFuc2xhdGUgYSByZWN0 IGZyb20gZnJhbWVidWZmZXIgdG8gY3J0YworICogQHN0YXRlOiBQbGFuZSBzdGF0ZS4KKyAqIEBy OiBSZWN0YW5nbGUgdG8gdHJhbnNsYXRlLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgdm13X2R1 X3RyYW5zbGF0ZV90b19jcnRjKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAorCQkJCQkg ICAgc3RydWN0IGRybV9yZWN0ICpyKQoreworCWludCB0cmFuc2xhdGVfY3J0Y194ID0gLSgoc3Rh dGUtPnNyY194ID4+IDE2KSAtIHN0YXRlLT5jcnRjX3gpOworCWludCB0cmFuc2xhdGVfY3J0Y195 ID0gLSgoc3RhdGUtPnNyY195ID4+IDE2KSAtIHN0YXRlLT5jcnRjX3kpOworCisJZHJtX3JlY3Rf dHJhbnNsYXRlKHIsIHRyYW5zbGF0ZV9jcnRjX3gsIHRyYW5zbGF0ZV9jcnRjX3kpOworfQorCiAj ZW5kaWYKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==