From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 1/5] drm/i915: Use enum pipe instead of crtc index to track active pipes Date: Wed, 21 Aug 2019 20:30:29 +0300 Message-ID: <20190821173033.24123-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 382206E35B for ; Wed, 21 Aug 2019 17:30:37 +0000 (UTC) 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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCldl IG1heSBuZWVkIHRvIGVsaW1pbmF0ZSB0aGUgY3J0Yy0+aW5kZXggPT0gcGlwZSBhc3N1bXB0aW9u cyBmcm9tCnRoZSBjb2RlIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IHBpcGVzIGJlaW5nIGZ1c2VkIG9m Zi4gU3RhcnQgdGhhdCBieQpzd2l0Y2hpbmcgc29tZSBiaXRtYXNrcyBvdmVyIHRvIHVzaW5nIHBp cGUgaW5zdGVhZCBvZiB0aGUgY3J0YyBpbmRleC4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jICAgIHwgMTIgKysrKystLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8IDIwICsrKysrKysrKy0tLS0t LS0tLS0KIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCAgICB8ICA0 ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAgICAgICAgICAgfCAyMCAr KysrKysrKystLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDI5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsu YwppbmRleCBkMGJjNDJlNTAzOWMuLjkzOTA4OGM3ZDgxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jZGNsay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY2RjbGsuYwpAQCAtMjM2OSw3ICsyMzY5LDcgQEAgc3RhdGljIGlu dCB2bHZfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl KQogCXN0YXRlLT5jZGNsay5sb2dpY2FsLnZvbHRhZ2VfbGV2ZWwgPQogCQl2bHZfY2FsY192b2x0 YWdlX2xldmVsKGRldl9wcml2LCBjZGNsayk7CiAKLQlpZiAoIXN0YXRlLT5hY3RpdmVfY3J0Y3Mp IHsKKwlpZiAoIXN0YXRlLT5hY3RpdmVfcGlwZXMpIHsKIAkJY2RjbGsgPSB2bHZfY2FsY19jZGNs ayhkZXZfcHJpdiwgc3RhdGUtPmNkY2xrLmZvcmNlX21pbl9jZGNsayk7CiAKIAkJc3RhdGUtPmNk Y2xrLmFjdHVhbC5jZGNsayA9IGNkY2xrOwpAQCAtMjQwMCw3ICsyNDAwLDcgQEAgc3RhdGljIGlu dCBiZHdfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRl KQogCXN0YXRlLT5jZGNsay5sb2dpY2FsLnZvbHRhZ2VfbGV2ZWwgPQogCQliZHdfY2FsY192b2x0 YWdlX2xldmVsKGNkY2xrKTsKIAotCWlmICghc3RhdGUtPmFjdGl2ZV9jcnRjcykgeworCWlmICgh c3RhdGUtPmFjdGl2ZV9waXBlcykgewogCQljZGNsayA9IGJkd19jYWxjX2NkY2xrKHN0YXRlLT5j ZGNsay5mb3JjZV9taW5fY2RjbGspOwogCiAJCXN0YXRlLT5jZGNsay5hY3R1YWwuY2RjbGsgPSBj ZGNsazsKQEAgLTI0NzAsNyArMjQ3MCw3IEBAIHN0YXRpYyBpbnQgc2tsX21vZGVzZXRfY2FsY19j ZGNsayhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlzdGF0ZS0+Y2RjbGsubG9n aWNhbC52b2x0YWdlX2xldmVsID0KIAkJc2tsX2NhbGNfdm9sdGFnZV9sZXZlbChjZGNsayk7CiAK LQlpZiAoIXN0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKKwlpZiAoIXN0YXRlLT5hY3RpdmVfcGlwZXMp IHsKIAkJY2RjbGsgPSBza2xfY2FsY19jZGNsayhzdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xr LCB2Y28pOwogCiAJCXN0YXRlLT5jZGNsay5hY3R1YWwudmNvID0gdmNvOwpAQCAtMjUwNiw3ICsy NTA2LDcgQEAgc3RhdGljIGludCBieHRfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQogCXN0YXRlLT5jZGNsay5sb2dpY2FsLnZvbHRhZ2VfbGV2ZWwg PQogCQlieHRfY2FsY192b2x0YWdlX2xldmVsKGNkY2xrKTsKIAotCWlmICghc3RhdGUtPmFjdGl2 ZV9jcnRjcykgeworCWlmICghc3RhdGUtPmFjdGl2ZV9waXBlcykgewogCQlpZiAoSVNfR0VNSU5J TEFLRShkZXZfcHJpdikpIHsKIAkJCWNkY2xrID0gZ2xrX2NhbGNfY2RjbGsoc3RhdGUtPmNkY2xr LmZvcmNlX21pbl9jZGNsayk7CiAJCQl2Y28gPSBnbGtfZGVfcGxsX3ZjbyhkZXZfcHJpdiwgY2Rj bGspOwpAQCAtMjU0NCw3ICsyNTQ0LDcgQEAgc3RhdGljIGludCBjbmxfbW9kZXNldF9jYWxjX2Nk Y2xrKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQltYXgoY25sX2NhbGNfdm9s dGFnZV9sZXZlbChjZGNsayksCiAJCSAgICBjbmxfY29tcHV0ZV9taW5fdm9sdGFnZV9sZXZlbChz dGF0ZSkpOwogCi0JaWYgKCFzdGF0ZS0+YWN0aXZlX2NydGNzKSB7CisJaWYgKCFzdGF0ZS0+YWN0 aXZlX3BpcGVzKSB7CiAJCWNkY2xrID0gY25sX2NhbGNfY2RjbGsoc3RhdGUtPmNkY2xrLmZvcmNl X21pbl9jZGNsayk7CiAJCXZjbyA9IGNubF9jZGNsa19wbGxfdmNvKGRldl9wcml2LCBjZGNsayk7 CiAKQEAgLTI1NzgsNyArMjU3OCw3IEBAIHN0YXRpYyBpbnQgaWNsX21vZGVzZXRfY2FsY19jZGNs ayhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJbWF4KGljbF9jYWxjX3ZvbHRh Z2VfbGV2ZWwoZGV2X3ByaXYsIGNkY2xrKSwKIAkJICAgIGNubF9jb21wdXRlX21pbl92b2x0YWdl X2xldmVsKHN0YXRlKSk7CiAKLQlpZiAoIXN0YXRlLT5hY3RpdmVfY3J0Y3MpIHsKKwlpZiAoIXN0 YXRlLT5hY3RpdmVfcGlwZXMpIHsKIAkJY2RjbGsgPSBpY2xfY2FsY19jZGNsayhzdGF0ZS0+Y2Rj bGsuZm9yY2VfbWluX2NkY2xrLCByZWYpOwogCQl2Y28gPSBpY2xfY2FsY19jZGNsa19wbGxfdmNv KGRldl9wcml2LCBjZGNsayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5LmMKaW5kZXggYjUxZDFjZWI4NzM5Li43Yjc0ZGYwM2ExZWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC03MDgwLDcgKzcwODAs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2FibGVfbm9hdG9taWMoc3RydWN0IGRybV9j cnRjICpjcnRjLAogCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF91bmNoZWNrZWQoZGV2X3ByaXYs IGRvbWFpbik7CiAJaW50ZWxfY3J0Yy0+ZW5hYmxlZF9wb3dlcl9kb21haW5zID0gMDsKIAotCWRl dl9wcml2LT5hY3RpdmVfY3J0Y3MgJj0gfigxIDw8IGludGVsX2NydGMtPnBpcGUpOworCWRldl9w cml2LT5hY3RpdmVfcGlwZXMgJj0gfkJJVChpbnRlbF9jcnRjLT5waXBlKTsKIAlkZXZfcHJpdi0+ bWluX2NkY2xrW2ludGVsX2NydGMtPnBpcGVdID0gMDsKIAlkZXZfcHJpdi0+bWluX3ZvbHRhZ2Vf bGV2ZWxbaW50ZWxfY3J0Yy0+cGlwZV0gPSAwOwogCkBAIC0xMzQ1Miw3ICsxMzQ1Miw3IEBAIHN0 YXRpYyBpbnQgaW50ZWxfbW9kZXNldF9jaGVja3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCiAJCXN0YXRlLT5jZGNsay5mb3JjZV9taW5fY2RjbGsgPSBkZXZfcHJpdi0+Y2RjbGsu Zm9yY2VfbWluX2NkY2xrOwogCiAJc3RhdGUtPm1vZGVzZXQgPSB0cnVlOwotCXN0YXRlLT5hY3Rp dmVfY3J0Y3MgPSBkZXZfcHJpdi0+YWN0aXZlX2NydGNzOworCXN0YXRlLT5hY3RpdmVfcGlwZXMg PSBkZXZfcHJpdi0+YWN0aXZlX3BpcGVzOwogCXN0YXRlLT5jZGNsay5sb2dpY2FsID0gZGV2X3By aXYtPmNkY2xrLmxvZ2ljYWw7CiAJc3RhdGUtPmNkY2xrLmFjdHVhbCA9IGRldl9wcml2LT5jZGNs ay5hY3R1YWw7CiAJc3RhdGUtPmNkY2xrLnBpcGUgPSBJTlZBTElEX1BJUEU7CkBAIC0xMzQ2MCwx MiArMTM0NjAsMTIgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2NoZWNrcyhzdHJ1Y3QgaW50 ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAlmb3JfZWFjaF9vbGRuZXdfaW50ZWxfY3J0Y19pbl9z dGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsCiAJCQkJCSAgICBuZXdfY3J0Y19zdGF0 ZSwgaSkgewogCQlpZiAobmV3X2NydGNfc3RhdGUtPmJhc2UuYWN0aXZlKQotCQkJc3RhdGUtPmFj dGl2ZV9jcnRjcyB8PSAxIDw8IGk7CisJCQlzdGF0ZS0+YWN0aXZlX3BpcGVzIHw9IEJJVChjcnRj LT5waXBlKTsKIAkJZWxzZQotCQkJc3RhdGUtPmFjdGl2ZV9jcnRjcyAmPSB+KDEgPDwgaSk7CisJ CQlzdGF0ZS0+YWN0aXZlX3BpcGVzICY9IH5CSVQoY3J0Yy0+cGlwZSk7CiAKIAkJaWYgKG9sZF9j cnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSAhPSBuZXdfY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmUpCi0J CQlzdGF0ZS0+YWN0aXZlX3BpcGVfY2hhbmdlcyB8PSBkcm1fY3J0Y19tYXNrKCZjcnRjLT5iYXNl KTsKKwkJCXN0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzIHw9IEJJVChjcnRjLT5waXBlKTsKIAl9 CiAKIAkvKgpAQCAtMTM0OTQsMTEgKzEzNDk0LDExIEBAIHN0YXRpYyBpbnQgaW50ZWxfbW9kZXNl dF9jaGVja3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQkJcmV0dXJuIHJl dDsKIAkJfQogCi0JCWlmIChpc19wb3dlcl9vZl8yKHN0YXRlLT5hY3RpdmVfY3J0Y3MpKSB7CisJ CWlmIChpc19wb3dlcl9vZl8yKHN0YXRlLT5hY3RpdmVfcGlwZXMpKSB7CiAJCQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YzsKIAkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwog Ci0JCQlwaXBlID0gaWxvZzIoc3RhdGUtPmFjdGl2ZV9jcnRjcyk7CisJCQlwaXBlID0gaWxvZzIo c3RhdGUtPmFjdGl2ZV9waXBlcyk7CiAJCQljcnRjID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUo ZGV2X3ByaXYsIHBpcGUpOwogCQkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfbmV3X2Ny dGNfc3RhdGUoc3RhdGUsIGNydGMpOwogCQkJaWYgKGNydGNfc3RhdGUgJiYgbmVlZHNfbW9kZXNl dChjcnRjX3N0YXRlKSkKQEAgLTE0MTkxLDcgKzE0MTkxLDcgQEAgc3RhdGljIGludCBpbnRlbF9h dG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCSAgICAgICBzaXplb2Yoc3Rh dGUtPm1pbl9jZGNsaykpOwogCQltZW1jcHkoZGV2X3ByaXYtPm1pbl92b2x0YWdlX2xldmVsLCBz dGF0ZS0+bWluX3ZvbHRhZ2VfbGV2ZWwsCiAJCSAgICAgICBzaXplb2Yoc3RhdGUtPm1pbl92b2x0 YWdlX2xldmVsKSk7Ci0JCWRldl9wcml2LT5hY3RpdmVfY3J0Y3MgPSBzdGF0ZS0+YWN0aXZlX2Ny dGNzOworCQlkZXZfcHJpdi0+YWN0aXZlX3BpcGVzID0gc3RhdGUtPmFjdGl2ZV9waXBlczsKIAkJ ZGV2X3ByaXYtPmNkY2xrLmZvcmNlX21pbl9jZGNsayA9IHN0YXRlLT5jZGNsay5mb3JjZV9taW5f Y2RjbGs7CiAKIAkJaW50ZWxfY2RjbGtfc3dhcF9zdGF0ZShzdGF0ZSk7CkBAIC0xNjY0MCw3ICsx NjY0MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25u X2l0ZXI7CiAJaW50IGk7CiAKLQlkZXZfcHJpdi0+YWN0aXZlX2NydGNzID0gMDsKKwlkZXZfcHJp di0+YWN0aXZlX3BpcGVzID0gMDsKIAogCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7 CiAJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0KQEAgLTE2NjU3LDcgKzE2 NjU3LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfbW9kZXNldF9yZWFkb3V0X2h3X3N0YXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJCWNydGMtPmFjdGl2ZSA9IGNydGNfc3RhdGUtPmJhc2UuYWN0 aXZlOwogCiAJCWlmIChjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSkKLQkJCWRldl9wcml2LT5hY3Rp dmVfY3J0Y3MgfD0gMSA8PCBjcnRjLT5waXBlOworCQkJZGV2X3ByaXYtPmFjdGl2ZV9waXBlcyB8 PSBCSVQoY3J0Yy0+cGlwZSk7CiAKIAkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWQ6JXNdIGh3IHN0 YXRlIHJlYWRvdXQ6ICVzXG4iLAogCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLCBjcnRjLT5i YXNlLm5hbWUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV90eXBlcy5oCmluZGV4IDQ0OWFiYWVhNjE5Zi4uMTI1MjM0NTYxNDNmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaApAQCAt NDgxLDkgKzQ4MSw5IEBAIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgewogCSAqIGJ1dCB0aGUg Y29udmVyc2UgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWU7IHNpbXBseSBjaGFuZ2luZyBhIG1vZGUg bWF5CiAJICogbm90IGZsaXAgdGhlIGZpbmFsIGFjdGl2ZSBzdGF0dXMgb2YgYW55IENSVEMncwog CSAqLwotCXVuc2lnbmVkIGludCBhY3RpdmVfcGlwZV9jaGFuZ2VzOworCXU4IGFjdGl2ZV9waXBl X2NoYW5nZXM7CiAKLQl1bnNpZ25lZCBpbnQgYWN0aXZlX2NydGNzOworCXU4IGFjdGl2ZV9waXBl czsKIAkvKiBtaW5pbXVtIGFjY2VwdGFibGUgY2RjbGsgZm9yIGVhY2ggcGlwZSAqLwogCWludCBt aW5fY2RjbGtbSTkxNV9NQVhfUElQRVNdOwogCS8qIG1pbmltdW0gYWNjZXB0YWJsZSB2b2x0YWdl IGxldmVsIGZvciBlYWNoIHBpcGUgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGViMzFj MTY1NmNlYS4uZTlkZDU3OWM2Nzg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE0Njcs NyArMTQ2Nyw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkgKi8KIAlzdHJ1Y3QgbXV0 ZXggZHBsbF9sb2NrOwogCi0JdW5zaWduZWQgaW50IGFjdGl2ZV9jcnRjczsKKwl1OCBhY3RpdmVf cGlwZXM7CiAJLyogbWluaW11bSBhY2NlcHRhYmxlIGNkY2xrIGZvciBlYWNoIHBpcGUgKi8KIAlp bnQgbWluX2NkY2xrW0k5MTVfTUFYX1BJUEVTXTsKIAkvKiBtaW5pbXVtIGFjY2VwdGFibGUgdm9s dGFnZSBsZXZlbCBmb3IgZWFjaCBwaXBlICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCA3 NWVlMDI3YWJiODAuLjhkMzkwZGYwMzFhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC0z NzYxLDE4ICszNzYxLDE4IEBAIGJvb2wgaW50ZWxfY2FuX2VuYWJsZV9zYWd2KHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKnN0YXRlKQogCS8qCiAJICogSWYgdGhlcmUgYXJlIG5vIGFjdGl2ZSBD UlRDcywgbm8gYWRkaXRpb25hbCBjaGVja3MgbmVlZCBiZSBwZXJmb3JtZWQKIAkgKi8KLQlpZiAo aHdlaWdodDMyKHN0YXRlLT5hY3RpdmVfY3J0Y3MpID09IDApCisJaWYgKGh3ZWlnaHQzMihzdGF0 ZS0+YWN0aXZlX3BpcGVzKSA9PSAwKQogCQlyZXR1cm4gdHJ1ZTsKIAogCS8qCiAJICogU0tMKyB3 b3JrYXJvdW5kOiBic3BlYyByZWNvbW1lbmRzIHdlIGRpc2FibGUgU0FHViB3aGVuIHdlIGhhdmUK IAkgKiBtb3JlIHRoZW4gb25lIHBpcGUgZW5hYmxlZAogCSAqLwotCWlmIChod2VpZ2h0MzIoc3Rh dGUtPmFjdGl2ZV9jcnRjcykgPiAxKQorCWlmIChod2VpZ2h0MzIoc3RhdGUtPmFjdGl2ZV9waXBl cykgPiAxKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKiBTaW5jZSB3ZSdyZSBub3cgZ3VhcmFudGVl ZCB0byBvbmx5IGhhdmUgb25lIGFjdGl2ZSBDUlRDLi4uICovCi0JcGlwZSA9IGZmcyhzdGF0ZS0+ YWN0aXZlX2NydGNzKSAtIDE7CisJcGlwZSA9IGZmcyhzdGF0ZS0+YWN0aXZlX3BpcGVzKSAtIDE7 CiAJY3J0YyA9IGludGVsX2dldF9jcnRjX2Zvcl9waXBlKGRldl9wcml2LCBwaXBlKTsKIAljcnRj X3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsKIApAQCAtMzg2 NywxNCArMzg2NywxNCBAQCBza2xfZGRiX2dldF9waXBlX2FsbG9jYXRpb25fbGltaXRzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlpZiAoV0FSTl9PTighc3RhdGUpIHx8ICFj cnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSkgewogCQlhbGxvYy0+c3RhcnQgPSAwOwogCQlhbGxvYy0+ ZW5kID0gMDsKLQkJKm51bV9hY3RpdmUgPSBod2VpZ2h0MzIoZGV2X3ByaXYtPmFjdGl2ZV9jcnRj cyk7CisJCSpudW1fYWN0aXZlID0gaHdlaWdodDMyKGRldl9wcml2LT5hY3RpdmVfcGlwZXMpOwog CQlyZXR1cm47CiAJfQogCiAJaWYgKGludGVsX3N0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzKQot CQkqbnVtX2FjdGl2ZSA9IGh3ZWlnaHQzMihpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKTsKKwkJ Km51bV9hY3RpdmUgPSBod2VpZ2h0MzIoaW50ZWxfc3RhdGUtPmFjdGl2ZV9waXBlcyk7CiAJZWxz ZQotCQkqbnVtX2FjdGl2ZSA9IGh3ZWlnaHQzMihkZXZfcHJpdi0+YWN0aXZlX2NydGNzKTsKKwkJ Km51bV9hY3RpdmUgPSBod2VpZ2h0MzIoZGV2X3ByaXYtPmFjdGl2ZV9waXBlcyk7CiAKIAlkZGJf c2l6ZSA9IGludGVsX2dldF9kZGJfc2l6ZShkZXZfcHJpdiwgY3J0Y19zdGF0ZSwgdG90YWxfZGF0 YV9yYXRlLAogCQkJCSAgICAgICpudW1fYWN0aXZlLCBkZGIpOwpAQCAtNTQ2NCw3ICs1NDY0LDcg QEAgc2tsX2RkYl9hZGRfYWZmZWN0ZWRfcGlwZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUsIGJvb2wgKmNoYW5nZWQpCiAJICogSWYgdGhpcyB0cmFuc2FjdGlvbiBpc24ndCBhY3R1 YWxseSB0b3VjaGluZyBhbnkgQ1JUQydzLCBkb24ndAogCSAqIGJvdGhlciB3aXRoIHdhdGVybWFy ayBjYWxjdWxhdGlvbi4gIE5vdGUgdGhhdCBpZiB3ZSBwYXNzIHRoaXMKIAkgKiB0ZXN0LCB3ZSdy ZSBndWFyYW50ZWVkIHRvIGhvbGQgYXQgbGVhc3Qgb25lIENSVEMgc3RhdGUgbXV0ZXgsCi0JICog d2hpY2ggbWVhbnMgd2UgY2FuIHNhZmVseSB1c2UgdmFsdWVzIGxpa2UgZGV2X3ByaXYtPmFjdGl2 ZV9jcnRjcworCSAqIHdoaWNoIG1lYW5zIHdlIGNhbiBzYWZlbHkgdXNlIHZhbHVlcyBsaWtlIGRl dl9wcml2LT5hY3RpdmVfcGlwZXMKIAkgKiBzaW5jZSBhbnkgcmFjaW5nIGNvbW1pdHMgdGhhdCB3 YW50IHRvIHVwZGF0ZSB0aGVtIHdvdWxkIG5lZWQgdG8KIAkgKiBob2xkIF9hbGxfIENSVEMgc3Rh dGUgbXV0ZXhlcy4KIAkgKi8KQEAgLTU0ODksMTMgKzU0ODksMTMgQEAgc2tsX2RkYl9hZGRfYWZm ZWN0ZWRfcGlwZXMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsIGJvb2wgKmNoYW5n ZWQpCiAJCXN0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzID0gfjA7CiAKIAkJLyoKLQkJICogV2Ug dXN1YWxseSBvbmx5IGluaXRpYWxpemUgc3RhdGUtPmFjdGl2ZV9jcnRjcyBpZiB3ZQorCQkgKiBX ZSB1c3VhbGx5IG9ubHkgaW5pdGlhbGl6ZSBzdGF0ZS0+YWN0aXZlX3BpcGVzIGlmIHdlCiAJCSAq IHdlJ3JlIGRvaW5nIGEgbW9kZXNldDsgbWFrZSBzdXJlIHRoaXMgZmllbGQgaXMgYWx3YXlzCiAJ CSAqIGluaXRpYWxpemVkIGR1cmluZyB0aGUgc2FuaXRpemF0aW9uIHByb2Nlc3MgdGhhdCBoYXBw ZW5zCiAJCSAqIG9uIHRoZSBmaXJzdCBjb21taXQgdG9vLgogCQkgKi8KIAkJaWYgKCFzdGF0ZS0+ bW9kZXNldCkKLQkJCXN0YXRlLT5hY3RpdmVfY3J0Y3MgPSBkZXZfcHJpdi0+YWN0aXZlX2NydGNz OworCQkJc3RhdGUtPmFjdGl2ZV9waXBlcyA9IGRldl9wcml2LT5hY3RpdmVfcGlwZXM7CiAJfQog CiAJLyoKQEAgLTU4MTEsNyArNTgxMSw3IEBAIHZvaWQgc2tsX3dtX2dldF9od19zdGF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCQlody0+ZGlydHlfcGlwZXMgfD0gZHJt X2NydGNfbWFzaygmY3J0Yy0+YmFzZSk7CiAJfQogCi0JaWYgKGRldl9wcml2LT5hY3RpdmVfY3J0 Y3MpIHsKKwlpZiAoZGV2X3ByaXYtPmFjdGl2ZV9waXBlcykgewogCQkvKiBGdWxseSByZWNvbXB1 dGUgRERCIG9uIGZpcnN0IGF0b21pYyBjb21taXQgKi8KIAkJZGV2X3ByaXYtPndtLmRpc3RydXN0 X2Jpb3Nfd20gPSB0cnVlOwogCX0KLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4