From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Lis Subject: [PATCH v4 2/2] drm/i915/icl: Define MOCS table for Icelake Date: Fri, 26 Oct 2018 17:32:46 +0200 Message-ID: <1540567966-13504-2-git-send-email-tomasz.lis@intel.com> References: <1539962368-5451-1-git-send-email-tomasz.lis@intel.com> <1540567966-13504-1-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id CD2666E4C6 for ; Fri, 26 Oct 2018 15:32:51 +0000 (UTC) In-Reply-To: <1540567966-13504-1-git-send-email-tomasz.lis@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: Adam Cetnerowski , Piotr Rozenfeld , Lucas De Marchi , Anuj Phogat , Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org VGhlIHRhYmxlIGhhcyBiZWVuIHVuaWZpZWQgYWNyb3NzIE9TZXMgdG8gbWluaW1pemUgdmlydHVh bGl6YXRpb24gb3ZlcmhlYWQuCgpUaGUgTU9DUyB0YWJsZSBpcyBub3cgcHVibGlzaGVkIGFzIHBh cnQgb2YgYnNwZWMsIGFuZCB2ZXJzaW9uZWQuIEVudHJpZXMKYXJlIHN1cHBvc2VkIHRvIG5ldmVy IGJlIG1vZGlmaWVkLCBidXQgbmV3IG9uZXMgY2FuIGJlIGFkZGVkLiBBZGRpbmcKZW50cmllcyBp bmNyZWFzZXMgdGFibGUgdmVyc2lvbi4gVGhlIHBhdGNoIGluY2x1ZGVzIHZlcnNpb24gMSBlbnRy aWVzLgoKTWVhbmluZyBvZiBlYWNoIGVudHJ5IGlzIG5vdyBleHBsYWluZWQgaW4gYnNwZWMsIGFu ZCB1c2VyIG1vZGUgY2xpZW50cwphcmUgZXhwZWN0ZWQgdG8ga25vdyB3aGF0IGVhY2ggZW50cnkg bWVhbnMuIFRoZSAzIGVudHJpZXMgdXNlZCBmb3IgcHJldmlvdXMKcGxhdGZvcm1zIGFyZSBzdGls bCBjb21wYXRpYmxlIHdpdGggdGhlaXIgbGVnYWN5IGRlZmluaXRpb25zLCBidXQgdGhhdCBpcwpu b3QgZ3VhcmFudGVlZCB0byBiZSB0cnVlIGZvciBmdXR1cmUgcGxhdGZvcm1zLgoKdjI6IEZpeGVk IFNDQyB2YWx1ZXMsIGltcHJvdmVkIGNvbW1pdCBjb21tZW50IChEYW5pZWxlKQp2MzogSW1wcm92 ZWQgTU9DUyB0YWJsZSBjb21tZW50IChEYW5pZWxlKQp2NDogTW92ZWQgbmV3IGVudHJpZXMgYmVs b3cgZ2VuOSBvbmVzLiBQdXQgY29tbW9uIGVudHJpZXMgaW50bwogICAgZGVmaW5pdGlvbiB0byBi ZSB1c2VkIGluIG11bHRpcGxlIGFycmF5cy4gKEx1Y2FzKQoKQlNwZWM6IDM0MDA3CkJTcGVjOiA1 NjAKU2lnbmVkLW9mZi1ieTogVG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+ClJldmll d2VkLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50 ZWwuY29tPiAodjMpCkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5p bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgpDYzogRGFuaWVsZSBDZXJh b2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KQ2M6IFpoZW55dSBX YW5nIDx6aGVueXV3QGxpbnV4LmludGVsLmNvbT4KQ2M6IFpoaSBBIFdhbmcgPHpoaS5hLndhbmdA aW50ZWwuY29tPgpDYzogQW51aiBQaG9nYXQgPGFudWoucGhvZ2F0QGludGVsLmNvbT4KQ2M6IEFk YW0gQ2V0bmVyb3dza2kgPGFkYW0uY2V0bmVyb3dza2lAaW50ZWwuY29tPgpDYzogUGlvdHIgUm96 ZW5mZWxkIDxwaW90ci5yb3plbmZlbGRAaW50ZWwuY29tPgpDYzogTHVjYXMgRGUgTWFyY2hpIDxs dWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bW9jcy5jIHwgMjQ5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjM1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX21vY3MuYwppbmRleCA3NmFlZDU5Li4yYTFlNWYwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbW9jcy5jCkBAIC00NCw2ICs0NCw4IEBAIHN0cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxl IHsKICNkZWZpbmUgTEVfU0NDKHZhbHVlKQkJKCh2YWx1ZSkgPDwgOCkKICNkZWZpbmUgTEVfUEZN KHZhbHVlKQkJKCh2YWx1ZSkgPDwgMTEpCiAjZGVmaW5lIExFX1NDRih2YWx1ZSkJCSgodmFsdWUp IDw8IDE0KQorI2RlZmluZSBMRV9Db1ModmFsdWUpCQkoKHZhbHVlKSA8PCAxNSkKKyNkZWZpbmUg TEVfU1NFKHZhbHVlKQkJKCh2YWx1ZSkgPDwgMTcpCiAKIC8qIERlZmluZXMgZm9yIHRoZSB0YWJs ZXMgKExOQ0ZNT0NTMCAtIExOQ0ZNT0NTMzEpIC0gdHdvIGVudHJpZXMgcGVyIHdvcmQgKi8KICNk ZWZpbmUgTDNfRVNDKHZhbHVlKQkJKCh2YWx1ZSkgPDwgMCkKQEAgLTgwLDIxICs4MiwyMSBAQCBz dHJ1Y3QgZHJtX2k5MTVfbW9jc190YWJsZSB7CiAgKiBMTkNGQ01PQ1MwIC0gTE5DRkNNT0NTMzIg cmVnaXN0ZXJzLgogICoKICAqIFRoZXNlIHRhYmxlcyBhcmUgaW50ZW5kZWQgdG8gYmUga2VwdCBy ZWFzb25hYmx5IGNvbnNpc3RlbnQgYWNyb3NzCi0gKiBwbGF0Zm9ybXMuIEhvd2V2ZXIgc29tZSBv ZiB0aGUgZmllbGRzIGFyZSBub3QgYXBwbGljYWJsZSB0byBhbGwgb2YKLSAqIHRoZW0uCisgKiBI VyBwbGF0Zm9ybXMsIGFuZCBmb3IgSUNMKywgYmUgaWRlbnRpY2FsIGFjcm9zcyBPU2VzLiBUbyBh Y2hpZXZlCisgKiB0aGF0LCBmb3IgSWNlbGFrZSBhbmQgYWJvdmUsIGxpc3Qgb2YgZW50cmllcyBp cyBwdWJsaXNoZWQgYXMgcGFydAorICogb2YgYnNwZWMuCiAgKgogICogRW50cmllcyBub3QgcGFy dCBvZiB0aGUgZm9sbG93aW5nIHRhYmxlcyBhcmUgdW5kZWZpbmVkIGFzIGZhciBhcwotICogdXNl cnNwYWNlIGlzIGNvbmNlcm5lZCBhbmQgc2hvdWxkbid0IGJlIHJlbGllZCB1cG9uLiAgRm9yIHRo ZSB0aW1lCi0gKiBiZWluZyB0aGV5IHdpbGwgYmUgaW1wbGljaXRseSBpbml0aWFsaXplZCB0byB0 aGUgc3RyaWN0ZXN0IGNhY2hpbmcKLSAqIGNvbmZpZ3VyYXRpb24gKHVuY2FjaGVkKSB0byBndWFy YW50ZWUgZm9yd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoCi0gKiB1c2Vyc3BhY2UgcHJvZ3JhbXMg d3JpdHRlbiBhZ2FpbnN0IG1vcmUgcmVjZW50IGtlcm5lbHMgcHJvdmlkaW5nCi0gKiBhZGRpdGlv bmFsIE1PQ1MgZW50cmllcy4KKyAqIHVzZXJzcGFjZSBpcyBjb25jZXJuZWQgYW5kIHNob3VsZG4n dCBiZSByZWxpZWQgdXBvbi4KICAqCi0gKiBOT1RFOiBUaGVzZSB0YWJsZXMgTVVTVCBzdGFydCB3 aXRoIGJlaW5nIHVuY2FjaGVkIGFuZCB0aGUgbGVuZ3RoCi0gKiAgICAgICBNVVNUIGJlIGxlc3Mg dGhhbiA2MyBhcyB0aGUgbGFzdCB0d28gcmVnaXN0ZXJzIGFyZSByZXNlcnZlZAotICogICAgICAg YnkgdGhlIGhhcmR3YXJlLiAgVGhlc2UgdGFibGVzIGFyZSBwYXJ0IG9mIHRoZSBrZXJuZWwgQUJJ IGFuZAotICogICAgICAgbWF5IG9ubHkgYmUgdXBkYXRlZCBpbmNyZW1lbnRhbGx5IGJ5IGFkZGlu ZyBlbnRyaWVzIGF0IHRoZQotICogICAgICAgZW5kLgorICogVGhlIGxhc3QgdHdvIGVudHJpZXMg YXJlIHJlc2VydmVkIGJ5IHRoZSBoYXJkd2FyZS4gRm9yIElDTCsgdGhleQorICogc2hvdWxkIGJl IGluaXRpYWxpemVkIGFjY29yZGluZyB0byBic3BlYyBhbmQgbmV2ZXIgdXNlZCwgZm9yIG9sZGVy CisgKiBwbGF0Zm9ybXMgdGhleSBzaG91bGQgbmV2ZXIgYmUgd3JpdHRlbiB0by4KKyAqCisgKiBO T1RFOiBUaGVzZSB0YWJsZXMgYXJlIHBhcnQgb2YgYnNwZWMgYW5kIGRlZmluZWQgYXMgcGFydCBv ZiBoYXJkd2FyZQorICogICAgICAgaW50ZXJmYWNlIGZvciBJQ0wrLiBGb3Igb2xkZXIgcGxhdGZv cm1zLCB0aGV5IGFyZSBwYXJ0IG9mIGtlcm5lbAorICogICAgICAgQUJJLiBJdCBpcyBleHBlY3Rl ZCB0aGF0IGV4aXN0aW5nIGVudHJpZXMgd2lsbCByZW1haW4gY29uc3RhbnQKKyAqICAgICAgIGFu ZCB0aGUgdGFibGVzIHdpbGwgb25seSBiZSB1cGRhdGVkIGJ5IGFkZGluZyBuZXcgZW50cmllcy4K ICAqLwogCiAjZGVmaW5lIEdFTjlfTU9DU19UQUJMRSBcCkBAIC0xNDQsNiArMTQ2LDIyMiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X21vY3NfZW50cnkgYnJveHRvbl9tb2NzX3RhYmxl W10gPSB7CiAJfSwKIH07CiAKKyNkZWZpbmUgR0VOMTFfTU9DU19UQUJMRSBcCisJWzBdID0geyBc CisJICAvKiBCYXNlIC0gVW5jYWNoZWQgKERlcHJlY2F0ZWQpICovIFwKKwkgIC5jb250cm9sX3Zh bHVlID0gTEVfQ0FDSEVBQklMSVRZKExFX1VDKSB8IFwKKwkJCSAgIExFX1RHVF9DQUNIRShMRV9U Q19MTEMpIHwgXAorCQkJICAgTEVfTFJVTSgwKSB8IExFX0FPTSgwKSB8IExFX1JTQygwKSB8IExF X1NDQygwKSB8IFwKKwkJCSAgIExFX1BGTSgwKSB8IExFX1NDRigwKSB8IExFX0NvUygwKSB8IExF X1NTRSgwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSAgICBMM19FU0MoMCkgfCBMM19TQ0MoMCkgfCBM M19DQUNIRUFCSUxJVFkoTDNfVUMpLCBcCisJfSwgXAorCVsxXSA9IHsgXAorCSAgLyogQmFzZSAt IEwzICsgTGVDQzpQQVQgKERlcHJlY2F0ZWQpICovIFwKKwkgIC5jb250cm9sX3ZhbHVlID0gTEVf Q0FDSEVBQklMSVRZKExFX1BBR0VUQUJMRSkgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENf TExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMCkgfCBMRV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9T Q0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9T U0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNf Q0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0sIFwKKwlbMl0gPSB7IFwKKwkgIC8qIEJhc2UgLSBM MyArIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikg fCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMykg fCBMRV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkg fCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0g ICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0s IFwKKwlbM10gPSB7IFwKKwkgIC8qIEJhc2UgLSBVbmNhY2hlZCAqLyBcCisJICAuY29udHJvbF92 YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9VQykgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVf VENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMCkgfCBMRV9BT00oMCkgfCBMRV9SU0MoMCkgfCBM RV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBM RV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwg TDNfQ0FDSEVBQklMSVRZKEwzX1VDKSwgXAorCX0sIFwKKwlbNF0gPSB7IFwKKwkgIC8qIEJhc2Ug LSBMMyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9VQykgfCBc CisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMCkgfCBM RV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBM RV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAg TDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0sIFwK KwlbNV0gPSB7IFwKKwkgIC8qIEJhc2UgLSBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBM RV9DQUNIRUFCSUxJVFkoTEVfV0IpIHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykg fCBcCisJCQkgICBMRV9MUlVNKDMpIHwgTEVfQU9NKDApIHwgTEVfUlNDKDApIHwgTEVfU0NDKDAp IHwgXAorCQkJICAgTEVfUEZNKDApIHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDAp LCBcCisJICAubDNjY192YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hF QUJJTElUWShMM19VQyksIFwKKwl9LCBcCisJWzZdID0geyBcCisJICAvKiBBZ2UgMCAtIExMQyAq LyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBcCisJCQkg ICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMSkgfCBMRV9BT00o MCkgfCBMRV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0Yo MCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVND KDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1VDKSwgXAorCX0sIFwKKwlbN10g PSB7IFwKKwkgIC8qIEFnZSAwIC0gTDMgKyBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBM RV9DQUNIRUFCSUxJVFkoTEVfV0IpIHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykg fCBcCisJCQkgICBMRV9MUlVNKDEpIHwgTEVfQU9NKDApIHwgTEVfUlNDKDApIHwgTEVfU0NDKDAp IHwgXAorCQkJICAgTEVfUEZNKDApIHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDAp LCBcCisJICAubDNjY192YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hF QUJJTElUWShMM19XQiksIFwKKwl9LCBcCisJWzhdID0geyBcCisJICAvKiBBZ2U6IERvbid0IENo Zy4gLSBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFkoTEVfV0Ip IHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9MUlVNKDIp IHwgTEVfQU9NKDApIHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJICAgTEVfUEZNKDAp IHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDApLCBcCisJICAubDNjY192YWx1ZSA9 ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19VQyksIFwKKwl9 LCBcCisJWzldID0geyBcCisJICAvKiBBZ2U6IERvbid0IENoZy4gLSBMMyArIExMQyAqLyBcCisJ ICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBcCisJCQkgICBMRV9U R1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMikgfCBMRV9BT00oMCkgfCBM RV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBM RV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwg TDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0sIFwKKwlbMTBdID0geyBc CisJICAvKiBObyBBT00gLSBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFC SUxJVFkoTEVfV0IpIHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkg ICBMRV9MUlVNKDMpIHwgTEVfQU9NKDEpIHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJ ICAgTEVfUEZNKDApIHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDApLCBcCisJICAu bDNjY192YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShM M19VQyksIFwKKwl9LCBcCisJWzExXSA9IHsgXAorCSAgLyogTm8gQU9NIC0gTDMgKyBMTEMgKi8g XAorCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFkoTEVfV0IpIHwgXAorCQkJICAg TEVfVEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9MUlVNKDMpIHwgTEVfQU9NKDEp IHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJICAgTEVfUEZNKDApIHwgTEVfU0NGKDAp IHwgTEVfQ29TKDApIHwgTEVfU1NFKDApLCBcCisJICAubDNjY192YWx1ZSA9ICAgIEwzX0VTQygw KSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19XQiksIFwKKwl9LCBcCisJWzEyXSA9 IHsgXAorCSAgLyogTm8gQU9NOyBBZ2UgMCAtIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9 IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExD KSB8IFwKKwkJCSAgIExFX0xSVU0oMSkgfCBMRV9BT00oMSkgfCBMRV9SU0MoMCkgfCBMRV9TQ0Mo MCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0Uo MCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FD SEVBQklMSVRZKEwzX1VDKSwgXAorCX0sIFwKKwlbMTNdID0geyBcCisJICAvKiBObyBBT007IEFn ZSAwIC0gTDMgKyBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFko TEVfV0IpIHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9M UlVNKDEpIHwgTEVfQU9NKDEpIHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJICAgTEVf UEZNKDApIHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDApLCBcCisJICAubDNjY192 YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19XQiks IFwKKwl9LCBcCisJWzE0XSA9IHsgXAorCSAgLyogTm8gQU9NOyBBZ2U6REMgLSBMTEMgKi8gXAor CSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFkoTEVfV0IpIHwgXAorCQkJICAgTEVf VEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9MUlVNKDIpIHwgTEVfQU9NKDEpIHwg TEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJICAgTEVfUEZNKDApIHwgTEVfU0NGKDApIHwg TEVfQ29TKDApIHwgTEVfU1NFKDApLCBcCisJICAubDNjY192YWx1ZSA9ICAgIEwzX0VTQygwKSB8 IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19VQyksIFwKKwl9LCBcCisJWzE1XSA9IHsg XAorCSAgLyogTm8gQU9NOyBBZ2U6REMgLSBMMyArIExMQyAqLyBcCisJICAuY29udHJvbF92YWx1 ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENf TExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMikgfCBMRV9BT00oMSkgfCBMRV9SU0MoMCkgfCBMRV9T Q0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9T U0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNf Q0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0sIFwKKwlbMThdID0geyBcCisJICAvKiBTZWxmLVNu b29wIC0gTDMgKyBMTEMgKi8gXAorCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFko TEVfV0IpIHwgXAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9M UlVNKDMpIHwgTEVfQU9NKDApIHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwgXAorCQkJICAgTEVf UEZNKDApIHwgTEVfU0NGKDApIHwgTEVfQ29TKDApIHwgTEVfU1NFKDMpLCBcCisJICAubDNjY192 YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwzX1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19XQiks IFwKKwl9LCBcCisJWzE5XSA9IHsgXAorCSAgLyogU2tpcCBDYWNoaW5nIC0gTDMgKyBMTEMoMTIu NSUpICovIFwKKwkgIC5jb250cm9sX3ZhbHVlID0gTEVfQ0FDSEVBQklMSVRZKExFX1dCKSB8IFwK KwkJCSAgIExFX1RHVF9DQUNIRShMRV9UQ19MTEMpIHwgXAorCQkJICAgTEVfTFJVTSgzKSB8IExF X0FPTSgwKSB8IExFX1JTQygwKSB8IExFX1NDQyg3KSB8IFwKKwkJCSAgIExFX1BGTSgwKSB8IExF X1NDRigwKSB8IExFX0NvUygwKSB8IExFX1NTRSgwKSwgXAorCSAgLmwzY2NfdmFsdWUgPSAgICBM M19FU0MoMCkgfCBMM19TQ0MoMCkgfCBMM19DQUNIRUFCSUxJVFkoTDNfV0IpLCBcCisJfSwgXAor CVsyMF0gPSB7IFwKKwkgIC8qIFNraXAgQ2FjaGluZyAtIEwzICsgTExDKDI1JSkgKi8gXAorCSAg LmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFkoTEVfV0IpIHwgXAorCQkJICAgTEVfVEdU X0NBQ0hFKExFX1RDX0xMQykgfCBcCisJCQkgICBMRV9MUlVNKDMpIHwgTEVfQU9NKDApIHwgTEVf UlNDKDApIHwgTEVfU0NDKDMpIHwgXAorCQkJICAgTEVfUEZNKDApIHwgTEVfU0NGKDApIHwgTEVf Q29TKDApIHwgTEVfU1NFKDApLCBcCisJICAubDNjY192YWx1ZSA9ICAgIEwzX0VTQygwKSB8IEwz X1NDQygwKSB8IEwzX0NBQ0hFQUJJTElUWShMM19XQiksIFwKKwl9LCBcCisJWzIxXSA9IHsgXAor CSAgLyogU2tpcCBDYWNoaW5nIC0gTDMgKyBMTEMoNTAlKSAqLyBcCisJICAuY29udHJvbF92YWx1 ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENf TExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMykgfCBMRV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9T Q0MoMSkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9T U0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNf Q0FDSEVBQklMSVRZKEwzX1dCKSwgXAorCX0sIFwKKwlbMjJdID0geyBcCisJICAvKiBTa2lwIENh Y2hpbmcgLSBMMyArIExMQyg3NSUpICovIFwKKwkgIC5jb250cm9sX3ZhbHVlID0gTEVfQ0FDSEVB QklMSVRZKExFX1dCKSB8IFwKKwkJCSAgIExFX1RHVF9DQUNIRShMRV9UQ19MTEMpIHwgXAorCQkJ ICAgTEVfTFJVTSgzKSB8IExFX0FPTSgwKSB8IExFX1JTQygxKSB8IExFX1NDQygzKSB8IFwKKwkJ CSAgIExFX1BGTSgwKSB8IExFX1NDRigwKSB8IExFX0NvUygwKSB8IExFX1NTRSgwKSwgXAorCSAg LmwzY2NfdmFsdWUgPSAgICBMM19FU0MoMCkgfCBMM19TQ0MoMCkgfCBMM19DQUNIRUFCSUxJVFko TDNfV0IpLCBcCisJfSwgXAorCVsyM10gPSB7IFwKKwkgIC8qIFNraXAgQ2FjaGluZyAtIEwzICsg TExDKDg3LjUlKSAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9X QikgfCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0o MykgfCBMRV9BT00oMCkgfCBMRV9SU0MoMSkgfCBMRV9TQ0MoNykgfCBcCisJCQkgICBMRV9QRk0o MCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVl ID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1dCKSwgXAor CX0sIFwKKwlbNjJdID0geyBcCisJICAvKiBIVyBSZXNlcnZlZCAtIFNXIHByb2dyYW0gYnV0IG5l dmVyIHVzZSAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikg fCBcCisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMykg fCBMRV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkg fCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0g ICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1VDKSwgXAorCX0s IFwKKwlbNjNdID0geyBcCisJICAvKiBIVyBSZXNlcnZlZCAtIFNXIHByb2dyYW0gYnV0IG5ldmVy IHVzZSAqLyBcCisJICAuY29udHJvbF92YWx1ZSA9IExFX0NBQ0hFQUJJTElUWShMRV9XQikgfCBc CisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfTExDKSB8IFwKKwkJCSAgIExFX0xSVU0oMykgfCBM RV9BT00oMCkgfCBMRV9SU0MoMCkgfCBMRV9TQ0MoMCkgfCBcCisJCQkgICBMRV9QRk0oMCkgfCBM RV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksIFwKKwkgIC5sM2NjX3ZhbHVlID0gICAg TDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwzX1VDKSwgXAorCX0sCisK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc19lbnRyeSBpY2VsYWtlX21vY3NfdGFi bGVbXSA9IHsKKwlHRU4xMV9NT0NTX1RBQkxFCisJWzE2XSA9IHsKKwkgIC8qIFJlc2VydmVkIC0g Rm9yIGZ1dHVyZSB1c2UgKi8KKwkgIC5jb250cm9sX3ZhbHVlID0gTEVfQ0FDSEVBQklMSVRZKExF X1BBR0VUQUJMRSkgfAorCQkJICAgTEVfVEdUX0NBQ0hFKExFX1RDX1BBR0VUQUJMRSkgfAorCQkJ ICAgTEVfTFJVTSgwKSB8IExFX0FPTSgwKSB8IExFX1JTQygwKSB8IExFX1NDQygwKSB8CisJCQkg ICBMRV9QRk0oMCkgfCBMRV9TQ0YoMCkgfCBMRV9Db1MoMCkgfCBMRV9TU0UoMCksCisKKwkgIC5s M2NjX3ZhbHVlID0gICAgTDNfRVNDKDApIHwgTDNfU0NDKDApIHwgTDNfQ0FDSEVBQklMSVRZKEwz X0RJUkVDVCksCisJfSwKKwlbMTddID0geworCSAgLyogUmVzZXJ2ZWQgLSBGb3IgZnV0dXJlIHVz ZSAqLworCSAgLmNvbnRyb2xfdmFsdWUgPSBMRV9DQUNIRUFCSUxJVFkoTEVfUEFHRVRBQkxFKSB8 CisJCQkgICBMRV9UR1RfQ0FDSEUoTEVfVENfUEFHRVRBQkxFKSB8CisJCQkgICBMRV9MUlVNKDAp IHwgTEVfQU9NKDApIHwgTEVfUlNDKDApIHwgTEVfU0NDKDApIHwKKwkJCSAgIExFX1BGTSgwKSB8 IExFX1NDRigwKSB8IExFX0NvUygwKSB8IExFX1NTRSgwKSwKKworCSAgLmwzY2NfdmFsdWUgPSAg ICBMM19FU0MoMCkgfCBMM19TQ0MoMCkgfCBMM19DQUNIRUFCSUxJVFkoTDNfRElSRUNUKSwKKwl9 LAorfTsKKwogLyoqCiAgKiBnZXRfbW9jc19zZXR0aW5ncygpCiAgKiBAZGV2X3ByaXY6CWk5MTUg ZGV2aWNlLgpAQCAtMTYxLDggKzM3OSwxMSBAQCBzdGF0aWMgYm9vbCBnZXRfbW9jc19zZXR0aW5n cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB7CiAJYm9vbCByZXN1bHQgPSBm YWxzZTsKIAotCWlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9w cml2KSB8fAotCSAgICBJU19JQ0VMQUtFKGRldl9wcml2KSkgeworCWlmIChJU19JQ0VMQUtFKGRl dl9wcml2KSkgeworCQl0YWJsZS0+c2l6ZSAgPSBBUlJBWV9TSVpFKGljZWxha2VfbW9jc190YWJs ZSk7CisJCXRhYmxlLT50YWJsZSA9IGljZWxha2VfbW9jc190YWJsZTsKKwkJcmVzdWx0ID0gdHJ1 ZTsKKwl9IGVsc2UgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8IElTX0NBTk5PTkxBS0UoZGV2 X3ByaXYpKSB7CiAJCXRhYmxlLT5zaXplICA9IEFSUkFZX1NJWkUoc2t5bGFrZV9tb2NzX3RhYmxl KTsKIAkJdGFibGUtPnRhYmxlID0gc2t5bGFrZV9tb2NzX3RhYmxlOwogCQlyZXN1bHQgPSB0cnVl OwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=