From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 3/6] drm/i915: use intel_crtc for the FBC functions Date: Tue, 7 Jul 2015 15:26:05 -0300 Message-ID: <1436293568-1674-4-git-send-email-przanoni@gmail.com> References: <1436293568-1674-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f180.google.com (mail-qk0-f180.google.com [209.85.220.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 030286EA35 for ; Tue, 7 Jul 2015 11:26:57 -0700 (PDT) Received: by qkeo142 with SMTP id o142so146247915qke.1 for ; Tue, 07 Jul 2015 11:26:56 -0700 (PDT) In-Reply-To: <1436293568-1674-1-git-send-email-przanoni@gmail.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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpUaGlzIGlzIGFs bCBpbnRlcm5hbCBpOTE1LmtvIHdvcmssIGxldCdzIHN0YXJ0IHVzaW5nIGludGVsX2NydGMgZm9y CmV2ZXJ5dGhpbmcuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25p QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICB8ICA0ICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyB8IDc5ICsrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygr KSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggN2Y3NWZmMy4u NGVmMTc2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC05MTgsNyArOTE4LDcgQEAgc3Ry dWN0IGk5MTVfZmJjIHsKIAogCXN0cnVjdCBpbnRlbF9mYmNfd29yayB7CiAJCXN0cnVjdCBkZWxh eWVkX3dvcmsgd29yazsKLQkJc3RydWN0IGRybV9jcnRjICpjcnRjOworCQlzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YzsKIAkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7CiAJfSAqZmJjX3dvcms7 CiAKQEAgLTkzOCw3ICs5MzgsNyBAQCBzdHJ1Y3QgaTkxNV9mYmMgewogCX0gbm9fZmJjX3JlYXNv bjsKIAogCWJvb2wgKCpmYmNfZW5hYmxlZCkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKLQl2b2lkICgqZW5hYmxlX2ZiYykoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKKwl2b2lk ICgqZW5hYmxlX2ZiYykoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwogCXZvaWQgKCpkaXNhYmxl X2ZiYykoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIH07CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJjLmMKaW5kZXggNDQ5ZGJlNC4uOWVmNWI2YyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZmJjLmMKQEAgLTY0LDEyICs2NCwxMSBAQCBzdGF0aWMgdm9pZCBpOHh4X2ZiY19kaXNhYmxl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlEUk1fREVCVUdfS01TKCJkaXNh YmxlZCBGQkNcbiIpOwogfQogCi1zdGF0aWMgdm9pZCBpOHh4X2ZiY19lbmFibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgaTh4eF9mYmNfZW5hYmxlKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMt PmRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBjcnRjLT5w cmltYXJ5LT5mYjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5i YXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBjcnRj LT5iYXNlLnByaW1hcnktPmZiOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBp bnRlbF9mYl9vYmooZmIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKIAlpbnQgY2ZiX3BpdGNoOwogCWludCBpOwogCXUzMiBmYmNfY3RsOwpA QCAtOTYsOSArOTUsOSBAQCBzdGF0aWMgdm9pZCBpOHh4X2ZiY19lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCiAJCS8qIFNldCBpdCB1cC4uLiAqLwogCQlmYmNfY3RsMiA9IEZCQ19DVExf RkVOQ0VfREJMIHwgRkJDX0NUTF9JRExFX0lNTSB8IEZCQ19DVExfQ1BVX0ZFTkNFOwotCQlmYmNf Y3RsMiB8PSBGQkNfQ1RMX1BMQU5FKGludGVsX2NydGMtPnBsYW5lKTsKKwkJZmJjX2N0bDIgfD0g RkJDX0NUTF9QTEFORShjcnRjLT5wbGFuZSk7CiAJCUk5MTVfV1JJVEUoRkJDX0NPTlRST0wyLCBm YmNfY3RsMik7Ci0JCUk5MTVfV1JJVEUoRkJDX0ZFTkNFX09GRiwgY3J0Yy0+eSk7CisJCUk5MTVf V1JJVEUoRkJDX0ZFTkNFX09GRiwgY3J0Yy0+YmFzZS55KTsKIAl9CiAKIAkvKiBlbmFibGUgaXQu Li4gKi8KQEAgLTExMiw3ICsxMTEsNyBAQCBzdGF0aWMgdm9pZCBpOHh4X2ZiY19lbmFibGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQogCUk5MTVfV1JJVEUoRkJDX0NPTlRST0wsIGZiY19jdGwpOwog CiAJRFJNX0RFQlVHX0tNUygiZW5hYmxlZCBGQkMsIHBpdGNoICVkLCB5b2ZmICVkLCBwbGFuZSAl Y1xuIiwKLQkJICAgICAgY2ZiX3BpdGNoLCBjcnRjLT55LCBwbGFuZV9uYW1lKGludGVsX2NydGMt PnBsYW5lKSk7CisJCSAgICAgIGNmYl9waXRjaCwgY3J0Yy0+YmFzZS55LCBwbGFuZV9uYW1lKGNy dGMtPnBsYW5lKSk7CiB9CiAKIHN0YXRpYyBib29sIGk4eHhfZmJjX2VuYWJsZWQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQpAQCAtMTIwLDI5ICsxMTksMjggQEAgc3RhdGljIGJv b2wgaTh4eF9mYmNfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ cmV0dXJuIEk5MTVfUkVBRChGQkNfQ09OVFJPTCkgJiBGQkNfQ1RMX0VOOwogfQogCi1zdGF0aWMg dm9pZCBnNHhfZmJjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBn NHhfZmJjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+YmFzZS5kZXYtPmRldl9wcml2YXRlOworCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+YmFzZS5wcmltYXJ5LT5mYjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJdTMyIGRwZmNfY3Rs OwogCiAJZGV2X3ByaXYtPmZiYy5lbmFibGVkID0gdHJ1ZTsKIAotCWRwZmNfY3RsID0gRFBGQ19D VExfUExBTkUoaW50ZWxfY3J0Yy0+cGxhbmUpIHwgRFBGQ19TUl9FTjsKKwlkcGZjX2N0bCA9IERQ RkNfQ1RMX1BMQU5FKGNydGMtPnBsYW5lKSB8IERQRkNfU1JfRU47CiAJaWYgKGRybV9mb3JtYXRf cGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApID09IDIpCiAJCWRwZmNfY3RsIHw9IERQRkNf Q1RMX0xJTUlUXzJYOwogCWVsc2UKIAkJZHBmY19jdGwgfD0gRFBGQ19DVExfTElNSVRfMVg7CiAJ ZHBmY19jdGwgfD0gRFBGQ19DVExfRkVOQ0VfRU4gfCBvYmotPmZlbmNlX3JlZzsKIAotCUk5MTVf V1JJVEUoRFBGQ19GRU5DRV9ZT0ZGLCBjcnRjLT55KTsKKwlJOTE1X1dSSVRFKERQRkNfRkVOQ0Vf WU9GRiwgY3J0Yy0+YmFzZS55KTsKIAogCS8qIGVuYWJsZSBpdC4uLiAqLwogCUk5MTVfV1JJVEUo RFBGQ19DT05UUk9MLCBkcGZjX2N0bCB8IERQRkNfQ1RMX0VOKTsKIAotCURSTV9ERUJVR19LTVMo ImVuYWJsZWQgZmJjIG9uIHBsYW5lICVjXG4iLCBwbGFuZV9uYW1lKGludGVsX2NydGMtPnBsYW5l KSk7CisJRFJNX0RFQlVHX0tNUygiZW5hYmxlZCBmYmMgb24gcGxhbmUgJWNcbiIsIHBsYW5lX25h bWUoY3J0Yy0+cGxhbmUpKTsKIH0KIAogc3RhdGljIHZvaWQgZzR4X2ZiY19kaXNhYmxlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTE3MiwxOCArMTcwLDE3IEBAIHN0YXRp YyB2b2lkIGludGVsX2ZiY19udWtlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK IAlQT1NUSU5HX1JFQUQoTVNHX0ZCQ19SRU5EX1NUQVRFKTsKIH0KIAotc3RhdGljIHZvaWQgaWxr X2ZiY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgaWxrX2ZiY19l bmFibGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IGNydGMtPnByaW1hcnktPmZiOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYiA9IGNydGMtPmJhc2UucHJpbWFyeS0+ZmI7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7Ci0Jc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCXUzMiBkcGZjX2N0bDsKIAlpbnQg dGhyZXNob2xkID0gZGV2X3ByaXYtPmZiYy50aHJlc2hvbGQ7CiAKIAlkZXZfcHJpdi0+ZmJjLmVu YWJsZWQgPSB0cnVlOwogCi0JZHBmY19jdGwgPSBEUEZDX0NUTF9QTEFORShpbnRlbF9jcnRjLT5w bGFuZSk7CisJZHBmY19jdGwgPSBEUEZDX0NUTF9QTEFORShjcnRjLT5wbGFuZSk7CiAJaWYgKGRy bV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApID09IDIpCiAJCXRocmVzaG9s ZCsrOwogCkBAIC0yMDMsNyArMjAwLDcgQEAgc3RhdGljIHZvaWQgaWxrX2ZiY19lbmFibGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQogCWlmIChJU19HRU41KGRldl9wcml2KSkKIAkJZHBmY19jdGwg fD0gb2JqLT5mZW5jZV9yZWc7CiAKLQlJOTE1X1dSSVRFKElMS19EUEZDX0ZFTkNFX1lPRkYsIGNy dGMtPnkpOworCUk5MTVfV1JJVEUoSUxLX0RQRkNfRkVOQ0VfWU9GRiwgY3J0Yy0+YmFzZS55KTsK IAlJOTE1X1dSSVRFKElMS19GQkNfUlRfQkFTRSwgaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9i aikgfCBJTEtfRkJDX1JUX1ZBTElEKTsKIAkvKiBlbmFibGUgaXQuLi4gKi8KIAlJOTE1X1dSSVRF KElMS19EUEZDX0NPTlRST0wsIGRwZmNfY3RsIHwgRFBGQ19DVExfRU4pOwpAQCAtMjExLDEyICsy MDgsMTIgQEAgc3RhdGljIHZvaWQgaWxrX2ZiY19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQogCWlmIChJU19HRU42KGRldl9wcml2KSkgewogCQlJOTE1X1dSSVRFKFNOQl9EUEZDX0NUTF9T QSwKIAkJCSAgIFNOQl9DUFVfRkVOQ0VfRU5BQkxFIHwgb2JqLT5mZW5jZV9yZWcpOwotCQlJOTE1 X1dSSVRFKERQRkNfQ1BVX0ZFTkNFX09GRlNFVCwgY3J0Yy0+eSk7CisJCUk5MTVfV1JJVEUoRFBG Q19DUFVfRkVOQ0VfT0ZGU0VULCBjcnRjLT5iYXNlLnkpOwogCX0KIAogCWludGVsX2ZiY19udWtl KGRldl9wcml2KTsKIAotCURSTV9ERUJVR19LTVMoImVuYWJsZWQgZmJjIG9uIHBsYW5lICVjXG4i LCBwbGFuZV9uYW1lKGludGVsX2NydGMtPnBsYW5lKSk7CisJRFJNX0RFQlVHX0tNUygiZW5hYmxl ZCBmYmMgb24gcGxhbmUgJWNcbiIsIHBsYW5lX25hbWUoY3J0Yy0+cGxhbmUpKTsKIH0KIAogc3Rh dGljIHZvaWQgaWxrX2ZiY19kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKQEAgLTI0MCwxMiArMjM3LDExIEBAIHN0YXRpYyBib29sIGlsa19mYmNfZW5hYmxlZChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJcmV0dXJuIEk5MTVfUkVBRChJTEtfRFBG Q19DT05UUk9MKSAmIERQRkNfQ1RMX0VOOwogfQogCi1zdGF0aWMgdm9pZCBnZW43X2ZiY19lbmFi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQorc3RhdGljIHZvaWQgZ2VuN19mYmNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIgPSBjcnRjLT5wcmltYXJ5LT5mYjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIgPSBjcnRjLT5iYXNlLnByaW1hcnktPmZiOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwotCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAl1MzIgZHBmY19jdGw7CiAJaW50IHRocmVzaG9s ZCA9IGRldl9wcml2LT5mYmMudGhyZXNob2xkOwogCkBAIC0yNTMsNyArMjQ5LDcgQEAgc3RhdGlj IHZvaWQgZ2VuN19mYmNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCWRwZmNfY3Rs ID0gMDsKIAlpZiAoSVNfSVZZQlJJREdFKGRldl9wcml2KSkKLQkJZHBmY19jdGwgfD0gSVZCX0RQ RkNfQ1RMX1BMQU5FKGludGVsX2NydGMtPnBsYW5lKTsKKwkJZHBmY19jdGwgfD0gSVZCX0RQRkNf Q1RMX1BMQU5FKGNydGMtPnBsYW5lKTsKIAogCWlmIChkcm1fZm9ybWF0X3BsYW5lX2NwcChmYi0+ cGl4ZWxfZm9ybWF0LCAwKSA9PSAyKQogCQl0aHJlc2hvbGQrKzsKQEAgLTI4NSwxOCArMjgxLDE4 IEBAIHN0YXRpYyB2b2lkIGdlbjdfZmJjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJ CQkgICBJTEtfRkJDUV9ESVMpOwogCX0gZWxzZSB7CiAJCS8qIFdhRmJjQXN5bmNoRmxpcERpc2Fi bGVGYmNRdWV1ZTpoc3csYmR3ICovCi0JCUk5MTVfV1JJVEUoQ0hJQ0tFTl9QSVBFU0xfMShpbnRl bF9jcnRjLT5waXBlKSwKLQkJCSAgIEk5MTVfUkVBRChDSElDS0VOX1BJUEVTTF8xKGludGVsX2Ny dGMtPnBpcGUpKSB8CisJCUk5MTVfV1JJVEUoQ0hJQ0tFTl9QSVBFU0xfMShjcnRjLT5waXBlKSwK KwkJCSAgIEk5MTVfUkVBRChDSElDS0VOX1BJUEVTTF8xKGNydGMtPnBpcGUpKSB8CiAJCQkgICBI U1dfRkJDUV9ESVMpOwogCX0KIAogCUk5MTVfV1JJVEUoU05CX0RQRkNfQ1RMX1NBLAogCQkgICBT TkJfQ1BVX0ZFTkNFX0VOQUJMRSB8IG9iai0+ZmVuY2VfcmVnKTsKLQlJOTE1X1dSSVRFKERQRkNf Q1BVX0ZFTkNFX09GRlNFVCwgY3J0Yy0+eSk7CisJSTkxNV9XUklURShEUEZDX0NQVV9GRU5DRV9P RkZTRVQsIGNydGMtPmJhc2UueSk7CiAKIAlpbnRlbF9mYmNfbnVrZShkZXZfcHJpdik7CiAKLQlE Uk1fREVCVUdfS01TKCJlbmFibGVkIGZiYyBvbiBwbGFuZSAlY1xuIiwgcGxhbmVfbmFtZShpbnRl bF9jcnRjLT5wbGFuZSkpOworCURSTV9ERUJVR19LTVMoImVuYWJsZWQgZmJjIG9uIHBsYW5lICVj XG4iLCBwbGFuZV9uYW1lKGNydGMtPnBsYW5lKSk7CiB9CiAKIC8qKgpAQCAtMzE3LDE5ICszMTMs MjAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICpf X3dvcmspCiAJc3RydWN0IGludGVsX2ZiY193b3JrICp3b3JrID0KIAkJY29udGFpbmVyX29mKHRv X2RlbGF5ZWRfd29yayhfX3dvcmspLAogCQkJICAgICBzdHJ1Y3QgaW50ZWxfZmJjX3dvcmssIHdv cmspOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHdvcmstPmNydGMtPmRl di0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gd29y ay0+Y3J0Yy0+YmFzZS5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmNydGNfZmIgPSB3b3JrLT5jcnRjLT5iYXNlLnByaW1hcnktPmZiOwogCiAJbXV0ZXhfbG9jaygm ZGV2X3ByaXYtPmZiYy5sb2NrKTsKIAlpZiAod29yayA9PSBkZXZfcHJpdi0+ZmJjLmZiY193b3Jr KSB7CiAJCS8qIERvdWJsZSBjaGVjayB0aGF0IHdlIGhhdmVuJ3Qgc3dpdGNoZWQgZmIgd2l0aG91 dCBjYW5jZWxsaW5nCiAJCSAqIHRoZSBwcmlvciB3b3JrLgogCQkgKi8KLQkJaWYgKHdvcmstPmNy dGMtPnByaW1hcnktPmZiID09IHdvcmstPmZiKSB7CisJCWlmIChjcnRjX2ZiID09IHdvcmstPmZi KSB7CiAJCQlkZXZfcHJpdi0+ZmJjLmVuYWJsZV9mYmMod29yay0+Y3J0Yyk7CiAKLQkJCWRldl9w cml2LT5mYmMuY3J0YyA9IHRvX2ludGVsX2NydGMod29yay0+Y3J0Yyk7Ci0JCQlkZXZfcHJpdi0+ ZmJjLmZiX2lkID0gd29yay0+Y3J0Yy0+cHJpbWFyeS0+ZmItPmJhc2UuaWQ7Ci0JCQlkZXZfcHJp di0+ZmJjLnkgPSB3b3JrLT5jcnRjLT55OworCQkJZGV2X3ByaXYtPmZiYy5jcnRjID0gd29yay0+ Y3J0YzsKKwkJCWRldl9wcml2LT5mYmMuZmJfaWQgPSBjcnRjX2ZiLT5iYXNlLmlkOworCQkJZGV2 X3ByaXYtPmZiYy55ID0gd29yay0+Y3J0Yy0+YmFzZS55OwogCQl9CiAKIAkJZGV2X3ByaXYtPmZi Yy5mYmNfd29yayA9IE5VTEw7CkBAIC0zNjQsMTAgKzM2MSwxMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9mYmNfY2FuY2VsX3dvcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWRl dl9wcml2LT5mYmMuZmJjX3dvcmsgPSBOVUxMOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9mYmNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lkIGludGVsX2ZiY19lbmFi bGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGludGVsX2ZiY193b3JrICp3 b3JrOwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmRldi0+ZGV2 X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+YmFz ZS5kZXYtPmRldl9wcml2YXRlOwogCiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJp di0+ZmJjLmxvY2spKTsKIApAQCAtMzgxLDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2Zi Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCX0KIAogCXdvcmstPmNydGMgPSBjcnRj OwotCXdvcmstPmZiID0gY3J0Yy0+cHJpbWFyeS0+ZmI7CisJd29yay0+ZmIgPSBjcnRjLT5iYXNl LnByaW1hcnktPmZiOwogCUlOSVRfREVMQVlFRF9XT1JLKCZ3b3JrLT53b3JrLCBpbnRlbF9mYmNf d29ya19mbik7CiAKIAlkZXZfcHJpdi0+ZmJjLmZiY193b3JrID0gd29yazsKQEAgLTgwNSw3ICs4 MDIsNyBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX2ZiY191cGRhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCQlfX2ludGVsX2ZiY19kaXNhYmxlKGRldl9wcml2KTsKIAl9CiAK LQlpbnRlbF9mYmNfZW5hYmxlKGNydGMpOworCWludGVsX2ZiY19lbmFibGUoaW50ZWxfY3J0Yyk7 CiAJZGV2X3ByaXYtPmZiYy5ub19mYmNfcmVhc29uID0gRkJDX09LOwogCXJldHVybjsKIApAQCAt ODUyLDcgKzg0OSw3IEBAIHZvaWQgaW50ZWxfZmJjX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQlmYmNfYml0cyA9IElOVEVMX0ZST05UQlVGRkVSX1BSSU1B UlkoZGV2X3ByaXYtPmZiYy5jcnRjLT5waXBlKTsKIAllbHNlIGlmIChkZXZfcHJpdi0+ZmJjLmZi Y193b3JrKQogCQlmYmNfYml0cyA9IElOVEVMX0ZST05UQlVGRkVSX1BSSU1BUlkoCi0JCQl0b19p bnRlbF9jcnRjKGRldl9wcml2LT5mYmMuZmJjX3dvcmstPmNydGMpLT5waXBlKTsKKwkJCQkJZGV2 X3ByaXYtPmZiYy5mYmNfd29yay0+Y3J0Yy0+cGlwZSk7CiAJZWxzZQogCQlmYmNfYml0cyA9IGRl dl9wcml2LT5mYmMucG9zc2libGVfZnJhbWVidWZmZXJfYml0czsKIAotLSAKMi4xLjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==