From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 53/55] drm/i915: Update a bunch of LRC functions to take requests Date: Fri, 29 May 2015 17:44:14 +0100 Message-ID: <1432917856-12261-54-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 5DD387214D for ; Fri, 29 May 2015 09:45:15 -0700 (PDT) In-Reply-To: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCkEgYnVuY2gg b2YgdGhlIGxvdyBsZXZlbCBMUkMgZnVuY3Rpb25zIHdlcmUgcGFzc2luZyBhcm91bmQgcmluZ2J1 ZiBhbmQgY3R4CnBhaXJzLiBJbiBhIGZldyBjYXNlcywgdGhleSB0b29rIHRoZSByL2MgcGFpciBh bmQgYSByZXF1ZXN0IGFzIHdlbGwuIFRoaXMgaXMgYWxsCnF1aXRlIG1lc3N5IGFuZCB1bm5lY2Vz YXJ5LiBUaGUgY29udGV4dF9xdWV1ZSgpIGNhbGwgaXMgZXNwZWNpYWxseSBiYWQgc2luY2UgdGhl CmZha2UgcmVxdWVzdCBjb2RlIGdvdCByZW1vdmVkIC0gaXQgdGFrZXMgYSByZXF1ZXN0IGFuZCB0 aHJlZSBleHRyYSB0aGluZ3MgdGhhdAptdXN0IGJlIGV4dHJhY3RlZCBmcm9tIHRoZSByZXF1ZXN0 IGFuZCB0aGVuIGl0IGNoZWNrcyB0aGVtIGFnYWluc3Qgd2hhdCBpdCBmaW5kcwppbiB0aGUgcmVx dWVzdC4gUmVtb3ZpbmcgYWxsIHRoZSBkZXJpdmFibGUgZGF0YSBtYWtlcyB0aGUgY29kZSBtdWNo IHNpbXBsZXIgYWxsCnJvdW5kLgoKVGhpcyBwYXRjaCB1cGRhdGVzIHRob3NlIGZ1bmN0aW9ucyB0 byBqdXN0IHRha2UgdGhlIHJlcXVlc3Qgc3RydWN0dXJlLgoKTm90ZSB0aGF0IGxvZ2ljYWxfcmlu Z193YWl0X2Zvcl9zcGFjZSBub3cgdGFrZXMgYSByZXF1ZXN0IHN0cnVjdHVyZSBidXQgYWxyZWFk eQpoYWQgYSBsb2NhbCByZXF1ZXN0IHBvaW50ZXIgdGhhdCBpdCB1c2VzIHRvIHNjYW4gZm9yIHNv bWV0aGluZyB0byB3YWl0IG9uLiBUbwphdm9pZCBjb25mdXNpb24gdGhlIGxvY2FsIHZhcmlhYmxl IGhhcyBiZWVuIHJlbmFtZWQgJ3RhcmdldCcgKGl0IGlzIHNlYXJjaGluZwpmb3IgYSB0YXJnZXQg cmVxdWVzdCB0byBkbyBzb21ldGhpbmcgd2l0aCkgYW5kIHRoZSBwYXJhbWV0ZXIgaGFzIGJlZW4g Y2FsbGVkIHJlcQoodG8gZ3VhcmFudGVlIGFueXRoaW5nIGFjY2lkZW50YWxseSBtaXNzZWQgZ2V0 cyBhIGNvbXBpbGVyIGVycm9yKS4KCnYyOiBVcGRhdGVkIGNvbW1pdCBtZXNzYWdlIHJlIHdhaXRf Zm9yX3NwYWNlIChUb21hcyBFbGYgcmV2aWV3IGNvbW1lbnQpLgoKRm9yOiBWSVotNTExNQpTaWdu ZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgpSZXZp ZXdlZC1ieTogVG9tYXMgRWxmIDx0b21hcy5lbGZAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgICA2NiArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMzIzYTRhMS4uNGNlODA5ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTU0MywyMyArNTQzLDE4IEBAIHZvaWQgaW50ZWxf bHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCSAgICgodTMy KXJpbmctPm5leHRfY29udGV4dF9zdGF0dXNfYnVmZmVyICYgMHgwNykgPDwgOCk7CiB9CiAKLXN0 YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKLQkJCQkgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqdG8sCi0JCQkJICAgdTMyIHRhaWws Ci0JCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQorc3RhdGljIGlu dCBleGVjbGlzdHNfY29udGV4dF9xdWV1ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cXVlc3QpCiB7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJlcXVlc3QtPnJpbmc7 CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3I7CiAJaW50IG51bV9lbGVtZW50 cyA9IDA7CiAKLQlpZiAodG8gIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQotCQlpbnRlbF9scl9j b250ZXh0X3BpbihyaW5nLCB0byk7Ci0KLQlXQVJOX09OKCFyZXF1ZXN0KTsKLQlXQVJOX09OKHRv ICE9IHJlcXVlc3QtPmN0eCk7CisJaWYgKHJlcXVlc3QtPmN0eCAhPSByaW5nLT5kZWZhdWx0X2Nv bnRleHQpCisJCWludGVsX2xyX2NvbnRleHRfcGluKHJpbmcsIHJlcXVlc3QtPmN0eCk7CiAKIAlp OTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShyZXF1ZXN0KTsKIAotCXJlcXVlc3QtPnRhaWwgPSB0 YWlsOworCXJlcXVlc3QtPnRhaWwgPSByZXF1ZXN0LT5yaW5nYnVmLT50YWlsOwogCiAJc3Bpbl9s b2NrX2lycSgmcmluZy0+ZXhlY2xpc3RfbG9jayk7CiAKQEAgLTU3NCw3ICs1NjksNyBAQCBzdGF0 aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCiAJCQkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCwKIAkJCQkJICAgZXhlY2xp c3RfbGluayk7CiAKLQkJaWYgKHRvID09IHRhaWxfcmVxLT5jdHgpIHsKKwkJaWYgKHJlcXVlc3Qt PmN0eCA9PSB0YWlsX3JlcS0+Y3R4KSB7CiAJCQlXQVJOKHRhaWxfcmVxLT5lbHNwX3N1Ym1pdHRl ZCAhPSAwLAogCQkJCSJNb3JlIHRoYW4gMiBhbHJlYWR5LXN1Ym1pdHRlZCByZXFzIHF1ZXVlZFxu Iik7CiAJCQlsaXN0X2RlbCgmdGFpbF9yZXEtPmV4ZWNsaXN0X2xpbmspOwpAQCAtNjU4LDEyICs2 NTMsMTIgQEAgaW50IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGlj IGludCBsb2dpY2FsX3Jpbmdfd2FpdF9mb3Jfc3BhY2Uoc3RydWN0IGludGVsX3JpbmdidWZmZXIg KnJpbmdidWYsCi0JCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCitzdGF0aWMg aW50IGxvZ2ljYWxfcmluZ193YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwKIAkJCQkgICAgICAgaW50IGJ5dGVzKQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxdWVzdDsKKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJlcS0+cmluZ2J1 ZjsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOworCXN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqdGFyZ2V0OwogCXVuc2lnbmVkIHNwYWNlOwogCWludCByZXQ7 CiAKQEAgLTY3MywyNiArNjY4LDI2IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX3dhaXRfZm9y X3NwYWNlKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAogCWlmIChpbnRlbF9yaW5n X3NwYWNlKHJpbmdidWYpID49IGJ5dGVzKQogCQlyZXR1cm4gMDsKIAotCWxpc3RfZm9yX2VhY2hf ZW50cnkocmVxdWVzdCwgJnJpbmctPnJlcXVlc3RfbGlzdCwgbGlzdCkgeworCWxpc3RfZm9yX2Vh Y2hfZW50cnkodGFyZ2V0LCAmcmluZy0+cmVxdWVzdF9saXN0LCBsaXN0KSB7CiAJCS8qCiAJCSAq IFRoZSByZXF1ZXN0IHF1ZXVlIGlzIHBlci1lbmdpbmUsIHNvIGNhbiBjb250YWluIHJlcXVlc3Rz CiAJCSAqIGZyb20gbXVsdGlwbGUgcmluZ2J1ZmZlcnMuIEhlcmUsIHdlIG11c3QgaWdub3JlIGFu eSB0aGF0CiAJCSAqIGFyZW4ndCBmcm9tIHRoZSByaW5nYnVmZmVyIHdlJ3JlIGNvbnNpZGVyaW5n LgogCQkgKi8KLQkJaWYgKHJlcXVlc3QtPnJpbmdidWYgIT0gcmluZ2J1ZikKKwkJaWYgKHRhcmdl dC0+cmluZ2J1ZiAhPSByaW5nYnVmKQogCQkJY29udGludWU7CiAKIAkJLyogV291bGQgY29tcGxl dGlvbiBvZiB0aGlzIHJlcXVlc3QgZnJlZSBlbm91Z2ggc3BhY2U/ICovCi0JCXNwYWNlID0gX19p bnRlbF9yaW5nX3NwYWNlKHJlcXVlc3QtPnBvc3RmaXgsIHJpbmdidWYtPnRhaWwsCisJCXNwYWNl ID0gX19pbnRlbF9yaW5nX3NwYWNlKHRhcmdldC0+cG9zdGZpeCwgcmluZ2J1Zi0+dGFpbCwKIAkJ CQkJICAgcmluZ2J1Zi0+c2l6ZSk7CiAJCWlmIChzcGFjZSA+PSBieXRlcykKIAkJCWJyZWFrOwog CX0KIAotCWlmIChXQVJOX09OKCZyZXF1ZXN0LT5saXN0ID09ICZyaW5nLT5yZXF1ZXN0X2xpc3Qp KQorCWlmIChXQVJOX09OKCZ0YXJnZXQtPmxpc3QgPT0gJnJpbmctPnJlcXVlc3RfbGlzdCkpCiAJ CXJldHVybiAtRU5PU1BDOwogCi0JcmV0ID0gaTkxNV93YWl0X3JlcXVlc3QocmVxdWVzdCk7CisJ cmV0ID0gaTkxNV93YWl0X3JlcXVlc3QodGFyZ2V0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0 OwogCkBAIC03MDIsNyArNjk3LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3Jpbmdfd2FpdF9mb3Jf c3BhY2Uoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsCiAKIC8qCiAgKiBpbnRlbF9s b2dpY2FsX3JpbmdfYWR2YW5jZV9hbmRfc3VibWl0KCkgLSBhZHZhbmNlIHRoZSB0YWlsIGFuZCBz dWJtaXQgdGhlIHdvcmtsb2FkCi0gKiBAcmluZ2J1ZjogTG9naWNhbCBSaW5nYnVmZmVyIHRvIGFk dmFuY2UuCisgKiBAcmVxdWVzdDogUmVxdWVzdCB0byBhZHZhbmNlIHRoZSBsb2dpY2FsIHJpbmdi dWZmZXIgb2YuCiAgKgogICogVGhlIHRhaWwgaXMgdXBkYXRlZCBpbiBvdXIgbG9naWNhbCByaW5n YnVmZmVyIHN0cnVjdCwgbm90IGluIHRoZSBhY3R1YWwgY29udGV4dC4gV2hhdAogICogcmVhbGx5 IGhhcHBlbnMgZHVyaW5nIHN1Ym1pc3Npb24gaXMgdGhhdCB0aGUgY29udGV4dCBhbmQgY3VycmVu dCB0YWlsIHdpbGwgYmUgcGxhY2VkCkBAIC03MTAsMjMgKzcwNSwyMSBAQCBzdGF0aWMgaW50IGxv Z2ljYWxfcmluZ193YWl0X2Zvcl9zcGFjZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiwKICAqIHBvaW50LCB0aGUgdGFpbCAqaW5zaWRlKiB0aGUgY29udGV4dCBpcyB1cGRhdGVkIGFu ZCB0aGUgRUxTUCB3cml0dGVuIHRvLgogICovCiBzdGF0aWMgdm9pZAotaW50ZWxfbG9naWNhbF9y aW5nX2FkdmFuY2VfYW5kX3N1Ym1pdChzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwK LQkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAotCQkJCSAgICAgIHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKK2ludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNl X2FuZF9zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogewotCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOworCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcgPSByZXF1ZXN0LT5yaW5nOwogCi0JaW50ZWxfbG9naWNhbF9yaW5n X2FkdmFuY2UocmluZ2J1Zik7CisJaW50ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2UocmVxdWVzdC0+ cmluZ2J1Zik7CiAKIAlpZiAoaW50ZWxfcmluZ19zdG9wcGVkKHJpbmcpKQogCQlyZXR1cm47CiAK LQlleGVjbGlzdHNfY29udGV4dF9xdWV1ZShyaW5nLCBjdHgsIHJpbmdidWYtPnRhaWwsIHJlcXVl c3QpOworCWV4ZWNsaXN0c19jb250ZXh0X3F1ZXVlKHJlcXVlc3QpOwogfQogCi1zdGF0aWMgaW50 IGxvZ2ljYWxfcmluZ193cmFwX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1 ZiwKLQkJCQkgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKK3N0YXRpYyBpbnQgbG9naWNh bF9yaW5nX3dyYXBfYnVmZmVyKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogewor CXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gcmVxLT5yaW5nYnVmOwogCXVpbnQz Ml90IF9faW9tZW0gKnZpcnQ7CiAJaW50IHJlbSA9IHJpbmdidWYtPnNpemUgLSByaW5nYnVmLT50 YWlsOwogCkBAIC03MzQsNyArNzI3LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3Jpbmdfd3JhcF9i dWZmZXIoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYsCiAJV0FSTl9PTihyaW5nYnVm LT5yZXNlcnZlZF9pbl91c2UpOwogCiAJaWYgKHJpbmdidWYtPnNwYWNlIDwgcmVtKSB7Ci0JCWlu dCByZXQgPSBsb2dpY2FsX3Jpbmdfd2FpdF9mb3Jfc3BhY2UocmluZ2J1ZiwgY3R4LCByZW0pOwor CQlpbnQgcmV0ID0gbG9naWNhbF9yaW5nX3dhaXRfZm9yX3NwYWNlKHJlcSwgcmVtKTsKIAogCQlp ZiAocmV0KQogCQkJcmV0dXJuIHJldDsKQEAgLTc1MSwyMiArNzQ0LDIyIEBAIHN0YXRpYyBpbnQg bG9naWNhbF9yaW5nX3dyYXBfYnVmZmVyKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVm LAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19wcmVwYXJlKHN0cnVj dCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAotCQkJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgsIGludCBieXRlcykKK3N0YXRpYyBpbnQgbG9naWNhbF9yaW5nX3ByZXBhcmUoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGludCBieXRlcykKIHsKKwlzdHJ1Y3QgaW50ZWxfcmlu Z2J1ZmZlciAqcmluZ2J1ZiA9IHJlcS0+cmluZ2J1ZjsKIAlpbnQgcmV0OwogCiAJaWYgKCFyaW5n YnVmLT5yZXNlcnZlZF9pbl91c2UpCiAJCWJ5dGVzICs9IHJpbmdidWYtPnJlc2VydmVkX3NpemU7 CiAKIAlpZiAodW5saWtlbHkocmluZ2J1Zi0+dGFpbCArIGJ5dGVzID4gcmluZ2J1Zi0+ZWZmZWN0 aXZlX3NpemUpKSB7Ci0JCXJldCA9IGxvZ2ljYWxfcmluZ193cmFwX2J1ZmZlcihyaW5nYnVmLCBj dHgpOworCQlyZXQgPSBsb2dpY2FsX3Jpbmdfd3JhcF9idWZmZXIocmVxKTsKIAkJaWYgKHVubGlr ZWx5KHJldCkpCiAJCQlyZXR1cm4gcmV0OwogCX0KIAogCWlmICh1bmxpa2VseShyaW5nYnVmLT5z cGFjZSA8IGJ5dGVzKSkgewotCQlyZXQgPSBsb2dpY2FsX3Jpbmdfd2FpdF9mb3Jfc3BhY2Uocmlu Z2J1ZiwgY3R4LCBieXRlcyk7CisJCXJldCA9IGxvZ2ljYWxfcmluZ193YWl0X2Zvcl9zcGFjZShy ZXEsIGJ5dGVzKTsKIAkJaWYgKHVubGlrZWx5KHJldCkpCiAJCQlyZXR1cm4gcmV0OwogCX0KQEAg LTgwMSw4ICs3OTQsNyBAQCBzdGF0aWMgaW50IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog Ci0JcmV0ID0gbG9naWNhbF9yaW5nX3ByZXBhcmUocmVxLT5yaW5nYnVmLCByZXEtPmN0eCwKLQkJ CQkgICBudW1fZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90KSk7CisJcmV0ID0gbG9naWNhbF9yaW5n X3ByZXBhcmUocmVxLCBudW1fZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90KSk7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIApAQCAtMTMyNyw3ICsxMzE5LDcgQEAgc3RhdGljIGludCBnZW44X2Vt aXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJaW50ZWxf bG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8ocmVx dWVzdCkpOwogCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX1VTRVJfSU5URVJS VVBUKTsKIAlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKLQlpbnRl bF9sb2dpY2FsX3JpbmdfYWR2YW5jZV9hbmRfc3VibWl0KHJpbmdidWYsIHJlcXVlc3QtPmN0eCwg cmVxdWVzdCk7CisJaW50ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2VfYW5kX3N1Ym1pdChyZXF1ZXN0 KTsKIAogCS8qCiAJICogSGVyZSB3ZSBhZGQgdHdvIGV4dHJhIE5PT1BzIGFzIHBhZGRpbmcgdG8g YXZvaWQKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==