From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [CI 2/2] drm/i915/icl: Define MOCS table for Icelake Date: Fri, 30 Nov 2018 13:33:04 -0800 Message-ID: <20181130213304.17329-2-lucas.demarchi@intel.com> References: <20181130213304.17329-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id D2C156E682 for ; Fri, 30 Nov 2018 21:33:27 +0000 (UTC) In-Reply-To: <20181130213304.17329-1-lucas.demarchi@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 RnJvbTogVG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+CgpUaGUgdGFibGUgaGFzIGJl ZW4gdW5pZmllZCBhY3Jvc3MgT1NlcyB0byBtaW5pbWl6ZSB2aXJ0dWFsaXphdGlvbiBvdmVyaGVh ZC4KClRoZSBNT0NTIHRhYmxlIGlzIG5vdyBwdWJsaXNoZWQgYXMgcGFydCBvZiBic3BlYywgYW5k IHZlcnNpb25lZC4gRW50cmllcwphcmUgc3VwcG9zZWQgdG8gbmV2ZXIgYmUgbW9kaWZpZWQsIGJ1 dCBuZXcgb25lcyBjYW4gYmUgYWRkZWQuIEFkZGluZwplbnRyaWVzIGluY3JlYXNlcyB0YWJsZSB2 ZXJzaW9uLiBUaGUgcGF0Y2ggaW5jbHVkZXMgdmVyc2lvbiAxIGVudHJpZXMuCgpNZWFuaW5nIG9m IGVhY2ggZW50cnkgaXMgbm93IGV4cGxhaW5lZCBpbiBic3BlYywgYW5kIHVzZXIgbW9kZSBjbGll bnRzCmFyZSBleHBlY3RlZCB0byBrbm93IHdoYXQgZWFjaCBlbnRyeSBtZWFucy4gVGhlIDMgZW50 cmllcyB1c2VkIGZvciBwcmV2aW91cwpwbGF0Zm9ybXMgYXJlIHN0aWxsIGNvbXBhdGlibGUgd2l0 aCB0aGVpciBsZWdhY3kgZGVmaW5pdGlvbnMsIGJ1dCB0aGF0IGlzCm5vdCBndWFyYW50ZWVkIHRv IGJlIHRydWUgZm9yIGZ1dHVyZSBwbGF0Zm9ybXMuCgp2MjogRml4ZWQgU0NDIHZhbHVlcywgaW1w cm92ZWQgY29tbWl0IGNvbW1lbnQgKERhbmllbGUpCnYzOiBJbXByb3ZlZCBNT0NTIHRhYmxlIGNv bW1lbnQgKERhbmllbGUpCnY0OiBNb3ZlZCBuZXcgZW50cmllcyBiZWxvdyBnZW45IG9uZXMuIFB1 dCBjb21tb24gZW50cmllcyBpbnRvCiAgICBkZWZpbml0aW9uIHRvIGJlIHVzZWQgaW4gbXVsdGlw bGUgYXJyYXlzLiAoTHVjYXMpCnY1OiBNYWRlIGRlZmluZXMgZm9yIG9yLWluZyBmbGFncy4gUmVu YW1lZCBtYWNyb3MgZnJvbSBNT0NTX1RBQkxFCiAgICB0byBNT0NTX0VOVFJJRVMuIFN3aXRjaGVk IExFX0NvUyB0byB1cHBlciBjYXNlLiAoSm9vbmFzKQp2NjogUmVtb3ZlZCBkZWZpbml0aW9ucyBv ZiByZXNlcnZlZCBlbnRyaWVzLiAoTWljaGFsKQogICAgSW5jcmVhc2VkIGxpbWl0IG9mIGVudHJp ZXMgc2VudCB0byB0aGUgaGFyZHdhcmUgb24gZ2VuMTErLgoKQlNwZWM6IDM0MDA3CkJTcGVjOiA1 NjAKU2lnbmVkLW9mZi1ieTogVG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+ClJldmll d2VkLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50 ZWwuY29tPiAodjQpCkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5p bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgpDYzogRGFuaWVsZSBDZXJh b2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IFpoZW55dSBX YW5nIDx6aGVueXV3QGxpbnV4LmludGVsLmNvbT4KQ2M6IFpoaSBBIFdhbmcgPHpoaS5hLndhbmdA aW50ZWwuY29tPgpDYzogQW51aiBQaG9nYXQgPGFudWoucGhvZ2F0QGludGVsLmNvbT4KQ2M6IEFk YW0gQ2V0bmVyb3dza2kgPGFkYW0uY2V0bmVyb3dza2lAaW50ZWwuY29tPgpDYzogUGlvdHIgUm96 ZW5mZWxkIDxwaW90ci5yb3plbmZlbGRAaW50ZWwuY29tPgpDYzogTHVjYXMgRGUgTWFyY2hpIDxs dWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9jcy5jIHwgMjIyICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDE5NyBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9tb2NzLmMKaW5kZXggOGQwOGE3YjdkNTM0Li40ZWIwNWM2OTZiOTAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9tb2NzLmMKQEAgLTQ0LDYgKzQ0LDggQEAgc3RydWN0IGRybV9pOTE1X21vY3NfdGFi bGUgewogI2RlZmluZSBMRV9TQ0ModmFsdWUpCQkoKHZhbHVlKSA8PCA4KQogI2RlZmluZSBMRV9Q Rk0odmFsdWUpCQkoKHZhbHVlKSA8PCAxMSkKICNkZWZpbmUgTEVfU0NGKHZhbHVlKQkJKCh2YWx1 ZSkgPDwgMTQpCisjZGVmaW5lIExFX0NPUyh2YWx1ZSkJCSgodmFsdWUpIDw8IDE1KQorI2RlZmlu ZSBMRV9TU0UodmFsdWUpCQkoKHZhbHVlKSA8PCAxNykKIAogLyogRGVmaW5lcyBmb3IgdGhlIHRh YmxlcyAoTE5DRk1PQ1MwIC0gTE5DRk1PQ1MzMSkgLSB0d28gZW50cmllcyBwZXIgd29yZCAqLwog I2RlZmluZSBMM19FU0ModmFsdWUpCQkoKHZhbHVlKSA8PCAwKQpAQCAtNTIsNiArNTQsMTAgQEAg c3RydWN0IGRybV9pOTE1X21vY3NfdGFibGUgewogCiAvKiBIZWxwZXIgZGVmaW5lcyAqLwogI2Rl ZmluZSBHRU45X05VTV9NT0NTX0VOVFJJRVMJNjIgIC8qIDYyIG91dCBvZiA2NCAtIDYzICYgNjQg YXJlIHJlc2VydmVkLiAqLworI2RlZmluZSBHRU4xMV9OVU1fTU9DU19FTlRSSUVTCTY0ICAvKiA2 My02NCBhcmUgcmVzZXJ2ZWQsIGJ1dCBjb25maWd1cmVkLiAqLworCisjZGVmaW5lIE5VTV9NT0NT X0VOVFJJRVMoaTkxNSkgXAorCShJTlRFTF9HRU4oaTkxNSkgPCAxMSA/IEdFTjlfTlVNX01PQ1Nf RU5UUklFUyA6IEdFTjExX05VTV9NT0NTX0VOVFJJRVMpCiAKIC8qIChlKUxMQyBjYWNoaW5nIG9w dGlvbnMgKi8KICNkZWZpbmUgTEVfUEFHRVRBQkxFCQkwCkBAIC04MCwyMSArODYsMjEgQEAgc3Ry dWN0IGRybV9pOTE1X21vY3NfdGFibGUgewogICogTE5DRkNNT0NTMCAtIExOQ0ZDTU9DUzMyIHJl Z2lzdGVycy4KICAqCiAgKiBUaGVzZSB0YWJsZXMgYXJlIGludGVuZGVkIHRvIGJlIGtlcHQgcmVh c29uYWJseSBjb25zaXN0ZW50IGFjcm9zcwotICogcGxhdGZvcm1zLiBIb3dldmVyIHNvbWUgb2Yg dGhlIGZpZWxkcyBhcmUgbm90IGFwcGxpY2FibGUgdG8gYWxsIG9mCi0gKiB0aGVtLgorICogSFcg cGxhdGZvcm1zLCBhbmQgZm9yIElDTCssIGJlIGlkZW50aWNhbCBhY3Jvc3MgT1Nlcy4gVG8gYWNo aWV2ZQorICogdGhhdCwgZm9yIEljZWxha2UgYW5kIGFib3ZlLCBsaXN0IG9mIGVudHJpZXMgaXMg cHVibGlzaGVkIGFzIHBhcnQKKyAqIG9mIGJzcGVjLgogICoKICAqIEVudHJpZXMgbm90IHBhcnQg b2YgdGhlIGZvbGxvd2luZyB0YWJsZXMgYXJlIHVuZGVmaW5lZCBhcyBmYXIgYXMKLSAqIHVzZXJz cGFjZSBpcyBjb25jZXJuZWQgYW5kIHNob3VsZG4ndCBiZSByZWxpZWQgdXBvbi4gIEZvciB0aGUg dGltZQotICogYmVpbmcgdGhleSB3aWxsIGJlIGltcGxpY2l0bHkgaW5pdGlhbGl6ZWQgdG8gdGhl IHN0cmljdGVzdCBjYWNoaW5nCi0gKiBjb25maWd1cmF0aW9uICh1bmNhY2hlZCkgdG8gZ3VhcmFu dGVlIGZvcndhcmRzIGNvbXBhdGliaWxpdHkgd2l0aAotICogdXNlcnNwYWNlIHByb2dyYW1zIHdy aXR0ZW4gYWdhaW5zdCBtb3JlIHJlY2VudCBrZXJuZWxzIHByb3ZpZGluZwotICogYWRkaXRpb25h bCBNT0NTIGVudHJpZXMuCisgKiB1c2Vyc3BhY2UgaXMgY29uY2VybmVkIGFuZCBzaG91bGRuJ3Qg YmUgcmVsaWVkIHVwb24uCisgKgorICogVGhlIGxhc3QgdHdvIGVudHJpZXMgYXJlIHJlc2VydmVk IGJ5IHRoZSBoYXJkd2FyZS4gRm9yIElDTCsgdGhleQorICogc2hvdWxkIGJlIGluaXRpYWxpemVk IGFjY29yZGluZyB0byBic3BlYyBhbmQgbmV2ZXIgdXNlZCwgZm9yIG9sZGVyCisgKiBwbGF0Zm9y bXMgdGhleSBzaG91bGQgbmV2ZXIgYmUgd3JpdHRlbiB0by4KICAqCi0gKiBOT1RFOiBUaGVzZSB0 YWJsZXMgTVVTVCBzdGFydCB3aXRoIGJlaW5nIHVuY2FjaGVkIGFuZCB0aGUgbGVuZ3RoCi0gKiAg ICAgICBNVVNUIGJlIGxlc3MgdGhhbiA2MyBhcyB0aGUgbGFzdCB0d28gcmVnaXN0ZXJzIGFyZSBy ZXNlcnZlZAotICogICAgICAgYnkgdGhlIGhhcmR3YXJlLiAgVGhlc2UgdGFibGVzIGFyZSBwYXJ0 IG9mIHRoZSBrZXJuZWwgQUJJIGFuZAotICogICAgICAgbWF5IG9ubHkgYmUgdXBkYXRlZCBpbmNy ZW1lbnRhbGx5IGJ5IGFkZGluZyBlbnRyaWVzIGF0IHRoZQotICogICAgICAgZW5kLgorICogTk9U RTogVGhlc2UgdGFibGVzIGFyZSBwYXJ0IG9mIGJzcGVjIGFuZCBkZWZpbmVkIGFzIHBhcnQgb2Yg aGFyZHdhcmUKKyAqICAgICAgIGludGVyZmFjZSBmb3IgSUNMKy4gRm9yIG9sZGVyIHBsYXRmb3Jt cywgdGhleSBhcmUgcGFydCBvZiBrZXJuZWwKKyAqICAgICAgIEFCSS4gSXQgaXMgZXhwZWN0ZWQg dGhhdCBleGlzdGluZyBlbnRyaWVzIHdpbGwgcmVtYWluIGNvbnN0YW50CisgKiAgICAgICBhbmQg dGhlIHRhYmxlcyB3aWxsIG9ubHkgYmUgdXBkYXRlZCBieSBhZGRpbmcgbmV3IGVudHJpZXMuCiAg Ki8KIAogI2RlZmluZSBNT0NTX0NPTlRST0xfVkFMVUUobGVjYywgdGMsIGxydW0sIGRhb20sIGVy c2MsIHNjYywgcGZtLCBzY2YpIFwKQEAgLTE0Nyw2ICsxNTMsMTY3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfbW9jc19lbnRyeSBicm94dG9uX21vY3NfdGFibGVbXSA9IHsKICN1bmRl ZiBNT0NTX0NPTlRST0xfVkFMVUUKICN1bmRlZiBNT0NTX0wzQ0NfVkFMVUUKIAorI2RlZmluZSBN T0NTX0NPTlRST0xfVkFMVUUobGVjYywgdGMsIGxydW0sIGRhb20sIGVyc2MsIHNjYywgcGZtLCBz Y2YsIGNvcywgc3NlKSBcCisJKExFX0NBQ0hFQUJJTElUWShsZWNjKSB8IExFX1RHVF9DQUNIRSh0 YykgfCBcCisJTEVfTFJVTShscnVtKSB8IExFX0FPTShkYW9tKSB8IExFX1JTQyhlcnNjKSB8IExF X1NDQyhzY2MpIHwgXAorCUxFX1BGTShwZm0pIHwgTEVfU0NGKHNjZikgfCBMRV9DT1MoY29zKSB8 IExFX1NTRShzc2UpKQorCisjZGVmaW5lIE1PQ1NfTDNDQ19WQUxVRShlc2MsIHNjYywgbDNjYykg XAorCShMM19FU0MoZXNjKSB8IEwzX1NDQyhzY2MpIHwgTDNfQ0FDSEVBQklMSVRZKGwzY2MpKQor CisjZGVmaW5lIEdFTjExX01PQ1NfRU5UUklFUyBcCisJWzBdID0geyBcCisJICAvKiBCYXNlIC0g VW5jYWNoZWQgKERlcHJlY2F0ZWQpICovIFwKKwkgIC5jb250cm9sX3ZhbHVlID0gTU9DU19DT05U Uk9MX1ZBTFVFKExFX1VDLCBMRV9UQ19MTEMsIFwKKwkJCQkJICAgICAgMCwgMCwgMCwgMCwgMCwg MCwgMCwgMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9DU19MM0NDX1ZBTFVFKDAsIDAsIEwzX1VD KSwgXAorCX0sIFwKKwlbMV0gPSB7IFwKKwkgIC8qIEJhc2UgLSBMMyArIExlQ0M6UEFUIChEZXBy ZWNhdGVkKSAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9Q QUdFVEFCTEUsIExFX1RDX0xMQywgXAorCQkJCQkgICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAw KSwgXAorCSAgLmwzY2NfdmFsdWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwgTDNfV0IpLCBcCisJ fSwgXAorCVsyXSA9IHsgXAorCSAgLyogQmFzZSAtIEwzICsgTExDICovIFwKKwkgIC5jb250cm9s X3ZhbHVlID0gTU9DU19DT05UUk9MX1ZBTFVFKExFX1dCLCBMRV9UQ19MTEMsIFwKKwkJCQkJICAg ICAgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9DU19MM0ND X1ZBTFVFKDAsIDAsIEwzX1dCKSwgXAorCX0sIFwKKwlbM10gPSB7IFwKKwkgIC8qIEJhc2UgLSBV bmNhY2hlZCAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9V QywgTEVfVENfTExDLCBcCisJCQkJCSAgICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCBcCisJ ICAubDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19VQyksIFwKKwl9LCBcCisJ WzRdID0geyBcCisJICAvKiBCYXNlIC0gTDMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBNT0NT X0NPTlRST0xfVkFMVUUoTEVfVUMsIExFX1RDX0xMQywgXAorCQkJCQkgICAgICAwLCAwLCAwLCAw LCAwLCAwLCAwLCAwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwg TDNfV0IpLCBcCisJfSwgXAorCVs1XSA9IHsgXAorCSAgLyogQmFzZSAtIExMQyAqLyBcCisJICAu Y29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9XQiwgTEVfVENfTExDLCBcCisJ CQkJCSAgICAgIDMsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCBcCisJICAubDNjY192YWx1ZSA9IE1P Q1NfTDNDQ19WQUxVRSgwLCAwLCBMM19VQyksIFwKKwl9LCBcCisJWzZdID0geyBcCisJICAvKiBB Z2UgMCAtIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShM RV9XQiwgTEVfVENfTExDLCBcCisJCQkJCSAgICAgIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCBc CisJICAubDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19VQyksIFwKKwl9LCBc CisJWzddID0geyBcCisJICAvKiBBZ2UgMCAtIEwzICsgTExDICovIFwKKwkgIC5jb250cm9sX3Zh bHVlID0gTU9DU19DT05UUk9MX1ZBTFVFKExFX1dCLCBMRV9UQ19MTEMsIFwKKwkJCQkJICAgICAg MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9DU19MM0NDX1ZB TFVFKDAsIDAsIEwzX1dCKSwgXAorCX0sIFwKKwlbOF0gPSB7IFwKKwkgIC8qIEFnZTogRG9uJ3Qg Q2hnLiAtIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShM RV9XQiwgTEVfVENfTExDLCBcCisJCQkJCSAgICAgIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCBc CisJICAubDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19VQyksIFwKKwl9LCBc CisJWzldID0geyBcCisJICAvKiBBZ2U6IERvbid0IENoZy4gLSBMMyArIExMQyAqLyBcCisJICAu Y29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9XQiwgTEVfVENfTExDLCBcCisJ CQkJCSAgICAgIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCBcCisJICAubDNjY192YWx1ZSA9IE1P Q1NfTDNDQ19WQUxVRSgwLCAwLCBMM19XQiksIFwKKwl9LCBcCisJWzEwXSA9IHsgXAorCSAgLyog Tm8gQU9NIC0gTExDICovIFwKKwkgIC5jb250cm9sX3ZhbHVlID0gTU9DU19DT05UUk9MX1ZBTFVF KExFX1dCLCBMRV9UQ19MTEMsIFwKKwkJCQkJICAgICAgMywgMSwgMCwgMCwgMCwgMCwgMCwgMCks IFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9DU19MM0NDX1ZBTFVFKDAsIDAsIEwzX1VDKSwgXAorCX0s IFwKKwlbMTFdID0geyBcCisJICAvKiBObyBBT00gLSBMMyArIExMQyAqLyBcCisJICAuY29udHJv bF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9XQiwgTEVfVENfTExDLCBcCisJCQkJCSAg ICAgIDMsIDEsIDAsIDAsIDAsIDAsIDAsIDApLCBcCisJICAubDNjY192YWx1ZSA9IE1PQ1NfTDND Q19WQUxVRSgwLCAwLCBMM19XQiksIFwKKwl9LCBcCisJWzEyXSA9IHsgXAorCSAgLyogTm8gQU9N OyBBZ2UgMCAtIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxV RShMRV9XQiwgTEVfVENfTExDLCBcCisJCQkJCSAgICAgIDEsIDEsIDAsIDAsIDAsIDAsIDAsIDAp LCBcCisJICAubDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19VQyksIFwKKwl9 LCBcCisJWzEzXSA9IHsgXAorCSAgLyogTm8gQU9NOyBBZ2UgMCAtIEwzICsgTExDICovIFwKKwkg IC5jb250cm9sX3ZhbHVlID0gTU9DU19DT05UUk9MX1ZBTFVFKExFX1dCLCBMRV9UQ19MTEMsIFwK KwkJCQkJICAgICAgMSwgMSwgMCwgMCwgMCwgMCwgMCwgMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0g TU9DU19MM0NDX1ZBTFVFKDAsIDAsIEwzX1dCKSwgXAorCX0sIFwKKwlbMTRdID0geyBcCisJICAv KiBObyBBT007IEFnZTpEQyAtIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09O VFJPTF9WQUxVRShMRV9XQiwgTEVfVENfTExDLCBcCisJCQkJCSAgICAgIDIsIDEsIDAsIDAsIDAs IDAsIDAsIDApLCBcCisJICAubDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19V QyksIFwKKwl9LCBcCisJWzE1XSA9IHsgXAorCSAgLyogTm8gQU9NOyBBZ2U6REMgLSBMMyArIExM QyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9XQiwgTEVf VENfTExDLCBcCisJCQkJCSAgICAgIDIsIDEsIDAsIDAsIDAsIDAsIDAsIDApLCBcCisJICAubDNj Y192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19XQiksIFwKKwl9LCBcCisJWzE4XSA9 IHsgXAorCSAgLyogU2VsZi1Tbm9vcCAtIEwzICsgTExDICovIFwKKwkgIC5jb250cm9sX3ZhbHVl ID0gTU9DU19DT05UUk9MX1ZBTFVFKExFX1dCLCBMRV9UQ19MTEMsIFwKKwkJCQkJICAgICAgMywg MCwgMCwgMCwgMCwgMCwgMCwgMyksIFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9DU19MM0NDX1ZBTFVF KDAsIDAsIEwzX1dCKSwgXAorCX0sIFwKKwlbMTldID0geyBcCisJICAvKiBTa2lwIENhY2hpbmcg LSBMMyArIExMQygxMi41JSkgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBNT0NTX0NPTlRST0xf VkFMVUUoTEVfV0IsIExFX1RDX0xMQywgXAorCQkJCQkgICAgICAzLCAwLCAwLCA3LCAwLCAwLCAw LCAwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwgTDNfV0IpLCBc CisJfSwgXAorCVsyMF0gPSB7IFwKKwkgIC8qIFNraXAgQ2FjaGluZyAtIEwzICsgTExDKDI1JSkg Ki8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBNT0NTX0NPTlRST0xfVkFMVUUoTEVfV0IsIExFX1RD X0xMQywgXAorCQkJCQkgICAgICAzLCAwLCAwLCAzLCAwLCAwLCAwLCAwKSwgXAorCSAgLmwzY2Nf dmFsdWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwgTDNfV0IpLCBcCisJfSwgXAorCVsyMV0gPSB7 IFwKKwkgIC8qIFNraXAgQ2FjaGluZyAtIEwzICsgTExDKDUwJSkgKi8gXAorCSAgLmNvbnRyb2xf dmFsdWUgPSBNT0NTX0NPTlRST0xfVkFMVUUoTEVfV0IsIExFX1RDX0xMQywgXAorCQkJCQkgICAg ICAzLCAwLCAwLCAxLCAwLCAwLCAwLCAwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSBNT0NTX0wzQ0Nf VkFMVUUoMCwgMCwgTDNfV0IpLCBcCisJfSwgXAorCVsyMl0gPSB7IFwKKwkgIC8qIFNraXAgQ2Fj aGluZyAtIEwzICsgTExDKDc1JSkgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBNT0NTX0NPTlRS T0xfVkFMVUUoTEVfV0IsIExFX1RDX0xMQywgXAorCQkJCQkgICAgICAzLCAwLCAxLCAzLCAwLCAw LCAwLCAwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwgTDNfV0Ip LCBcCisJfSwgXAorCVsyM10gPSB7IFwKKwkgIC8qIFNraXAgQ2FjaGluZyAtIEwzICsgTExDKDg3 LjUlKSAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IE1PQ1NfQ09OVFJPTF9WQUxVRShMRV9XQiwg TEVfVENfTExDLCBcCisJCQkJCSAgICAgIDMsIDAsIDEsIDcsIDAsIDAsIDAsIDApLCBcCisJICAu bDNjY192YWx1ZSA9IE1PQ1NfTDNDQ19WQUxVRSgwLCAwLCBMM19XQiksIFwKKwl9LCBcCisJWzYy XSA9IHsgXAorCSAgLyogSFcgUmVzZXJ2ZWQgLSBTVyBwcm9ncmFtIGJ1dCBuZXZlciB1c2UgKi8g XAorCSAgLmNvbnRyb2xfdmFsdWUgPSBNT0NTX0NPTlRST0xfVkFMVUUoTEVfV0IsIExFX1RDX0xM QywgXAorCQkJCQkgICAgICAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwKSwgXAorCSAgLmwzY2NfdmFs dWUgPSBNT0NTX0wzQ0NfVkFMVUUoMCwgMCwgTDNfVUMpLCBcCisJfSwgXAorCVs2M10gPSB7IFwK KwkgIC8qIEhXIFJlc2VydmVkIC0gU1cgcHJvZ3JhbSBidXQgbmV2ZXIgdXNlICovIFwKKwkgIC5j b250cm9sX3ZhbHVlID0gTU9DU19DT05UUk9MX1ZBTFVFKExFX1dCLCBMRV9UQ19MTEMsIFwKKwkJ CQkJICAgICAgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gTU9D U19MM0NDX1ZBTFVFKDAsIDAsIEwzX1VDKSwgXAorCX0sCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2k5MTVfbW9jc19lbnRyeSBpY2VsYWtlX21vY3NfdGFibGVbXSA9IHsKKwlHRU4xMV9NT0NT X0VOVFJJRVMKK307CisKKyN1bmRlZiBNT0NTX0NPTlRST0xfVkFMVUUKKyN1bmRlZiBNT0NTX0wz Q0NfVkFMVUUKKwogLyoqCiAgKiBnZXRfbW9jc19zZXR0aW5ncygpCiAgKiBAZGV2X3ByaXY6CWk5 MTUgZGV2aWNlLgpAQCAtMTY0LDggKzMzMSwxMSBAQCBzdGF0aWMgYm9vbCBnZXRfbW9jc19zZXR0 aW5ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJYm9vbCByZXN1bHQg PSBmYWxzZTsKIAotCWlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRl dl9wcml2KSB8fAotCSAgICBJU19JQ0VMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19JQ0VMQUtF KGRldl9wcml2KSkgeworCQl0YWJsZS0+c2l6ZSAgPSBBUlJBWV9TSVpFKGljZWxha2VfbW9jc190 YWJsZSk7CisJCXRhYmxlLT50YWJsZSA9IGljZWxha2VfbW9jc190YWJsZTsKKwkJcmVzdWx0ID0g dHJ1ZTsKKwl9IGVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8IElTX0NBTk5PTkxBS0Uo ZGV2X3ByaXYpKSB7CiAJCXRhYmxlLT5zaXplICA9IEFSUkFZX1NJWkUoc2t5bGFrZV9tb2NzX3Rh YmxlKTsKIAkJdGFibGUtPnRhYmxlID0gc2t5bGFrZV9tb2NzX3RhYmxlOwogCQlyZXN1bHQgPSB0 cnVlOwpAQCAtMjI4LDcgKzM5OCw3IEBAIHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaWYgKCFnZXRfbW9jc19zZXR0aW5ncyhkZXZf cHJpdiwgJnRhYmxlKSkKIAkJcmV0dXJuOwogCi0JR0VNX0JVR19PTih0YWJsZS5zaXplID4gR0VO OV9OVU1fTU9DU19FTlRSSUVTKTsKKwlHRU1fQlVHX09OKHRhYmxlLnNpemUgPiBOVU1fTU9DU19F TlRSSUVTKGRldl9wcml2KSk7CiAKIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZS5zaXpl OyBpbmRleCsrKQogCQlJOTE1X1dSSVRFKG1vY3NfcmVnaXN0ZXIoZW5naW5lLT5pZCwgaW5kZXgp LApAQCAtMjQyLDcgKzQxMiw3IEBAIHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJICogRW50cnkgMCBpbiB0aGUgdGFibGUgaXMgdW5j YWNoZWQgLSBzbyB3ZSBhcmUganVzdCB3cml0aW5nCiAJICogdGhhdCB2YWx1ZSB0byBhbGwgdGhl IHVzZWQgZW50cmllcy4KIAkgKi8KLQlmb3IgKDsgaW5kZXggPCBHRU45X05VTV9NT0NTX0VOVFJJ RVM7IGluZGV4KyspCisJZm9yICg7IGluZGV4IDwgTlVNX01PQ1NfRU5UUklFUyhkZXZfcHJpdik7 IGluZGV4KyspCiAJCUk5MTVfV1JJVEUobW9jc19yZWdpc3RlcihlbmdpbmUtPmlkLCBpbmRleCks CiAJCQkgICB0YWJsZS50YWJsZVswXS5jb250cm9sX3ZhbHVlKTsKIH0KQEAgLTI2MCwxOCArNDMw LDE5IEBAIHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiBzdGF0aWMgaW50IGVtaXRfbW9jc19jb250cm9sX3RhYmxlKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxlICp0 YWJsZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHJxLT5pOTE1OwogCWVu dW0gaW50ZWxfZW5naW5lX2lkIGVuZ2luZSA9IHJxLT5lbmdpbmUtPmlkOwogCXVuc2lnbmVkIGlu dCBpbmRleDsKIAl1MzIgKmNzOwogCi0JaWYgKFdBUk5fT04odGFibGUtPnNpemUgPiBHRU45X05V TV9NT0NTX0VOVFJJRVMpKQorCWlmIChXQVJOX09OKHRhYmxlLT5zaXplID4gTlVNX01PQ1NfRU5U UklFUyhpOTE1KSkpCiAJCXJldHVybiAtRU5PREVWOwogCi0JY3MgPSBpbnRlbF9yaW5nX2JlZ2lu KHJxLCAyICsgMiAqIEdFTjlfTlVNX01PQ1NfRU5UUklFUyk7CisJY3MgPSBpbnRlbF9yaW5nX2Jl Z2luKHJxLCAyICsgMiAqIE5VTV9NT0NTX0VOVFJJRVMoaTkxNSkpOwogCWlmIChJU19FUlIoY3Mp KQogCQlyZXR1cm4gUFRSX0VSUihjcyk7CiAKLQkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1N KEdFTjlfTlVNX01PQ1NfRU5UUklFUyk7CisJKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTShO VU1fTU9DU19FTlRSSUVTKGk5MTUpKTsKIAogCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IHRhYmxl LT5zaXplOyBpbmRleCsrKSB7CiAJCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQobW9jc19y ZWdpc3RlcihlbmdpbmUsIGluZGV4KSk7CkBAIC0yODYsNyArNDU3LDcgQEAgc3RhdGljIGludCBl bWl0X21vY3NfY29udHJvbF90YWJsZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkgKiBFbnRy eSAwIGluIHRoZSB0YWJsZSBpcyB1bmNhY2hlZCAtIHNvIHdlIGFyZSBqdXN0IHdyaXRpbmcKIAkg KiB0aGF0IHZhbHVlIHRvIGFsbCB0aGUgdXNlZCBlbnRyaWVzLgogCSAqLwotCWZvciAoOyBpbmRl eCA8IEdFTjlfTlVNX01PQ1NfRU5UUklFUzsgaW5kZXgrKykgeworCWZvciAoOyBpbmRleCA8IE5V TV9NT0NTX0VOVFJJRVMoaTkxNSk7IGluZGV4KyspIHsKIAkJKmNzKysgPSBpOTE1X21taW9fcmVn X29mZnNldChtb2NzX3JlZ2lzdGVyKGVuZ2luZSwgaW5kZXgpKTsKIAkJKmNzKysgPSB0YWJsZS0+ dGFibGVbMF0uY29udHJvbF92YWx1ZTsKIAl9CkBAIC0zMTksMTcgKzQ5MCwxOCBAQCBzdGF0aWMg aW5saW5lIHUzMiBsM2NjX2NvbWJpbmUoY29uc3Qgc3RydWN0IGRybV9pOTE1X21vY3NfdGFibGUg KnRhYmxlLAogc3RhdGljIGludCBlbWl0X21vY3NfbDNjY190YWJsZShzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpycSwKIAkJCQljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc190YWJsZSAqdGFibGUpCiB7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBycS0+aTkxNTsKIAl1bnNpZ25lZCBp bnQgaTsKIAl1MzIgKmNzOwogCi0JaWYgKFdBUk5fT04odGFibGUtPnNpemUgPiBHRU45X05VTV9N T0NTX0VOVFJJRVMpKQorCWlmIChXQVJOX09OKHRhYmxlLT5zaXplID4gTlVNX01PQ1NfRU5UUklF UyhpOTE1KSkpCiAJCXJldHVybiAtRU5PREVWOwogCi0JY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJx LCAyICsgR0VOOV9OVU1fTU9DU19FTlRSSUVTKTsKKwljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEs IDIgKyBOVU1fTU9DU19FTlRSSUVTKGk5MTUpKTsKIAlpZiAoSVNfRVJSKGNzKSkKIAkJcmV0dXJu IFBUUl9FUlIoY3MpOwogCi0JKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTShHRU45X05VTV9N T0NTX0VOVFJJRVMgLyAyKTsKKwkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKE5VTV9NT0NT X0VOVFJJRVMoaTkxNSkgLyAyKTsKIAogCWZvciAoaSA9IDA7IGkgPCB0YWJsZS0+c2l6ZS8yOyBp KyspIHsKIAkJKmNzKysgPSBpOTE1X21taW9fcmVnX29mZnNldChHRU45X0xOQ0ZDTU9DUyhpKSk7 CkBAIC0zNDgsNyArNTIwLDcgQEAgc3RhdGljIGludCBlbWl0X21vY3NfbDNjY190YWJsZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkgKiB0aGlzIHdpbGwgYmUgdW5jYWNoZWQuIExlYXZlIHRo ZSBsYXN0IHBhaXIgdW5pbml0aWFsaXNlZCBhcwogCSAqIHRoZXkgYXJlIHJlc2VydmVkIGJ5IHRo ZSBoYXJkd2FyZS4KIAkgKi8KLQlmb3IgKDsgaSA8IEdFTjlfTlVNX01PQ1NfRU5UUklFUyAvIDI7 IGkrKykgeworCWZvciAoOyBpIDwgTlVNX01PQ1NfRU5UUklFUyhpOTE1KSAvIDI7IGkrKykgewog CQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KEdFTjlfTE5DRkNNT0NTKGkpKTsKIAkJKmNz KysgPSBsM2NjX2NvbWJpbmUodGFibGUsIDAsIDApOwogCX0KQEAgLTM5NSw3ICs1NjcsNyBAQCB2 b2lkIGludGVsX21vY3NfaW5pdF9sM2NjX3RhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAkgKiB0aGlzIHdpbGwgYmUgdW5jYWNoZWQuIExlYXZlIHRoZSBsYXN0IHBhaXIg YXMgaW5pdGlhbGlzZWQgYXMKIAkgKiB0aGV5IGFyZSByZXNlcnZlZCBieSB0aGUgaGFyZHdhcmUu CiAJICovCi0JZm9yICg7IGkgPCAoR0VOOV9OVU1fTU9DU19FTlRSSUVTIC8gMik7IGkrKykKKwlm b3IgKDsgaSA8IChOVU1fTU9DU19FTlRSSUVTKGRldl9wcml2KSAvIDIpOyBpKyspCiAJCUk5MTVf V1JJVEUoR0VOOV9MTkNGQ01PQ1MoaSksIGwzY2NfY29tYmluZSgmdGFibGUsIDAsIDApKTsKIH0K IAotLSAKMi4xOS4xLjEuZzU2YzQ2ODNlNjgKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=