From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak Rawat Subject: [PATCH 05/14] drm/vmwgfx: add a new interface for plane update on a display unit Date: Wed, 5 Sep 2018 16:38:52 -0700 Message-ID: <20180905233901.2321-6-drawat@vmware.com> References: <20180905233901.2321-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 841ED6E56B for ; Wed, 5 Sep 2018 23:39:32 +0000 (UTC) In-Reply-To: <20180905233901.2321-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 , lukasz.spintzyk@displaylink.com List-Id: dri-devel@lists.freedesktop.org QWRkIGEgbmV3IHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lIHNpbWlsYXIgdG8gdm13X2ttc19k aXJ0eSB3aGljaApyZXByZXNlbnQgdGhlIGZsb3cgb2Ygb3BlcmF0aW9ucyBuZWVkZWQgdG8gdXBk YXRlIGEgZGlzcGxheSB1bml0IGZyb20Kc3VyZmFjZSBvciBibyhibGl0IGEgbmV3IGZyYW1lYnVm ZmVyKS4KClNpZ25lZC1vZmYtYnk6IERlZXBhayBSYXdhdCA8ZHJhd2F0QHZtd2FyZS5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgfCAxMDggKysrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuaCB8IDE0MyArKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI1MSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwppbmRleCAxZWRiYWU3M2Q2ZDYuLmMx ZGU4ZjYwOWJmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKQEAgLTMwLDYgKzMw LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgogI2luY2x1ZGUgPGRybS9kcm1fYXRv bWljX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fcmVjdC5oPgorI2luY2x1ZGUgPGRybS9k cm1fZGFtYWdlX2hlbHBlci5oPgogCiAvKiBNaWdodCBuZWVkIGEgaHJ0aW1lciBoZXJlPyAqLwog I2RlZmluZSBWTVdHRlhfUFJFU0VOVF9SQVRFICgoSFogLyA2MCA+IDApID8gSFogLyA2MCA6IDEp CkBAIC0zMDc3LDMgKzMwNzgsMTEwIEBAIHZvaWQgdm13X2ttc19sb3N0X2RldmljZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogewogCWRybV9hdG9taWNfaGVscGVyX3NodXRkb3duKGRldik7CiB9 CisKKy8qKgorICogdm13X2R1X2hlbHBlcl9wbGFuZV91cGRhdGUgLSBoZWxwZXIgdG8gZG8gcGxh bmUgdXBkYXRlIG9uIGRpc3BsYXkgdW5pdAorICoKKyAqIEB1cGRhdGU6IFRoZSBjbG9zdXJlIHN0 cnVjdHVyZS4KKyAqCisgKiBSRVRVUk5TOgorICoKKyAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0 aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAqLworaW50IHZtd19kdV9oZWxwZXJfcGxhbmVf dXBkYXRlKHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUpCit7CisJc3RydWN0IGRy bV9wbGFuZV9zdGF0ZSAqc3RhdGUgPSB1cGRhdGUtPnBsYW5lLT5zdGF0ZTsKKwlzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpvbGRfc3RhdGUgPSB1cGRhdGUtPm9sZF9zdGF0ZTsKKwlzdHJ1Y3QgZHJt X2F0b21pY19oZWxwZXJfZGFtYWdlX2l0ZXIgaXRlcjsKKwlzdHJ1Y3QgZHJtX3JlY3QgY2xpcDsK KwlzdHJ1Y3QgZHJtX3JlY3QgYmI7CisJdWludDMyX3QgcmVzZXJ2ZWRfc2l6ZSA9IDA7CisJdWlu dDMyX3Qgc3VibWl0X3NpemUgPSAwOworCXVpbnQzMl90IGN1cnJfc2l6ZSA9IDA7CisJdWludDMy X3QgbnVtX2hpdHMgPSAwOworCXZvaWQgKmNtZF9zdGFydDsKKwljaGFyICpjbWRfbmV4dDsKKwlp bnQgcmV0OworCisJLyoKKwkgKiBJdGVyYXRlIGluIGFkdmFuY2UgdG8gY2hlY2sgaWYgcmVhbGx5 IG5lZWQgcGxhbmUgdXBkYXRlIGFuZCBmaW5kIHRoZQorCSAqIG51bWJlciBvZiBjbGlwcyB0aGF0 IGFjdHVhbGx5IGFyZSBpbiBwbGFuZSBzcmMgZm9yIGZpZm8gYWxsb2NhdGlvbi4KKwkgKiBJdGVy YXRvciBpbml0IHJldHVybnMgbmVnYXRpdmUgZXJyb3IgY29kZSBpZiBubyBuZWVkIHRvIGRvIHBs YW5lCisJICogdXBkYXRlLgorCSAqLworCXJldCA9IGRybV9hdG9taWNfaGVscGVyX2RhbWFnZV9p dGVyX2luaXQoJml0ZXIsIG9sZF9zdGF0ZSwgc3RhdGUpOworCWlmIChyZXQpCisJCXJldHVybiAw OworCisJd2hpbGUgKGRybV9hdG9taWNfaGVscGVyX2RhbWFnZV9pdGVyX25leHQoJml0ZXIsICZj bGlwKSkKKwkJbnVtX2hpdHMrKzsKKworCS8qCisJICogSWYgYWxsIGNsaXBzIGFyZSBvdXRzaWRl IHBsYW5lIHNyYyBubyBuZWVkIHRvIGRvIHBsYW5lIHVwZGF0ZSBvbgorCSAqIGRpc3BsYXkgdW5p dAorCSAqLworCWlmIChudW1faGl0cyA9PSAwKQorCQlyZXR1cm4gMDsKKworCXJldCA9IHVwZGF0 ZS0+cHJlcGFyZSh1cGRhdGUpOworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8g dmFsaWRhdGUgRkIgZm9yIGNvbW1hbmQgc3VibWlzc2lvblxuIik7CisJCXJldHVybiByZXQ7CisJ fQorCisJcmVzZXJ2ZWRfc2l6ZSA9IHVwZGF0ZS0+Y2FsY19maWZvX3NpemUodXBkYXRlLCBudW1f aGl0cyk7CisJY21kX3N0YXJ0ID0gdm13X2ZpZm9fcmVzZXJ2ZSh1cGRhdGUtPmRldl9wcml2LCBy ZXNlcnZlZF9zaXplKTsKKwlpZiAoIWNtZF9zdGFydCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBhbGxvY2F0ZSBGSUZPIHNwYWNlIGZvciBwbGFuZSB1cGRhdGVcbiIpOworCQl1cGRhdGUtPnJl dmVydCh1cGRhdGUpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJY21kX25leHQgPSBjbWRfc3Rh cnQ7CisKKwlpZiAodXBkYXRlLT5wb3N0X3ByZXBhcmUpIHsKKwkJY3Vycl9zaXplID0gdXBkYXRl LT5wb3N0X3ByZXBhcmUodXBkYXRlLCBjbWRfbmV4dCk7CisJCWNtZF9uZXh0ICs9IGN1cnJfc2l6 ZTsKKwkJc3VibWl0X3NpemUgKz0gY3Vycl9zaXplOworCX0KKworCWlmICh1cGRhdGUtPnByZV9j bGlwKSB7CisJCWN1cnJfc2l6ZSA9IHVwZGF0ZS0+cHJlX2NsaXAodXBkYXRlLCBjbWRfbmV4dCwg bnVtX2hpdHMpOworCQljbWRfbmV4dCArPSBjdXJyX3NpemU7CisJCXN1Ym1pdF9zaXplICs9IGN1 cnJfc2l6ZTsKKwl9CisKKwliYi54MSA9IElOVF9NQVg7CisJYmIueTEgPSBJTlRfTUFYOworCWJi LngyID0gSU5UX01JTjsKKwliYi55MiA9IElOVF9NSU47CisKKwlkcm1fYXRvbWljX2hlbHBlcl9k YW1hZ2VfaXRlcl9pbml0KCZpdGVyLCBvbGRfc3RhdGUsIHN0YXRlKTsKKwl3aGlsZSAoZHJtX2F0 b21pY19oZWxwZXJfZGFtYWdlX2l0ZXJfbmV4dCgmaXRlciwgJmNsaXApKSB7CisJCXVpbnQzMl90 IGZiX3ggPSBjbGlwLngxOworCQl1aW50MzJfdCBmYl95ID0gY2xpcC55MTsKKworCQl2bXdfZHVf dHJhbnNsYXRlX3RvX2NydGMoc3RhdGUsICZjbGlwKTsKKwkJaWYgKHVwZGF0ZS0+Y2xpcCkgewor CQkJY3Vycl9zaXplID0gdXBkYXRlLT5jbGlwKHVwZGF0ZSwgY21kX25leHQsICZjbGlwLCBmYl94 LAorCQkJCQkJIGZiX3kpOworCQkJY21kX25leHQgKz0gY3Vycl9zaXplOworCQkJc3VibWl0X3Np emUgKz0gY3Vycl9zaXplOworCQl9CisJCWJiLngxID0gbWluX3QoaW50LCBiYi54MSwgY2xpcC54 MSk7CisJCWJiLnkxID0gbWluX3QoaW50LCBiYi55MSwgY2xpcC55MSk7CisJCWJiLngyID0gbWF4 X3QoaW50LCBiYi54MiwgY2xpcC54Mik7CisJCWJiLnkyID0gbWF4X3QoaW50LCBiYi55MiwgY2xp cC55Mik7CisJfQorCisJY3Vycl9zaXplID0gdXBkYXRlLT5wb3N0X2NsaXAodXBkYXRlLCBjbWRf bmV4dCwgJmJiKTsKKwlzdWJtaXRfc2l6ZSArPSBjdXJyX3NpemU7CisKKwlpZiAocmVzZXJ2ZWRf c2l6ZSA8IHN1Ym1pdF9zaXplKQorCQlzdWJtaXRfc2l6ZSA9IDA7CisKKwl2bXdfZmlmb19jb21t aXQodXBkYXRlLT5kZXZfcHJpdiwgc3VibWl0X3NpemUpOworCisJdXBkYXRlLT5maW5pc2godXBk YXRlKTsKKworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5oCmlu ZGV4IDMxMzExMjk4ZWMwYi4uNmJkYThkM2ZiNTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9rbXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9rbXMuaApAQCAtMzMsNyArMzMsMTMyIEBACiAjaW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyLmg+ CiAjaW5jbHVkZSAidm13Z2Z4X2Rydi5oIgogCisvKioKKyAqIHN0cnVjdCB2bXdfZHVfdXBkYXRl X3BsYW5lIC0gY2xvc3VyZSBzdHJ1Y3R1cmUgZm9yIHZtd19kdV9oZWxwZXJfcGxhbmVfdXBkYXRl CisgKgorICogVGhpcyBzdHJ1Y3R1cmUgbG9vc2VseSByZXByZXNlbnQgdGhlIHNldCBvZiBvcGVy YXRpb25zIG5lZWRlZCB0byBwZXJmb3JtIGEKKyAqIHBsYW5lIHVwZGF0ZSBvbiBhIGRpc3BsYXkg dW5pdC4gSW1wbGVtZW50ZXIgd2lsbCBkZWZpbmUgdGhhdCBmdW5jdGlvbmFsaXR5CisgKiBhY2Nv cmRpbmcgdG8gdGhlIGZ1bmN0aW9uIGNhbGxiYWNrcyBmb3IgdGhpcyBzdHJ1Y3R1cmUuIEluIGJy aWVmIGl0IGludm9sdmVzCisgKiBzdXJmYWNlL2J1ZmZlciBvYmplY3QgdmFsaWRhdGlvbiwgcG9w dWxhdGUgRklGTyBjb21tYW5kcyBhbmQgY29tbWFuZAorICogc3VibWlzc2lvbiB0byB0aGUgZGV2 aWNlLgorICoKKyAqIEBwbGFuZTogcGxhbmUgd2hpY2ggaXMgYmVpbmcgdXBkYXRlZC4KKyAqIEBv bGRfc3RhdGU6IG9sZCBzdGF0ZSBvZiBwbGFuZS4KKyAqIEBkZXZfcHJpdjogZGV2aWNlIHByaXZh dGUuCisgKiBAZHU6IGRpc3BsYXkgdW5pdCBvbiB3aGljaCB0byB1cGRhdGUgdGhlIHBsYW5lLgor ICogQHZmYjogZnJhbWVidWZmZXIgd2hpY2ggaXMgYmxpdHRlZCB0byBkaXNwbGF5IHVuaXQuCisg KiBAb3V0X2ZlbmNlOiAob3B0aW9uYWwpIG91dCBmZW5jZSBmb3IgcmVzb3VyY2UgZmluaXNoLgor ICovCitzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSB7CisJLyoqCisJICogQHByZXBhcmU6CisJ ICoKKwkgKiBUaGlzIGNhbGxiYWNrIHNob3VsZCBiZSBjYWxsZWQgdG8gcHJlcGFyZSB0aGUgc3Vy ZmFjZSByZXNvdXJjZSBvciB0aGUKKwkgKiBidWZmZXIgb2JqZWN0IHRvIHZhbGlkYXRlIGl0IGJl Zm9yZSBjb21tYW5kIHN1Ym1pc3Npb24uCisJICoKKwkgKiBSRVRVUk5TOgorCSAqCisJICogMCBv biBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorCSAqLworCWlu dCAoKnByZXBhcmUpKHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUpOworCisJLyoq CisJICogQGNhbGNfZmlmb19zaXplOgorCSAqCisJICogRGV0ZXJtaW5lIGZpZm8gc2l6ZSBmb3Ig dGhlIGNvbW1hbmRzIG5lZWRlZCBmb3IgdXBkYXRlLiBUaGUgbnVtYmVyIG9mCisJICogZGFtYWdl IGNsaXBzIG9uIGRpc3BsYXkgdW5pdCBAbnVtX2hpdHMgd2lsbCBiZSBwYXNzZWQgdG8gYWxsb2Nh dGUKKwkgKiBzdWZmaWNpZW50IGZpZm8gc3BhY2UuCisJICoKKwkgKiBSRVRVUk5TOgorCSAqCisJ ICogRmlmbyBzaXplIG5lZWRlZAorCSAqLworCXVpbnQzMl90ICgqY2FsY19maWZvX3NpemUpKHN0 cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsCisJCQkJICAgdWludDMyX3QgbnVtX2hp dHMpOwogCisJLyoqCisJICogQHBvc3RfcHJlcGFyZToKKwkgKgorCSAqIFNvbWUgc3VyZmFjZSBy ZXNvdXJjZSBvciBidWZmZXIgb2JqZWN0IG5lZWQgc29tZSBleHRyYSBjbWQgc3VibWlzc2lvbgor CSAqIGxpa2UgdXBkYXRlIEdCIGltYWdlIGZvciBwcm94eSBzdXJmYWNlIGFuZCBkZWZpbmUgYSBH TVJGQiBmb3Igc2NyZWVuCisJICogb2JqZWN0LiBUaGF0IHNob3VsZCBzaG91bGQgYmUgZG9uZSBo ZXJlIGFzIHRoaXMgY2FsbGJhY2sgd2lsbCBiZQorCSAqIGNhbGxlZCBhZnRlciBGSUZPIGFsbG9j YXRpb24gd2l0aCB0aGUgYWRkcmVzcyBvZiBjb21tYW5kIGJ1dWZlci4KKwkgKgorCSAqIFRoaXMg Y2FsbGJhY2sgaXMgb3B0aW9uYWwuCisJICoKKwkgKiBSRVRVUk5TOgorCSAqCisJICogU2l6ZSBv ZiBjb21tYW5kcyBwb3B1bGF0ZWQgdG8gY29tbWFuZCBidWZmZXIuCisJICovCisJdWludDMyX3Qg KCpwb3N0X3ByZXBhcmUpKHN0cnVjdCB2bXdfZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQg KmNtZCk7CisKKwkvKioKKwkgKiBAcHJlX2NsaXA6CisJICoKKwkgKiBUaGlzIGlzIHdoZXJlIHBy ZSBjbGlwIHJlbGF0ZWQgY29tbWFuZCBzaG91bGQgYmUgcG9wdWxhdGVkIGxpa2UKKwkgKiBzdXJm YWNlIGNvcHkvRE1BLCBldGMuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgor CSAqCisJICogUkVUVVJOUzoKKwkgKgorCSAqIFNpemUgb2YgY29tbWFuZHMgcG9wdWxhdGVkIHRv IGNvbW1hbmQgYnVmZmVyLgorCSAqLworCXVpbnQzMl90ICgqcHJlX2NsaXApKHN0cnVjdCB2bXdf ZHVfdXBkYXRlX3BsYW5lICp1cGRhdGUsIHZvaWQgKmNtZCwKKwkJCSAgICAgdWludDMyX3QgbnVt X2hpdHMpOworCisJLyoqCisJICogQGNsaXA6CisJICoKKwkgKiBUaGlzIGlzIHdoZXJlIHRvIHBv cHVsYXRlIGNsaXBzIGZvciBzdXJmYWNlIGNvcHkvZG1hIG9yIGJsaXQgY29tbWFuZHMKKwkgKiBp ZiBuZWVkZWQuIFRoaXMgd2lsbCBiZSBjYWxsZWQgdGltZXMgaGF2ZSBkYW1hZ2UgaW4gZGlzcGxh eSB1bml0LAorCSAqIHdoaWNoIGlzIG9uZSBpZiBkb2luZyBmdWxsIHVwZGF0ZS4gQGNsaXAgaXMg dGhlIGRhbWFnZSBpbiBkZXN0aW5hdGlvbgorCSAqIGNvb3JkaW5hdGVzIHdoaWNoIGlzIGNydGMv RFUgYW5kIEBzcmNfeCwgQHNyY195IGlzIGRhbWFnZSBjbGlwIHNyYyBpbgorCSAqIGZyYW1lYnVm ZmVyIGNvb3JkaW5hdGUuCisJICoKKwkgKiBUaGlzIGNhbGxiYWNrIGlzIG9wdGlvbmFsLgorCSAq CisJICogUkVUVVJOUzoKKwkgKgorCSAqIFNpemUgb2YgY29tbWFuZHMgcG9wdWxhdGVkIHRvIGNv bW1hbmQgYnVmZmVyLgorCSAqLworCXVpbnQzMl90ICgqY2xpcCkoc3RydWN0IHZtd19kdV91cGRh dGVfcGxhbmUgKnVwZGF0ZSwgdm9pZCAqY21kLAorCQkJIHN0cnVjdCBkcm1fcmVjdCAqY2xpcCwg dWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195KTsKKworCS8qKgorCSAqIEBwb3N0X2NsaXA6 CisJICoKKwkgKiBUaGlzIGlzIHdoZXJlIHRvIHBvcHVsYXRlIGRpc3BsYXkgdW5pdCB1cGRhdGUg Y29tbWFuZHMgb3IgYmxpdAorCSAqIGNvbW1hbmRzLgorCSAqCisJICogUkVUVVJOUzoKKwkgKgor CSAqIFNpemUgb2YgY29tbWFuZHMgcG9wdWxhdGVkIHRvIGNvbW1hbmQgYnVmZmVyLgorCSAqLwor CXVpbnQzMl90ICgqcG9zdF9jbGlwKShzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRl LCB2b2lkICpjbWQsCisJCQkJICAgIHN0cnVjdCBkcm1fcmVjdCAqYmIpOworCisJLyoqCisJICog QGZpbmlzaDoKKwkgKgorCSAqIEZpbmlzaCBzdXJmYWNlIHJlc291cmNlIG9yIGJ1ZmZlciBvYmpl Y3QuCisJICovCisJdm9pZCAoKmZpbmlzaCkoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVw ZGF0ZSk7CisKKwkvKioKKwkgKiBAcmV2ZXJ0OgorCSAqCisJICogUmV2ZXJ0IHN1cmZhY2UgcmVz b3VyY2Ugb3IgYnVmZmVyIG9iamVjdCBpbiBjYXNlIG9mIGZhaWx1cmUuCisJICovCisJdm9pZCAo KnJldmVydCkoc3RydWN0IHZtd19kdV91cGRhdGVfcGxhbmUgKnVwZGF0ZSk7CisKKwlzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGU7CisJ c3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdjsKKwlzdHJ1Y3Qgdm13X2Rpc3BsYXlfdW5pdCAq ZHU7CisJc3RydWN0IHZtd19mcmFtZWJ1ZmZlciAqdmZiOworCXN0cnVjdCB2bXdfZmVuY2Vfb2Jq ICoqb3V0X2ZlbmNlOworfTsKIAogLyoqCiAgKiBzdHJ1Y3Qgdm13X2ttc19kaXJ0eSAtIGNsb3N1 cmUgc3RydWN0dXJlIGZvciB0aGUgdm13X2ttc19oZWxwZXJfZGlydHkKQEAgLTQ3MCw0ICs1OTUs MjIgQEAgaW50IHZtd19rbXNfc3RkdV9kbWEoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwK IAogaW50IHZtd19rbXNfc2V0X2NvbmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQsCiAJCSAg ICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7CisKK2ludCB2bXdfZHVf aGVscGVyX3BsYW5lX3VwZGF0ZShzdHJ1Y3Qgdm13X2R1X3VwZGF0ZV9wbGFuZSAqdXBkYXRlKTsK KworLyoqCisgKiB2bXdfZHVfdHJhbnNsYXRlX3RvX2NydGMgLSB0cmFuc2xhdGUgYSByZWN0IGZy b20gZnJhbWVidWZmZXIgdG8gY3J0YworICoKKyAqIEBzdGF0ZTogcGxhbmUgc3RhdGUuCisgKiBA cjogcmVjdCB0byB0cmFuc2xhdGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB2bXdfZHVfdHJh bnNsYXRlX3RvX2NydGMoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCisJCQkJCSAgICBz dHJ1Y3QgZHJtX3JlY3QgKnIpCit7CisJaW50IHRyYW5zbGF0ZV9jcnRjX3ggPSAtKChzdGF0ZS0+ c3JjX3ggPj4gMTYpIC0gc3RhdGUtPmNydGNfeCk7CisJaW50IHRyYW5zbGF0ZV9jcnRjX3kgPSAt KChzdGF0ZS0+c3JjX3kgPj4gMTYpIC0gc3RhdGUtPmNydGNfeSk7CisKKwlkcm1fcmVjdF90cmFu c2xhdGUociwgdHJhbnNsYXRlX2NydGNfeCwgdHJhbnNsYXRlX2NydGNfeSk7Cit9CisKICNlbmRp ZgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK