From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuman Gupta Subject: [PATCH v9 6/7] drm/i915/tgl: switch between dc3co and dc5 based on display idleness Date: Thu, 26 Sep 2019 20:26:20 +0530 Message-ID: <20190926145621.9090-7-anshuman.gupta@intel.com> References: <20190926145621.9090-1-anshuman.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 79C4A6ED45 for ; Thu, 26 Sep 2019 15:02:55 +0000 (UTC) In-Reply-To: <20190926145621.9090-1-anshuman.gupta@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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org REMzQ08gaXMgdXNlZnVsIHBvd2VyIHN0YXRlLCB3aGVuIERNQyBkZXRlY3RzIFBTUjIgaWRsZSBm cmFtZQp3aGlsZSBhbiBhY3RpdmUgdmlkZW8gcGxheWJhY2ssIHBsYXlpbmcgMzBmcHMgdmlkZW8g b24gNjBoeiBwYW5lbAppcyB0aGUgY2xhc3NpYyBleGFtcGxlIG9mIHRoaXMgdXNlIGNhc2UuCgpC LlNwZWNzOjQ5MTk2IGhhcyBhIHJlc3RyaWN0aW9uIHRvIGVuYWJsZSBEQzNDTyBvbmx5IGZvciBW aWRlbyBQbGF5YmFjay4KSXQgd2lsbCBiZSB3b3J0aHkgdG8gZW5hYmxlIERDM0NPIGFmdGVyIGNv bXBsZXRpb24gb2YgZWFjaCBwYWdlZmxpcAphbmQgc3dpdGNoIGJhY2sgdG8gREM1IHdoZW4gZGlz cGxheSBpcyBpZGxlIGJlY2F1c2UgZHJpdmVyIGRvZXNuJ3QKZGlmZmVyZW50aWF0ZSBiZXR3ZWVu IHZpZGVvIHBsYXliYWNrIGFuZCBhIG5vcm1hbCBwYWdlZmxpcC4KV2Ugd2lsbCB1c2UgRnJvbnRi dWZmZXIgZmx1c2ggY2FsbCB0Z2xfZGMzY29fZmx1c2goKSB0byBlbmFibGUgREMzQ08Kc3RhdGUg b25seSBmb3IgT1JJR0lOX0ZMSVAgZmx1c2ggY2FsbCwgYmVjYXVzZSBEQzNDTyBzdGF0ZSBoYXMg cHJpbWFyaWx5CnRhcmdldGVkIGZvciBWUEIgdXNlIGNhc2UuIFdlIGFyZSBub3QgaW50ZXJlc3Rl ZCBoZXJlIGZvciBmcm9udGJ1ZmZlcgppbnZhbGlkYXRlcyBjYWxscyBiZWNhdXNlIHRoYXQgdHJp Z2dlcnMgUFNSMiBleGl0LCB3aGljaCB3aWxsCmV4cGxpY2l0bHkgZGlzYWJsZSBEQzNDTy4KCkRD NSBhbmQgREM2IHNhdmVzIG1vcmUgcG93ZXIsIGJ1dCBjYW4ndCBiZSBlbnRlcmVkIGR1cmluZyB2 aWRlbwpwbGF5YmFjayBiZWNhdXNlIHRoZXJlIGFyZSBub3QgZW5vdWdoIGlkbGUgZnJhbWVzIGlu IGEgcm93IHRvIG1lZXQKbW9zdCBQU1IyIHBhbmVsIGRlZXAgc2xlZXAgZW50cnkgcmVxdWlyZW1l bnQgdHlwaWNhbGx5IDQgZnJhbWVzLgpBcyBQU1IyIGV4aXN0aW5nIGltcGxlbWVudGF0aW9uIGlz IHVzaW5nIG1pbmltdW0gNiBpZGxlIGZyYW1lcyBmb3IKZGVlcCBzbGVlcCwgaXQgaXMgc2FmZXIg dG8gZW5hYmxlIERDNS82IGFmdGVyIDYgaWRsZSBmcmFtZXMKKEJ5IHNjaGVkdWxpbmcgYSBkZWxh eWVkIHdvcmsgb2YgNiBpZGxlIGZyYW1lcywgb25jZSBEQzNDTyBoYXMgYmVlbgplbmFibGVkIGFm dGVyIGEgcGFnZWZsaXApLgoKQWZ0ZXIgbWFudWFsbHkgd2FpdGluZyBmb3IgNiBpZGxlIGZyYW1l cyBEQzUvNiB3aWxsIGJlIGVuYWJsZWQgYW5kClBTUjIgZGVlcCBzbGVlcCBpZGxlIGZyYW1lcyB3 aWxsIGJlIHJlc3RvcmVkIHRvIDYgaWRsZSBmcmFtZXMsIGF0IHRoaXMKcG9pbnQgRE1DIHdpbGwg dHJpZ2dlcnMgREM1LzYgb25jZSBQU1IyIGVudGVycyB0byBkZWVwIHNsZWVwIGFmdGVyCjYgaWRs ZSBmcmFtZXMuCkluIGZ1dHVyZSB3aGVuIHdlIHdpbGwgZW5hYmxlIFMvVyBQU1IyIHRyYWNraW5n LCB3ZSBjYW4gY2hhbmdlIHRoZQpQU1IyIHJlcXVpcmVkIGRlZXAgc2xlZXAgaWRsZSBmcmFtZXMg dG8gMSBzbyBETUMgY2FuIHRyaWdnZXIgdGhlCkRDNS82IGltbWVkaWF0ZWx5IGFmdGVyIFMvVyBt YW51YWwgd2FpdGluZyBvZiA2IGlkbGUgZnJhbWVzIGdldApjb21wbGV0ZS4KCnYyOiBjYWxjdWxh dGVkIHMvdyBzdGF0ZSB0byBzd2l0Y2ggb3ZlciBkYzNjbyB3aGVuIHRoZXJlIGlzIGFuCiAgICB1 cGRhdGUuIFtJbXJlXQogICAgVXNlZCBjYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoKSBpbiBvcmRl ciB0byBhdm9pZCBhbnkgcmFjZQogICAgd2l0aCBhbHJlYWR5IHNjaGVkdWxlZCBkZWxheWVkIHdv cmsuIFtJbXJlXQp2MzogQ2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCkgbWF5IGJsb2NrZWQgdGhl IGNvbW1pdCB3b3JrLgogICAgaGVuY2UgZHJvcHBpbmcgaXQsIGRjNV9pZGxlX3RocmVhZCgpIGNo ZWNrcyB0aGUgdmFsaWQgd2FrZXJlZiBiZWZvcmUKICAgIHB1dHRpbmcgdGhlIHJlZmVyZW5jZSBj b3VudCwgd2hpY2ggYXZvaWRzIGFueSBjaGFuY2VzIG9mIGRyb3BwaW5nCiAgICBhIHplcm8gd2Fr ZXJlZi4gW0ltcmUgKElSQyldCnY0OiBVc2VkIGZyb250YnVmZmVyIGZsdXNoIG1lY2hhbmlzbS4g W0ltcmVdCnY1OiBVc2VkIHBzci5waXBlIHRvIGV4dHJhY3QgZnJvbnRidWZmZXIgYnVzeSBiaXRz LiBbSW1yZV0KICAgIFVzZWQgY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCkgaW4gZW5jb2RlciBk aXNhYmxlIHBhdGguIFtJbXJlXQogICAgVXNlZCBtb2RfZGVsYXllZF93b3JrKCkgaW5zdGVhZCBv ZiBjYW5jZWxsaW5nIGFuZCBzY2hlZHVsaW5nIGEKICAgIGRlbGF5ZWQgd29yay4gW0ltcmVdCiAg ICBVc2VkIHBzci5sb2NrIGluIHRnbF9kYzVfaWRsZV90aHJlYWQoKSB0byBlbmFibGUgcHNyMiBk ZWVwCiAgICBzbGVlcC4gW0ltcmVdCiAgICBSZW1vdmVkIERDNV9SRVFfSURMRV9GUkFNRVMgbWFj cm8uIFtJbXJlXQp2NjogSW5pdGVkIHRoZSBidXN5X2Zyb250YnVmZmVyX2JpdHMsIHVzZWQgZGMz Y29fZXhpdGxpbmUgY2hlY2sgaW5zdGVhZAogICAgb2YgVEdMIGFuZCBkYzNjbyBhbGxvd2VkX2Rj X21hc2sgY2hlY2tzLCB1c2VkIGRlbGF5ZWRfd29ya19wZW5kaW5nCiAgICB3aXRoIHRoZSBwc3Ig bG9jayBhbmQgcmVtb3ZlZCB0aGUgcHNyMl9kZWVwX3NscF9kaXNhYmxlZCBmbGFnLiBbSW1yZV0K CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxp bXJlLmRlYWtAaW50ZWwuY29tPgpDYzogQW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRl bC5jb20+ClNpZ25lZC1vZmYtYnk6IEFuc2h1bWFuIEd1cHRhIDxhbnNodW1hbi5ndXB0YUBpbnRl bC5jb20+Ci0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5jICAg IHwgODQgKysrKysrKysrKysrKysrKysrKwogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlz cGxheV9wb3dlci5oICAgIHwgIDQgKwogLi4uL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zy b250YnVmZmVyLmMgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9w c3IuYyAgICAgIHwgMzQgKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfcHNyLmggICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICAgICAgICB8ICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93 ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5j CmluZGV4IDg0ZTRjZmQ5NWI0My4uMDBiYjgyZTZhMThmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIuYwpAQCAtMjAsNiArMjAsNyBA QAogI2luY2x1ZGUgImludGVsX3NpZGViYW5kLmgiCiAjaW5jbHVkZSAiaW50ZWxfdGMuaCIKICNp bmNsdWRlICJpbnRlbF9wbS5oIgorI2luY2x1ZGUgImludGVsX3Bzci5oIgogCiBib29sIGludGVs X2Rpc3BsYXlfcG93ZXJfd2VsbF9pc19lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQkJIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHBvd2VyX3dlbGxfaWQpOwpA QCAtNzk3LDYgKzc5OCw5IEBAIHZvaWQgdGdsX2NsZWFyX3BzcjJfdHJhbnNjb2Rlcl9leGl0bGlu ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogCXZhbCA9IEk5MTVfUkVB RChFWElUTElORShjc3RhdGUtPmNwdV90cmFuc2NvZGVyKSk7CiAJdmFsICY9IH4oRVhJVExJTkVf TUFTSyB8IEVYSVRMSU5FX0VOQUJMRSk7CiAJSTkxNV9XUklURShFWElUTElORShjc3RhdGUtPmNw dV90cmFuc2NvZGVyKSwgdmFsKTsKKworCS8qIEFzIHBzcjIgZW5jb2RlciBoYXMgZGlzYWJsZWQs IGNhbmNlbCB0aGUgZGM1IGlkbGUgZGVsYXllZCB3b3JrICovCisJY2FuY2VsX2RlbGF5ZWRfd29y a19zeW5jKCZkZXZfcHJpdi0+Y3NyLmlkbGVfd29yayk7CiB9CiAKIHZvaWQgdGdsX3NldF9wc3Iy X3RyYW5zY29kZXJfZXhpdGxpbmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSkKQEAgLTgxNiw2ICs4MjAsMTkgQEAgdm9pZCB0Z2xfc2V0X3BzcjJfdHJhbnNjb2Rlcl9leGl0 bGluZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQogCUk5MTVfV1JJVEUo RVhJVExJTkUoY3N0YXRlLT5jcHVfdHJhbnNjb2RlciksIHZhbCk7CiB9CiAKK3N0YXRpYyB1MzIg aW50ZWxfZ2V0X2ZyYW1lX3RpbWVfdXMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNz dGF0ZSkKK3sKKwl1MzIgZnJhbWV0aW1lX3VzOworCisJaWYgKCFjc3RhdGUgfHwgIWNzdGF0ZS0+ YmFzZS5hY3RpdmUpCisJCXJldHVybiAwOworCisJZnJhbWV0aW1lX3VzID0gRElWX1JPVU5EX1VQ KDEwMDAqMTAwMCwKKwkJCQkgICAgZHJtX21vZGVfdnJlZnJlc2goJmNzdGF0ZS0+YmFzZS5hZGp1 c3RlZF9tb2RlKSk7CisKKwlyZXR1cm4gZnJhbWV0aW1lX3VzOworfQorCiAvKgogICogREMzQ08g cmVxdWlyZXMgdG8gZW5hYmxlIGV4aXRsaW5lIGFuZCBwcm9ncmFtIERDM0NPIHJlcXVpcmVzCiAg KiBleGl0IHNjYW5saW5lcyB0byBUUkFOU19FWElUTElORSByZWdpc3Rlciwgd2hpY2ggc2hvdWxk IG9ubHkKQEAgLTg3Miw2ICs4ODksNzIgQEAgdm9pZCB0Z2xfZGMzY29fZXhpdGxpbmVfZ2V0X2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJY3J0Y19zdGF0ZS0+ ZGMzY29fZXhpdGxpbmUgPSB2YWwgJiBFWElUTElORV9NQVNLOwogfQogCisvKgorICogV2hlbiB3 ZSB3aWxsIGVuYWJsZSBtYW51YWwgUFNSMiBTL1cgdHJhY2tpbmcgaW4gZnV0dXJlCisgKiB3ZSB3 aWxsIGltcGxlbWVudCB0aGlzIGVudGlyZSBEQzNDTyBmbHVzaCBsb2dpYyBpbgorICogaW50ZWxf cHNyX2ZsdXNoKCkuCisgKi8KK3ZvaWQgdGdsX2RjM2NvX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKKwkJICAgICB1bnNpZ25lZCBpbnQgZnJvbnRidWZmZXJfYml0cywg ZW51bSBmYl9vcF9vcmlnaW4gb3JpZ2luKQoreworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGU7CisJc3RydWN0IGludGVsX2NydGMgKmNydGM7CisJdTMyIGRlbGF5OworCisJaWYgKCFD QU5fUFNSKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJaWYgKG9yaWdpbiAhPSBPUklHSU5fRkxJ UCkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBzci5sb2NrKTsKKworCWlm ICghZGV2X3ByaXYtPnBzci5kYzNjb19leGl0bGluZSkKKwkJZ290byB1bmxvY2s7CisKKwljcnRj ID0gaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUoZGV2X3ByaXYsIGRldl9wcml2LT5wc3IucGlwZSk7 CisJY3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsKKworCWlm ICghZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJsZWQgfHwgIWRldl9wcml2LT5wc3IuYWN0aXZlKQor CQlnb3RvIHVubG9jazsKKworCS8qCisJICogQXQgZXZlcnkgZmxpcCBmcm9udGJ1ZmZlciBmbHVz aCBtb2RpZmllZCBkZWxheSBvZiBkZWxheWVkIHdvcmssCisJICogd2hlbiBkZWxheWVkIHNjaGVk dWxlcyB0aGF0IG1lYW5zIGRpc3BsYXkgaGFzIGJlZW4gaWRsZS4KKwkgKi8KKwl0Z2xfcHNyMl9k ZWVwX3NsZWVwX2Rpc2FibGUoZGV2X3ByaXYpOworCXRnbF9zZXRfdGFyZ2V0X2RjX3N0YXRlKGRl dl9wcml2LCBEQ19TVEFURV9FTl9EQzNDTyk7CisJLyogREM1L0RDNiByZXF1aXJlZCBpZGxlIGZy YW1lcyA9IDYgKi8KKwlkZWxheSA9IDYgKiBpbnRlbF9nZXRfZnJhbWVfdGltZV91cyhjc3RhdGUp OworCW1vZF9kZWxheWVkX3dvcmsoc3lzdGVtX3dxLCAmZGV2X3ByaXYtPmNzci5pZGxlX3dvcmss CisJCQkgdXNlY3NfdG9famlmZmllcyhkZWxheSkpOworCit1bmxvY2s6CisJbXV0ZXhfdW5sb2Nr KCZkZXZfcHJpdi0+cHNyLmxvY2spOworfQorCit2b2lkIHRnbF9lbmFibGVfcHNyMl9kZWVwX3Ns ZWVwX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJdGdsX3NldF90 YXJnZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0VOX1VQVE9fREM2KTsKKwl0Z2xfcHNy Ml9kZWVwX3NsZWVwX2VuYWJsZShkZXZfcHJpdik7Cit9CisKK3N0YXRpYyB2b2lkIHRnbF9kYzVf aWRsZV90aHJlYWQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9CisJCWNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKmRldl9w cml2KSwgY3NyLmlkbGVfd29yay53b3JrKTsKKworCW11dGV4X2xvY2soJmRldl9wcml2LT5wc3Iu bG9jayk7CisJLyogSWYgZGVsYXllZCB3b3JrIGlzIHBlbmRpbmcsIGl0IGlzIG5vdCBpZGxlICov CisJaWYgKGRlbGF5ZWRfd29ya19wZW5kaW5nKCZkZXZfcHJpdi0+Y3NyLmlkbGVfd29yaykpCisJ CWdvdG8gdW5sb2NrOworCisJRFJNX0RFQlVHX0tNUygiREM1LzYgaWRsZSB0aHJlYWRcbiIpOwor CXRnbF9lbmFibGVfcHNyMl9kZWVwX3NsZWVwX2RjNihkZXZfcHJpdik7Cit1bmxvY2s6CisJbXV0 ZXhfdW5sb2NrKCZkZXZfcHJpdi0+cHNyLmxvY2spOworfQorCiBzdGF0aWMgdm9pZAogYWxsb3dl ZF9kY19tYXNrX3RvX3RhcmdldF9kY19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiB7CkBAIC00MjQxLDYgKzQzMjQsNyBAQCBpbnQgaW50ZWxfcG93ZXJfZG9tYWluc19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCUlOSVRfREVMQVlFRF9X T1JLKCZwb3dlcl9kb21haW5zLT5hc3luY19wdXRfd29yaywKIAkJCSAgaW50ZWxfZGlzcGxheV9w b3dlcl9wdXRfYXN5bmNfd29yayk7CisJSU5JVF9ERUxBWUVEX1dPUksoJmRldl9wcml2LT5jc3Iu aWRsZV93b3JrLCB0Z2xfZGM1X2lkbGVfdGhyZWFkKTsKIAogCS8qCiAJICogVGhlIGVuYWJsaW5n IG9yZGVyIHdpbGwgYmUgZnJvbSBsb3dlciB0byBoaWdoZXIgaW5kZXhlZCB3ZWxscywKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmgKaW5k ZXggNGU3NmY5M2JiZWU1Li4wZWJkZWFiMjZkOGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oCkBAIC0xMCw2ICsxMCw3IEBACiAj aW5jbHVkZSAiaW50ZWxfcnVudGltZV9wbS5oIgogI2luY2x1ZGUgImludGVsX3Nwcml0ZS5oIgog I2luY2x1ZGUgImk5MTVfcmVnLmgiCisjaW5jbHVkZSAiaW50ZWxfZnJvbnRidWZmZXIuaCIKIAog c3RydWN0IGRybV9pOTE1X3ByaXZhdGU7CiBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKQEAgLTI2Niw2 ICsyNjcsOSBAQCB2b2lkIHRnbF9kYzNjb19leGl0bGluZV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIHZvaWQgdGdsX2RjM2NvX2V4aXRsaW5lX2dldF9jb25m aWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwogdm9pZCB0Z2xfY2xlYXJf cHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpz dGF0ZSk7CiB2b2lkIHRnbF9zZXRfcHNyMl90cmFuc2NvZGVyX2V4aXRsaW5lKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSk7Cit2b2lkIHRnbF9kYzNjb19mbHVzaChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCSAgICAgdW5zaWduZWQgaW50IGZyb250YnVm ZmVyX2JpdHMsIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbik7Cit2b2lkIHRnbF9lbmFibGVfcHNy Ml9kZWVwX3NsZWVwX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiBj b25zdCBjaGFyICoKIGludGVsX2Rpc3BsYXlfcG93ZXJfZG9tYWluX3N0cihlbnVtIGludGVsX2Rp c3BsYXlfcG93ZXJfZG9tYWluIGRvbWFpbik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Zyb250YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Zyb250YnVmZmVyLmMKaW5kZXggZmM0MGRjMWZkYmNjLi5jM2IxMGY2ZTQz ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZnJvbnRi dWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Zyb250YnVm ZmVyLmMKQEAgLTkwLDYgKzkwLDcgQEAgc3RhdGljIHZvaWQgZnJvbnRidWZmZXJfZmx1c2goc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJbWlnaHRfc2xlZXAoKTsKIAlpbnRlbF9lZHBf ZHJyc19mbHVzaChpOTE1LCBmcm9udGJ1ZmZlcl9iaXRzKTsKIAlpbnRlbF9wc3JfZmx1c2goaTkx NSwgZnJvbnRidWZmZXJfYml0cywgb3JpZ2luKTsKKwl0Z2xfZGMzY29fZmx1c2goaTkxNSwgZnJv bnRidWZmZXJfYml0cywgb3JpZ2luKTsKIAlpbnRlbF9mYmNfZmx1c2goaTkxNSwgZnJvbnRidWZm ZXJfYml0cywgb3JpZ2luKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf cHNyLmMKaW5kZXggYmYwYjc0MWQzMjQzLi41ZmFhZjM1YmE0ZmYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwpAQCAtNTM0LDEwICs1MzQsNDQgQEAgdHJhbnNjb2Rl cl9oYXNfcHNyMihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gdHJhbnNj b2RlciB0cmFucykKIAkJcmV0dXJuIHRyYW5zID09IFRSQU5TQ09ERVJfRURQOwogfQogCitzdGF0 aWMgdm9pZCBwc3IyX3Byb2dyYW1faWRsZV9mcmFtZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAorCQkJCSAgICAgdTMyIGlkbGVfZnJhbWVzKQoreworCXUzMiB2YWw7CisKKwlp ZGxlX2ZyYW1lcyA8PD0gIEVEUF9QU1IyX0lETEVfRlJBTUVfU0hJRlQ7CisJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKKwl2YWwgJj0gfkVE UF9QU1IyX0lETEVfRlJBTUVfTUFTSzsKKwl2YWwgfD0gaWRsZV9mcmFtZXM7CisJSTkxNV9XUklU RShFRFBfUFNSMl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgdmFsKTsKK30KKwordm9p ZCB0Z2xfcHNyMl9kZWVwX3NsZWVwX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQoreworCXBzcjJfcHJvZ3JhbV9pZGxlX2ZyYW1lcyhkZXZfcHJpdiwgMCk7Cit9CisK K3ZvaWQgdGdsX3BzcjJfZGVlcF9zbGVlcF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCWludCBpZGxlX2ZyYW1lczsKKworCS8qCisJICogTGV0J3MgdXNlIDYg YXMgdGhlIG1pbmltdW0gdG8gY292ZXIgYWxsIGtub3duIGNhc2VzIGluY2x1ZGluZyB0aGUKKwkg KiBvZmYtYnktb25lIGlzc3VlIHRoYXQgSFcgaGFzIGluIHNvbWUgY2FzZXMuCisJICovCisJaWRs ZV9mcmFtZXMgPSBtYXgoNiwgZGV2X3ByaXYtPnZidC5wc3IuaWRsZV9mcmFtZXMpOworCWlkbGVf ZnJhbWVzID0gbWF4KGlkbGVfZnJhbWVzLCBkZXZfcHJpdi0+cHNyLnNpbmtfc3luY19sYXRlbmN5 ICsgMSk7CisJcHNyMl9wcm9ncmFtX2lkbGVfZnJhbWVzKGRldl9wcml2LCBpZGxlX2ZyYW1lcyk7 Cit9CisKIHN0YXRpYyB2b2lkIHRnbF9kaXNhbGxvd19kYzNjb19vbl9wc3IyX2V4aXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWlmICghZGV2X3ByaXYtPnBzci5kYzNj b19leGl0bGluZSkKIAkJcmV0dXJuOworCisJY2FuY2VsX2RlbGF5ZWRfd29yaygmZGV2X3ByaXYt PmNzci5pZGxlX3dvcmspOworCS8qIEJlZm9yZSBQU1IyIGV4aXQgZGlzYWxsb3cgZGMzY28qLwor CXRnbF9lbmFibGVfcHNyMl9kZWVwX3NsZWVwX2RjNihkZXZfcHJpdik7CiB9CiAKIHN0YXRpYyBi b29sIGludGVsX3BzcjJfY29uZmlnX3ZhbGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuaAppbmRleCA0NmU0ZGU4YjhjZDUu Ljc1YTk4NjJmMzZmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9wc3IuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5o CkBAIC0zNSw1ICszNSw3IEBAIHZvaWQgaW50ZWxfcHNyX3Nob3J0X3B1bHNlKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApOwogaW50IGludGVsX3Bzcl93YWl0X2Zvcl9pZGxlKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwKIAkJCSAgICB1MzIgKm91dF92YWx1 ZSk7CiBib29sIGludGVsX3Bzcl9lbmFibGVkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwor dm9pZCB0Z2xfcHNyMl9kZWVwX3NsZWVwX2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKK3ZvaWQgdGdsX3BzcjJfZGVlcF9zbGVlcF9lbmFibGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAogI2VuZGlmIC8qIF9fSU5URUxfUFNSX0hfXyAqLwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYzNhYmEwNzgyNjJmLi5lZDNkZDQ3NTdmNzIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzQwLDYgKzM0MCw3IEBAIHN0cnVjdCBpbnRlbF9j c3IgewogCXUzMiBkY19zdGF0ZTsKIAl1MzIgdGFyZ2V0X2RjX3N0YXRlOwogCXUzMiBhbGxvd2Vk X2RjX21hc2s7CisJc3RydWN0IGRlbGF5ZWRfd29yayBpZGxlX3dvcms7CiAJaW50ZWxfd2FrZXJl Zl90IHdha2VyZWY7CiB9OwogCi0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA==