From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B1F96E4FB for ; Fri, 15 Mar 2019 19:01:46 +0000 (UTC) From: Prathap Kumar Valsan Date: Fri, 15 Mar 2019 15:15:55 -0400 Message-Id: <20190315191555.6792-1-prathap.kumar.valsan@intel.com> In-Reply-To: <20190215214608.32021-1-prathap.kumar.valsan@intel.com> References: <20190215214608.32021-1-prathap.kumar.valsan@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v7] i915/gem_mocs_settings: Add mocs table for icelake List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org, Chris Wilson , Lis Tomasz Cc: De Marchi Lucas List-ID: RnJvbTogIkt1bWFyIFZhbHNhbiwgUHJhdGhhcCIgPHByYXRoYXAua3VtYXIudmFsc2FuQGludGVs LmNvbT4KClRoaXMgcGF0Y2ggYWRkcyBtb2NzIHRhYmxlIGZvciBpY2VsYWtlIHdpdGggZXhwZWN0 ZWQgTDMgYW5kIGVEUkFNCmNvbnRyb2wgdmFsdWVzLgoKU2lnbmVkLW9mZi1ieTogS3VtYXIgVmFs c2FuLCBQcmF0aGFwIDxwcmF0aGFwLmt1bWFyLnZhbHNhbkBpbnRlbC5jb20+Ci0tLQpDaGFuZ2Vz IGluIHY3OgotIFRlc3Rpbmcgbm9uLXByaXZpbGVnZWQgd3JpdGUgdG8gTU9DUyBpcyBkcm9wcGVk CiAgYnkgaC93IGFuZCBjbGllbnRzIGFyZSBpc29sYXRlZCBoYXMgbW92ZWQgdG8gYSAKICBuZXcg c3VidGVzdC4gVGhpcyBzdWJ0ZXN0IHdpbGwgYmUgaW52b2tlZCBwZXIKICBlbmdpbmUoc3VnZ2Vz dGVkIGJ5IENocmlzIFdpbHNvbikKQ2hhbmdlcyBpbiB2NjoKLSBXZSBuZWVkIHRvIHRlc3Qgbm9u LXByaXZpbGVnZWQgd3JpdGUgdG8gTU9DUwogIGlzIGRyb3BwZWQgYnkgdGhlIGhhcmR3YXJlLihz dWdnZXN0ZWQgYnkgQ2hyaXMgV2lsc29uKQpDaGFuZ2VzIGluIHY1OgotIEFzIG1vY3MgdGFibGUg aXMgZ2xvYmFsLCB0ZXN0IG5lZWQgbm90IHdyaXRlCiAgbW9jcyB0YWJsZS4gQmVsb3cgamlyYSBo YXMgdGhlIGRpc2N1c3Npb24uIAogIGh0dHBzOi8vamlyYS5kZXZ0b29scy5pbnRlbC5jb20vYnJv d3NlL1ZMSy0xNTY3CkNoYW5nZXMgaW4gdjQ6Ci0gTDMgY29udHJvbCByZWdpc3RlcnMgYXJlIGds b2JhbCBpbiBpY2VsYWtlLgogIFRlc3QgdmFsaWRhdGVzIHRoYXQgZGlydHkgd3JpdGVzIGZyb20g dXNlcnNwYWNlCiAgdG8gTDMgY29udHJvbCByZWdpc3RlcnMgYXJlIGJlaW5nIGRyb3BwZWQuIApD aGFuZ2VzIGluIHYzOgotIFRoZXJlIGFyZSBob2xlcyBpbiB0aGUgbW9jcyB0YWJsZShMdWNhcyBQ b2ludGVkIG91dCkuCiAgSW4gaWNlbGFrZSBpbmRleCAxNiBhbmQgMTcgYXJlIHJlc2VydmVkLgog IFNvIHRlc3Qgc2hvdWxkbid0IGJlIGNoZWNraW5nIHRoZW0uCkNoYW5nZXMgaW4gdjI6Ci0gQ2xl YW5lZCB1cCB0aGUgY29kZSBiYXNlZCBvbiByZXZpZXcKICBjb21tZW50cyBmcm9tIEx1Y2FzIGFu ZCBDaHJpcwoKIHRlc3RzL2k5MTUvZ2VtX21vY3Nfc2V0dGluZ3MuYyB8IDE0NyArKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygr KSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0 aW5ncy5jIGIvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5ncy5jCmluZGV4IDViM2I2YmMxLi5j MjA1YTcyNiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5ncy5jCisrKyBi L3Rlc3RzL2k5MTUvZ2VtX21vY3Nfc2V0dGluZ3MuYwpAQCAtMzIsNyArMzIsOSBAQAogI2luY2x1 ZGUgImlndF9wZXJmLmgiCiAjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCiAKLSNkZWZpbmUgTUFYX05V TUJFUl9NT0NTX1JFR0lTVEVSUwkoNjQpCisjZGVmaW5lIEdFTjlfTlVNX01PQ1NfRU5UUklFUyAg IDYyICAvKiA2MiBvdXQgb2YgNjQgLSA2MyAmIDY0IGFyZSByZXNlcnZlZC4gKi8KKyNkZWZpbmUg R0VOMTFfTlVNX01PQ1NfRU5UUklFUyAgNjQgIC8qIDYzLTY0IGFyZSByZXNlcnZlZCwgYnV0IGNv bmZpZ3VyZWQuICovCisKIGVudW0gewogCU5PTkUsCiAJUkVTRVQsCkBAIC02MSwxMCArNjMsMTMg QEAgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB0ZXN0X21vZGVzW10gPSB7CiAjZGVmaW5lIEdF TjlfTUZYMV9NT0NTXzAJKDB4Y0EwMCkJLyogTWVkaWEgMSBNT0NTIGJhc2UgcmVnaXN0ZXIqLwog I2RlZmluZSBHRU45X1ZFQk9YX01PQ1NfMAkoMHhjQjAwKQkvKiBWaWRlbyBNT0NTIGJhc2UgcmVn aXN0ZXIqLwogI2RlZmluZSBHRU45X0JMVF9NT0NTXzAJCSgweGNjMDApCS8qIEJsaXR0ZXIgTU9D UyBiYXNlIHJlZ2lzdGVyKi8KKyNkZWZpbmUgSUNFTEFLRV9NT0NTX1BURQl7MHgwMDAwMDAwNCwg MHgwMDMwLCAweDF9CisjZGVmaW5lIE1PQ1NfUFRFCQl7MHgwMDAwMDAzOCwgMHgwMDMwLCAweDF9 CiAKIHN0cnVjdCBtb2NzX2VudHJ5IHsKIAl1aW50MzJfdAljb250cm9sX3ZhbHVlOwogCXVpbnQx Nl90CWwzY2NfdmFsdWU7CisJdWludDhfdCAJdXNlZDsKIH07CiAKIHN0cnVjdCBtb2NzX3RhYmxl IHsKQEAgLTczLDM1ICs3OCw1OCBAQCBzdHJ1Y3QgbW9jc190YWJsZSB7CiB9OwogCiAvKiBUaGUg Zmlyc3QgZW50cmllcyBpbiB0aGUgTU9DUyB0YWJsZXMgYXJlIGRlZmluZWQgYnkgdUFCSSAqLwot c3RhdGljIGNvbnN0IHN0cnVjdCBtb2NzX2VudHJ5IHNreWxha2VfbW9jc190YWJsZVtdID0gewot CXsgMHgwMDAwMDAwOSwgMHgwMDEwIH0sCi0JeyAweDAwMDAwMDM4LCAweDAwMzAgfSwKLQl7IDB4 MDAwMDAwM2IsIDB4MDAzMCB9LAorc3RhdGljIGNvbnN0IHN0cnVjdCBtb2NzX2VudHJ5IGljZWxh a2VfbW9jc190YWJsZVtHRU4xMV9OVU1fTU9DU19FTlRSSUVTXSA9IHsKKwlbMF0gID0geyAweDAw MDAwMDA1LCAweDAwMTAsIDB4MX0sCisJWzFdICA9IElDRUxBS0VfTU9DU19QVEUsCisJWzJdICA9 IHsgMHgwMDAwMDAzNywgMHgwMDMwLCAweDF9LAorCVszXSAgPSB7IDB4MDAwMDAwMDUsIDB4MDAx MCwgMHgxfSwKKwlbNF0gID0geyAweDAwMDAwMDA1LCAweDAwMzAsIDB4MX0sCisJWzVdICA9IHsg MHgwMDAwMDAzNywgMHgwMDEwLCAweDF9LAorCVs2XSAgPSB7IDB4MDAwMDAwMTcsIDB4MDAxMCwg MHgxfSwKKwlbN10gID0geyAweDAwMDAwMDE3LCAweDAwMzAsIDB4MX0sCisJWzhdICA9IHsgMHgw MDAwMDAyNywgMHgwMDEwLCAweDF9LAorCVs5XSAgPSB7IDB4MDAwMDAwMjcsIDB4MDAzMCwgMHgx fSwKKwlbMTBdID0geyAweDAwMDAwMDc3LCAweDAwMTAsIDB4MX0sCisJWzExXSA9IHsgMHgwMDAw MDA3NywgMHgwMDMwLCAweDF9LAorCVsxMl0gPSB7IDB4MDAwMDAwNTcsIDB4MDAxMCwgMHgxfSwK KwlbMTNdID0geyAweDAwMDAwMDU3LCAweDAwMzAsIDB4MX0sCisJWzE0XSA9IHsgMHgwMDAwMDA2 NywgMHgwMDEwLCAweDF9LAorCVsxNV0gPSB7IDB4MDAwMDAwNjcsIDB4MDAzMCwgMHgxfSwKKwlb MThdID0geyAweDAwMDYwMDM3LCAweDAwMzAsIDB4MX0sCisJWzE5XSA9IHsgMHgwMDAwMDczNywg MHgwMDMwLCAweDF9LAorCVsyMF0gPSB7IDB4MDAwMDAzMzcsIDB4MDAzMCwgMHgxfSwKKwlbMjFd ID0geyAweDAwMDAwMTM3LCAweDAwMzAsIDB4MX0sCisJWzIyXSA9IHsgMHgwMDAwMDNiNywgMHgw MDMwLCAweDF9LAorCVsyM10gPSB7IDB4MDAwMDA3YjcsIDB4MDAzMCwgMHgxfSwKKwlbMjQgLi4u IDYxXSA9IElDRUxBS0VfTU9DU19QVEUsCisJWzYyXSA9IHsgMHgwMDAwMDAzNywgMHgwMDEwLCAw eDF9LAorCVs2M10gPSB7IDB4MDAwMDAwMzcsIDB4MDAxMCwgMHgxfSwKK307CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbW9jc19lbnRyeSBza3lsYWtlX21vY3NfdGFibGVbR0VOOV9OVU1fTU9DU19F TlRSSUVTXSA9IHsKKwlbMF0gPSB7IDB4MDAwMDAwMDksIDB4MDAxMCwgMHgxfSwKKwlbMV0gPSBN T0NTX1BURSwKKwlbMl0gPSB7IDB4MDAwMDAwM2IsIDB4MDAzMCwgMHgxfSwKKwlbMyAuLi4gR0VO OV9OVU1fTU9DU19FTlRSSUVTIC0gMV0gPSBNT0NTX1BURSwKIH07CiAKLXN0YXRpYyBjb25zdCBz dHJ1Y3QgbW9jc19lbnRyeSBkaXJ0eV9za3lsYWtlX21vY3NfdGFibGVbXSA9IHsKLQl7IDB4MDAw MDNGRkYsIDB4MDAzRiB9LCAvKiBubyBzbm9vcCBiaXQgKi8KLQl7IDB4MDAwMDNGRkYsIDB4MDAz RiB9LAotCXsgMHgwMDAwM0ZGRiwgMHgwMDNGIH0sCitzdGF0aWMgY29uc3Qgc3RydWN0IG1vY3Nf ZW50cnkgZGlydHlfc2t5bGFrZV9tb2NzX3RhYmxlW0dFTjlfTlVNX01PQ1NfRU5UUklFU10gPSB7 CisJWzAgLi4uIEdFTjlfTlVNX01PQ1NfRU5UUklFUyAtIDFdID0geyAweDAwMDAzRkZGLCAweDAw M0YsIDB4MSB9LAogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBtb2NzX2VudHJ5IGJyb3h0b25f bW9jc190YWJsZVtdID0gewotCXsgMHgwMDAwMDAwOSwgMHgwMDEwIH0sCi0JeyAweDAwMDAwMDM4 LCAweDAwMzAgfSwKLQl7IDB4MDAwMDAwMzksIDB4MDAzMCB9LAorc3RhdGljIGNvbnN0IHN0cnVj dCBtb2NzX2VudHJ5IGJyb3h0b25fbW9jc190YWJsZVtHRU45X05VTV9NT0NTX0VOVFJJRVNdID0g eworCVswXSA9IHsgMHgwMDAwMDAwOSwgMHgwMDEwLCAweDF9LAorCVsxXSA9IE1PQ1NfUFRFLAor CVsyXSA9IHsgMHgwMDAwMDAzOSwgMHgwMDMwLCAweDF9LAorCVszIC4uLiBHRU45X05VTV9NT0NT X0VOVFJJRVMgLSAxXSA9IE1PQ1NfUFRFLAogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBtb2Nz X2VudHJ5IGRpcnR5X2Jyb3h0b25fbW9jc190YWJsZVtdID0gewotCXsgMHgwMDAwN0ZGRiwgMHgw MDNGIH0sCi0JeyAweDAwMDA3RkZGLCAweDAwM0YgfSwKLQl7IDB4MDAwMDdGRkYsIDB4MDAzRiB9 LAorc3RhdGljIGNvbnN0IHN0cnVjdCBtb2NzX2VudHJ5IGRpcnR5X2Jyb3h0b25fbW9jc190YWJs ZVtHRU45X05VTV9NT0NTX0VOVFJJRVNdID0geworCVswIC4uLiBHRU45X05VTV9NT0NTX0VOVFJJ RVMgLSAxXSA9IHsgMHgwMDAwN0ZGRiwgMHgwMDNGLCAweDEgfSwKIH07CiAKLXN0YXRpYyBjb25z dCB1aW50MzJfdCB3cml0ZV92YWx1ZXNbXSA9IHsKLQkweEZGRkZGRkZGLAotCTB4RkZGRkZGRkYs Ci0JMHhGRkZGRkZGRiwKLQkweEZGRkZGRkZGCitzdGF0aWMgY29uc3QgdWludDMyX3Qgd3JpdGVf dmFsdWVzW0dFTjlfTlVNX01PQ1NfRU5UUklFU10gPSB7CisJWzAgLi4uIEdFTjlfTlVNX01PQ1Nf RU5UUklFUyAtIDFdID0gMHhGRkZGRkZGRiwKIH07CiAKIHN0YXRpYyBib29sIGdldF9tb2NzX3Nl dHRpbmdzKGludCBmZCwgc3RydWN0IG1vY3NfdGFibGUgKnRhYmxlLCBib29sIGRpcnR5KQpAQCAt MTI3LDYgKzE1NSwxMCBAQCBzdGF0aWMgYm9vbCBnZXRfbW9jc19zZXR0aW5ncyhpbnQgZmQsIHN0 cnVjdCBtb2NzX3RhYmxlICp0YWJsZSwgYm9vbCBkaXJ0eSkKIAkJCXRhYmxlLT50YWJsZSA9IGJy b3h0b25fbW9jc190YWJsZTsKIAkJfQogCQlyZXN1bHQgPSB0cnVlOworCX0gZWxzZSBpZiAoSVNf SUNFTEFLRShkZXZpZCkpIHsKKwkJdGFibGUtPnNpemUgID0gQVJSQVlfU0laRShpY2VsYWtlX21v Y3NfdGFibGUpOworCQl0YWJsZS0+dGFibGUgPSBpY2VsYWtlX21vY3NfdGFibGU7CisJCXJlc3Vs dCA9IHRydWU7CiAJfQogCiAJcmV0dXJuIHJlc3VsdDsKQEAgLTIzOCw3ICsyNzAsOCBAQCBzdGF0 aWMgdm9pZCB3cml0ZV9yZWdpc3RlcnMoaW50IGZkLAogCQkJICAgIHVpbnQzMl90IHJlZ19iYXNl LAogCQkJICAgIGNvbnN0IHVpbnQzMl90ICp2YWx1ZXMsCiAJCQkgICAgdWludDMyX3Qgc2l6ZSwK LQkJCSAgICB1aW50MzJfdCBlbmdpbmVfaWQpCisJCQkgICAgdWludDMyX3QgZW5naW5lX2lkLAor CQkJICAgIGJvb2wgcHJpdmlsZWdlZCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2Jq ZWN0MiBvYmo7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwpAQCAt MjU0LDcgKzI4NywxMCBAQCBzdGF0aWMgdm9pZCB3cml0ZV9yZWdpc3RlcnMoaW50IGZkLAogCWV4 ZWNidWYuYnVmZmVyX2NvdW50ID0gMTsKIAlleGVjYnVmLmJhdGNoX2xlbiA9IGNyZWF0ZV93cml0 ZV9iYXRjaChiYXRjaCwgdmFsdWVzLCBzaXplLCByZWdfYmFzZSk7CiAJaTkxNV9leGVjYnVmZmVy Ml9zZXRfY29udGV4dF9pZChleGVjYnVmLCBjdHhfaWQpOwotCWV4ZWNidWYuZmxhZ3MgPSBJOTE1 X0VYRUNfU0VDVVJFIHwgZW5naW5lX2lkOworCWlmIChwcml2aWxlZ2VkKQorCQlleGVjYnVmLmZs YWdzID0gSTkxNV9FWEVDX1NFQ1VSRSB8IGVuZ2luZV9pZDsKKwllbHNlCisJCWV4ZWNidWYuZmxh Z3MgPSBlbmdpbmVfaWQ7CiAKIAlnZW1fd3JpdGUoZmQsIGhhbmRsZSwgMCwgYmF0Y2gsIGV4ZWNi dWYuYmF0Y2hfbGVuKTsKIAlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwpAQCAtMjgzLDkgKzMx OSwxMiBAQCBzdGF0aWMgdm9pZCBjaGVja19jb250cm9sX3JlZ2lzdGVycyhpbnQgZmQsCiAJcmVh ZF9yZWdzID0gZ2VtX21tYXBfX2NwdShmZCwgZHN0X2hhbmRsZSwgMCwgNDA5NiwgUFJPVF9SRUFE KTsKIAogCWdlbV9zZXRfZG9tYWluKGZkLCBkc3RfaGFuZGxlLCBJOTE1X0dFTV9ET01BSU5fQ1BV LCAwKTsKLQlmb3IgKGludCBpbmRleCA9IDA7IGluZGV4IDwgdGFibGUuc2l6ZTsgaW5kZXgrKykK Kwlmb3IgKGludCBpbmRleCA9IDA7IGluZGV4IDwgdGFibGUuc2l6ZTsgaW5kZXgrKykgeworCQlp ZiAoIXRhYmxlLnRhYmxlW2luZGV4XS51c2VkKQorCQkJY29udGludWU7CiAJCWlndF9hc3NlcnRf ZXFfdTMyKHJlYWRfcmVnc1tpbmRleF0sCiAJCQkJICB0YWJsZS50YWJsZVtpbmRleF0uY29udHJv bF92YWx1ZSk7CisJfQogCiAJbXVubWFwKHJlYWRfcmVncywgNDA5Nik7CiAJZ2VtX2Nsb3NlKGZk LCBkc3RfaGFuZGxlKTsKQEAgLTMxNSwxMCArMzU0LDE0IEBAIHN0YXRpYyB2b2lkIGNoZWNrX2wz Y2NfcmVnaXN0ZXJzKGludCBmZCwKIAlnZW1fc2V0X2RvbWFpbihmZCwgZHN0X2hhbmRsZSwgSTkx NV9HRU1fRE9NQUlOX0NQVSwgMCk7CiAKIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZS5z aXplIC8gMjsgaW5kZXgrKykgewotCQlpZ3RfYXNzZXJ0X2VxX3UzMihyZWFkX3JlZ3NbaW5kZXhd ICYgMHhmZmZmLAotCQkJCSAgdGFibGUudGFibGVbaW5kZXggKiAyXS5sM2NjX3ZhbHVlKTsKLQkJ aWd0X2Fzc2VydF9lcV91MzIocmVhZF9yZWdzW2luZGV4XSA+PiAxNiwKLQkJCQkgIHRhYmxlLnRh YmxlW2luZGV4ICogMiArIDFdLmwzY2NfdmFsdWUpOworCQlpZiAodGFibGUudGFibGVbaW5kZXgg KiAyXS51c2VkKSB7CisJCQlpZ3RfYXNzZXJ0X2VxX3UzMihyZWFkX3JlZ3NbaW5kZXhdICYgMHhm ZmZmLAorCQkJCQkgIHRhYmxlLnRhYmxlW2luZGV4ICogMl0ubDNjY192YWx1ZSk7CisJCX0KKwkJ aWYgKHRhYmxlLnRhYmxlW2luZGV4ICogMiArIDFdLnVzZWQpIHsKKwkJCWlndF9hc3NlcnRfZXFf dTMyKHJlYWRfcmVnc1tpbmRleF0gPj4gMTYsCisJCQkJCSAgdGFibGUudGFibGVbaW5kZXggKiAy ICsgMV0ubDNjY192YWx1ZSk7CisJCX0KIAl9CiAKIAlpZiAodGFibGUuc2l6ZSAmIDEpCkBAIC0z NzIsMTYgKzQxNSwyMyBAQCBzdGF0aWMgdm9pZCBjaGVja19tb2NzX3ZhbHVlcyhpbnQgZmQsIHVu c2lnbmVkIGVuZ2luZSwgdWludDMyX3QgY3R4X2lkLCBib29sIGRpcgogCQljaGVja19sM2NjX3Jl Z2lzdGVycyhmZCwgZW5naW5lLCBjdHhfaWQsIGRpcnR5KTsKIH0KIAotc3RhdGljIHZvaWQgd3Jp dGVfZGlydHlfbW9jcyhpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSwgdWludDMyX3QgY3R4X2lkKQor c3RhdGljIHZvaWQgd3JpdGVfZGlydHlfbW9jcyhpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSwgdWlu dDMyX3QgY3R4X2lkLCBib29sIHByaXZpbGVnZWQpCiB7CisJaW50IG51bV9vZl9tb2NzX2VudHJp ZXM7CisKKwlpZiAoaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQpKSA+PSAxMSkKKwkJ bnVtX29mX21vY3NfZW50cmllcyA9IEdFTjExX05VTV9NT0NTX0VOVFJJRVM7CisJZWxzZQorCQlu dW1fb2ZfbW9jc19lbnRyaWVzID0gR0VOOV9OVU1fTU9DU19FTlRSSUVTOworCiAJd3JpdGVfcmVn aXN0ZXJzKGZkLCBjdHhfaWQsIGdldF9lbmdpbmVfYmFzZShlbmdpbmUpLAotCQkJd3JpdGVfdmFs dWVzLCBBUlJBWV9TSVpFKHdyaXRlX3ZhbHVlcyksCi0JCQllbmdpbmUpOworCQkJd3JpdGVfdmFs dWVzLCBudW1fb2ZfbW9jc19lbnRyaWVzLAorCQkJZW5naW5lLCBwcml2aWxlZ2VkKTsKIAogCWlm IChlbmdpbmUgPT0gSTkxNV9FWEVDX1JFTkRFUikKIAkJd3JpdGVfcmVnaXN0ZXJzKGZkLCBjdHhf aWQsIEdFTjlfTE5DRkNNT0NTMCwKLQkJCQl3cml0ZV92YWx1ZXMsIEFSUkFZX1NJWkUod3JpdGVf dmFsdWVzKSwKLQkJCQllbmdpbmUpOworCQkJCXdyaXRlX3ZhbHVlcywgbnVtX29mX21vY3NfZW50 cmllcy8yLAorCQkJCWVuZ2luZSwgcHJpdmlsZWdlZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJ1bl90 ZXN0KGludCBmZCwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25lZCBmbGFncywgdW5zaWduZWQgbW9k ZSkKQEAgLTM5MCw2ICs0NDAsMTMgQEAgc3RhdGljIHZvaWQgcnVuX3Rlc3QoaW50IGZkLCB1bnNp Z25lZCBlbmdpbmUsIHVuc2lnbmVkIGZsYWdzLCB1bnNpZ25lZCBtb2RlKQogCXVpbnQzMl90IGN0 eF9jbGVhbl9pZDsKIAl1aW50MzJfdCBjdHhfZGlydHlfaWQ7CiAKKwkvKiBBcyBtb2NzIGlzIGds b2JhbCBmb3IgR0VOMTErLCB0cnlpbmcgcHJpdmlsZWdlZCB3cml0ZSB0byBkaXJ0eQorCSAqIHRo ZSBtb2NzIGFuZCB0ZXN0aW5nIGNvbnRleHQgc2F2ZSBhbmQgcmVzdG9yZSBvZiBtb2NzIGJldHdl ZW4KKwkgKiBjb250ZXh0cyBpcyBib3VuZCB0byBmYWlsLgorCSAqLworCWlmIChmbGFncyAmIE1P Q1NfRElSVFlfVkFMVUVTKQorCQlpZ3Rfc2tpcF9vbihpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9k ZXZpZChmZCkpID49IDExKTsKKwogCWdlbV9yZXF1aXJlX3JpbmcoZmQsIGVuZ2luZSk7CiAKIAkv KiBTa2lwIGlmIHdlIGRvbid0IGtub3cgd2hlcmUgdGhlIHJlZ2lzdGVycyBhcmUgZm9yIHRoaXMg ZW5naW5lICovCkBAIC00MDAsNyArNDU3LDcgQEAgc3RhdGljIHZvaWQgcnVuX3Rlc3QoaW50IGZk LCB1bnNpZ25lZCBlbmdpbmUsIHVuc2lnbmVkIGZsYWdzLCB1bnNpZ25lZCBtb2RlKQogCiAJaWYg KGZsYWdzICYgTU9DU19ESVJUWV9WQUxVRVMpIHsKIAkJY3R4X2RpcnR5X2lkID0gZ2VtX2NvbnRl eHRfY3JlYXRlKGZkKTsKLQkJd3JpdGVfZGlydHlfbW9jcyhmZCwgZW5naW5lLCBjdHhfZGlydHlf aWQpOworCQl3cml0ZV9kaXJ0eV9tb2NzKGZkLCBlbmdpbmUsIGN0eF9kaXJ0eV9pZCwgdHJ1ZSk7 CiAJCWNoZWNrX21vY3NfdmFsdWVzKGZkLCBlbmdpbmUsIGN0eF9kaXJ0eV9pZCwgdHJ1ZSk7CiAJ fQogCkBAIC00MzAsNiArNDg3LDE4IEBAIHN0YXRpYyB2b2lkIHJ1bl90ZXN0KGludCBmZCwgdW5z aWduZWQgZW5naW5lLCB1bnNpZ25lZCBmbGFncywgdW5zaWduZWQgbW9kZSkKIAkJZ2VtX2NvbnRl eHRfZGVzdHJveShmZCwgY3R4X2lkKTsKIH0KIAorc3RhdGljIHZvaWQgaXNvbGF0aW9uX3Rlc3Qo aW50IGZkLCB1bnNpZ25lZCBlbmdpbmUpCit7CisJdWludDMyX3QgY3R4WzJdID0geyBnZW1fY29u dGV4dF9jcmVhdGUoZmQpLCBnZW1fY29udGV4dF9jcmVhdGUoZmQpIH07CisKKwkvKiBBbnkgd3Jp dGVzIGJ5IG9uZSBub3JtYWwgY2xpZW50IHNob3VsZCBub3QgYWZmZWN0IGEgc2Vjb25kIGNsaWVu dCAqLworCXdyaXRlX2RpcnR5X21vY3MoZmQsIGVuZ2luZSwgY3R4WzBdLCBmYWxzZSk7CisJY2hl Y2tfbW9jc192YWx1ZXMoZmQsIGVuZ2luZSwgY3R4WzFdLCBmYWxzZSk7CisKKwlmb3IgKGludCBp ID0gMDsgaSA8IEFSUkFZX1NJWkUoY3R4KTsgaSsrKQorCQlnZW1fY29udGV4dF9kZXN0cm95KGZk LCBjdHhbaV0pOworfQorCiBpZ3RfbWFpbgogewogCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lICplOwpAQCAtNDkwLDYgKzU1OSwxNCBAQCBpZ3RfbWFpbgogCQkJCX0KIAkJCX0K IAkJfQorCisJCWlndF9zdWJ0ZXN0X2YoIm1vY3MtaXNvbGF0aW9uLSVzIiwKKwkJCQllLT5uYW1l KSB7CisJCQlnZW1fcmVxdWlyZV9jb250ZXh0cyhmZCk7CisKKwkJCWlzb2xhdGlvbl90ZXN0KGZk LCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpOworCQl9CisKIAl9CiAKIAlpZ3RfZml4dHVyZQotLSAK Mi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=