From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/3] drm/i915: Add format modifiers for Intel Date: Thu, 12 Jan 2017 12:51:20 +0200 Message-ID: <20170112105120.GV31595@intel.com> References: <20170112005118.19146-1-ben@bwidawsk.net> <20170112005118.19146-3-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170112005118.19146-3-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ben Widawsky Cc: Intel GFX , "Kristian H . Kristensen" , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMTEsIDIwMTcgYXQgMDQ6NTE6MTdQTSAtMDgwMCwgQmVuIFdpZGF3c2t5IHdy b3RlOgo+IFRoaXMgd2FzIGJhc2VkIG9uIGEgcGF0Y2ggb3JpZ2luYWxseSBieSBLcmlzdGlhbi4g SXQgaGFzIGJlZW4gbW9kaWZpZWQKPiBwcmV0dHkgaGVhdmlseSB0byB1c2UgdGhlIG5ldyBjYWxs YmFja3MgZnJvbSB0aGUgcHJldmlvdXMgcGF0Y2guCj4gCj4gQ2M6IEtyaXN0aWFuIEguIEtyaXN0 ZW5zZW4gPGhvZWdzYmVyZ0BnbWFpbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQmVuIFdpZGF3c2t5 IDxiZW5AYndpZGF3c2submV0Pgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAxMDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwgIDMzICsrKysrKysrKystCj4gIDIg ZmlsZXMgY2hhbmdlZCwgMTM3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDg3MTViMTA4M2QxZC4uMjZmM2E5 MTFiOTk5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC02MSw2 ICs2MSwxMSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgaTh4eF9wcmltYXJ5X2Zvcm1hdHNbXSA9 IHsKPiAgCURSTV9GT1JNQVRfWFJHQjg4ODgsCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3QgdWlu dDY0X3QgaTh4eF9mb3JtYXRfbW9kaWZpZXJzW10gPSB7Cj4gKwlJOTE1X0ZPUk1BVF9NT0RfWF9U SUxFRCwKCkRpZCB3ZSB3YW50IHRvIGxpc3QgdGhlIGxpbmVhciBtb2RpZmllciBpbiB0aGVzZSBh cyB3ZWxsPwoKPiArCURSTV9GT1JNQVRfTU9EX0lOVkFMSUQKPiArfTsKPiArCj4gIC8qIFByaW1h cnkgcGxhbmUgZm9ybWF0cyBmb3IgZ2VuID49IDQgKi8KPiAgc3RhdGljIGNvbnN0IHVpbnQzMl90 IGk5NjVfcHJpbWFyeV9mb3JtYXRzW10gPSB7Cj4gIAlEUk1fRk9STUFUX0M4LAo+IEBAIC03MSw2 ICs3NiwxMSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgaTk2NV9wcmltYXJ5X2Zvcm1hdHNbXSA9 IHsKPiAgCURSTV9GT1JNQVRfWEJHUjIxMDEwMTAsCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3Qg dWludDY0X3QgaTk2NV9mb3JtYXRfbW9kaWZpZXJzW10gPSB7Cj4gKwlJOTE1X0ZPUk1BVF9NT0Rf WF9USUxFRCwKPiArCURSTV9GT1JNQVRfTU9EX0lOVkFMSUQKPiArfTsKCldlIGNvdWxkIGp1c3Qg c2hhcmUgdGhlIGk4eHggYXJyYXkuIFRoZSBuYW1lIG9mIHRoZSBhcnJheSBzaG91bGQgcGVyaGFw cwpiZSBpOXh4X2Zvcm1hdF9tb2RpZmllcnNbXSBpbiB0aGF0IGNhc2UuIFRoYXQncyBzb3J0IG9m IHRoZSBuYW1pbmcKY29udmVudGlvbiB3ZSd2ZSBiZWVuIGxlZnQgd2l0aCBmb3IgdGhpbmdzIHRo YXQgYXBwbHkgdG8gbW9yZSBvciBsZXNzCmFsbCB0aGUgcGxhdGZvcm1zLgoKPiArCj4gIHN0YXRp YyBjb25zdCB1aW50MzJfdCBza2xfcHJpbWFyeV9mb3JtYXRzW10gPSB7Cj4gIAlEUk1fRk9STUFU X0M4LAo+ICAJRFJNX0ZPUk1BVF9SR0I1NjUsCj4gQEAgLTg2LDYgKzk2LDEyIEBAIHN0YXRpYyBj b25zdCB1aW50MzJfdCBza2xfcHJpbWFyeV9mb3JtYXRzW10gPSB7Cj4gIAlEUk1fRk9STUFUX1ZZ VVksCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3QgdWludDY0X3Qgc2tsX2Zvcm1hdF9tb2RpZmll cnNbXSA9IHsKPiArCUk5MTVfRk9STUFUX01PRF9ZX1RJTEVELAoKWWYgbWlzc2luZz8gYW5kIGxp bmVhcgoKPiArCUk5MTVfRk9STUFUX01PRF9YX1RJTEVELAo+ICsJRFJNX0ZPUk1BVF9NT0RfSU5W QUxJRAo+ICt9Owo+ICsKPiAgLyogQ3Vyc29yIGZvcm1hdHMgKi8KPiAgc3RhdGljIGNvbnN0IHVp bnQzMl90IGludGVsX2N1cnNvcl9mb3JtYXRzW10gPSB7Cj4gIAlEUk1fRk9STUFUX0FSR0I4ODg4 LAo+IEBAIC0xNTE3Myw2ICsxNTE4OSw4NyBAQCB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3koc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUpCj4gIAlrZnJlZSh0b19pbnRlbF9wbGFuZShwbGFuZSkpOwo+ ICB9Cj4gIAo+ICtzdGF0aWMgYm9vbCBpOHh4X21vZF9zdXBwb3J0ZWQodWludDMyX3QgZm9ybWF0 LCB1aW50NjRfdCBtb2RpZmllcikKPiArewo+ICsJaWYgKG1vZGlmaWVyID09IERSTV9GT1JNQVRf TU9EX05PTkUpCj4gKwkJcmV0dXJuIHRydWU7Cj4gKwo+ICsJc3dpdGNoIChmb3JtYXQpIHsKPiAr CWNhc2UgRFJNX0ZPUk1BVF9DODoKPiArCWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjU6Cj4gKwljYXNl IERSTV9GT1JNQVRfWFJHQjE1NTU6Cj4gKwljYXNlIERSTV9GT1JNQVRfWFJHQjg4ODg6Cj4gKwkJ cmV0dXJuIG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9YX1RJTEVEOwo+ICsJZGVmYXVsdDoK PiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGk5NjVfbW9k X3N1cHBvcnRlZCh1aW50MzJfdCBmb3JtYXQsIHVpbnQ2NF90IG1vZGlmaWVyKQo+ICt7Cj4gKwlz d2l0Y2ggKGZvcm1hdCkgewo+ICsJY2FzZSBEUk1fRk9STUFUX0M4Ogo+ICsJY2FzZSBEUk1fRk9S TUFUX1JHQjU2NToKPiArCWNhc2UgRFJNX0ZPUk1BVF9YUkdCODg4ODoKPiArCWNhc2UgRFJNX0ZP Uk1BVF9YQkdSODg4ODoKPiArCWNhc2UgRFJNX0ZPUk1BVF9YUkdCMjEwMTAxMDoKPiArCWNhc2Ug RFJNX0ZPUk1BVF9YQkdSMjEwMTAxMDoKPiArCQlyZXR1cm4gbW9kaWZpZXIgPT0gSTkxNV9GT1JN QVRfTU9EX1hfVElMRUQ7Cj4gKwlkZWZhdWx0Ogo+ICsJCXJldHVybiBmYWxzZTsKPiArCX0KPiAr fQoKSG1tLiBUaGVyZSBzaG91bGQgYmUgbm8gZm9ybWF0IHZzLiB0aWxpbmcgcmVzdHJpY3Rpb25z IG9uIHRoZXNlCnBsYXRmb3Jtcywgc28gcHJlc3VtYWJseSBhIHNpbXBsZSAicmV0dXJuIHRydWUi IHNob3VsZCBjb3ZlciBpdCBhbGwuClRoYXQgZG9lcyBwZXJoYXBzIHJlbW92ZSB0aGUgdXNlZnVs bmVzcyBvZiB0aGVzZSBmdW5jdGlvbnMgZm9yCnZlcmlmeWluZyB0aGF0IHRoZSBmb3JtYXQgb3Ig bW9kaWZpZXIgaXMgc3VwcG9ydGVkIGF0IGFsbCwgYnV0IEkndmUgYmVlbgp0aGlua2luZyB0aGF0 IGFkZGZiIHNob3VsZCBwZXJoYXBzIGp1c3QgaXRlcmF0ZSB0aHJvdWdoIHRoZSBmb3JtYXQgYW5k Cm1vZGlmaWVyIGxpc3RzIGZvciBldmVyeSBwbGFuZS4gV291bGQgYXZvaWQgaGF2aW5nIHRvIGVm ZmVjdGl2ZWx5IAptYWludGFpbiB0aGUgc2FtZSBsaXN0cyBpbiBtdWx0aXBsZSBwbGFjZXMuCgo+ ICsKPiArc3RhdGljIGJvb2wgc2tsX21vZF9zdXBwb3J0ZWQodWludDMyX3QgZm9ybWF0LCB1aW50 NjRfdCBtb2RpZmllcikKPiArewo+ICsJc3dpdGNoIChmb3JtYXQpIHsKPiArCWNhc2UgRFJNX0ZP Uk1BVF9DODoKPiArCWNhc2UgRFJNX0ZPUk1BVF9SR0I1NjU6Cj4gKwljYXNlIERSTV9GT1JNQVRf WFJHQjg4ODg6Cj4gKwljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6Cj4gKwljYXNlIERSTV9GT1JN QVRfQVJHQjg4ODg6Cj4gKwljYXNlIERSTV9GT1JNQVRfQUJHUjg4ODg6Cj4gKwkJcmV0dXJuIG1v ZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEIHx8Cj4gKwkJCW1vZGlmaWVyID09IEk5 MTVfRk9STUFUX01PRF9YX1RJTEVEOwo+ICsJY2FzZSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwOgo+ ICsJY2FzZSBEUk1fRk9STUFUX1hCR1IyMTAxMDEwOgo+ICsJCXJldHVybiBtb2RpZmllciA9PSBJ OTE1X0ZPUk1BVF9NT0RfWF9USUxFRDsKPiArCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOgo+ICsJY2Fz ZSBEUk1fRk9STUFUX1lWWVU6Cj4gKwljYXNlIERSTV9GT1JNQVRfVVlWWToKPiArCWNhc2UgRFJN X0ZPUk1BVF9WWVVZOgoKSUlSQyBvbiBTS0wgdGhlIG9ubHkgcmVzdHJpY3Rpb25zIHNob3VsZCBi ZSB0aGF0IENDUyBtb2RpZmllcnMgYXJlCmxpbWl0ZWQgdG8gODo4Ojg6OCBmb3JtYXRzIG9ubHku IE90aGVyIG1vZGlmaWVycyBzaG91bGQgd29yawp3aXRoIGFueSBmb3JtYXQuCgo+ICsJZGVmYXVs dDoKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwl9Cj4gKwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBp bnRlbF9wbGFuZV9mb3JtYXRfbW9kX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK PiArCQkJCQkgICAgIHVpbnQzMl90IGZvcm1hdCwKPiArCQkJCQkgICAgIHVpbnQ2NF90IG1vZGlm aWVyKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KHBsYW5lLT5kZXYpOwo+ICsKPiArCWlmIChtb2RpZmllciA9PSBEUk1fRk9STUFUX01PRF9OT05F KQo+ICsJCXJldHVybiB0cnVlOwo+ICsKPiArCWlmIChXQVJOX09OKG1vZGlmaWVyID09IERSTV9G T1JNQVRfTU9EX0lOVkFMSUQpKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlpZiAoV0FSTl9P TihwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9QUklNQVJZICYmCj4gKwkJICAgIHBsYW5l LT50eXBlICE9IERSTV9QTEFORV9UWVBFX09WRVJMQVkpKQo+ICsJICAgIHJldHVybiBmYWxzZTsK PiArCj4gKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ICsJCXJldHVybiBza2xfbW9k X3N1cHBvcnRlZChmb3JtYXQsIG1vZGlmaWVyKTsKPiArCWVsc2UgaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gNCkKPiArCQlyZXR1cm4gaTk2NV9tb2Rfc3VwcG9ydGVkKGZvcm1hdCwgbW9kaWZp ZXIpOwo+ICsJZWxzZQo+ICsJCXJldHVybiBpOHh4X21vZF9zdXBwb3J0ZWQoZm9ybWF0LCBtb2Rp Zmllcik7Cj4gKwo+ICsJcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICBjb25zdCBzdHJ1Y3QgZHJt X3BsYW5lX2Z1bmNzIGludGVsX3BsYW5lX2Z1bmNzID0gewo+ICAJLnVwZGF0ZV9wbGFuZSA9IGRy bV9hdG9taWNfaGVscGVyX3VwZGF0ZV9wbGFuZSwKPiAgCS5kaXNhYmxlX3BsYW5lID0gZHJtX2F0 b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKPiBAQCAtMTUxODIsNiArMTUyNzksNyBAQCBjb25z dCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3BsYW5lX2Z1bmNzID0gewo+ICAJLmF0b21p Y19zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9hdG9taWNfc2V0X3Byb3BlcnR5LAo+ICAJLmF0 b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9wbGFuZV9kdXBsaWNhdGVfc3RhdGUsCj4gIAku YXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRlLAo+ICsJLmZv cm1hdF9tb2Rfc3VwcG9ydGVkID0gaW50ZWxfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQsCj4g IH07Cj4gIAo+ICBzdGF0aWMgaW50Cj4gQEAgLTE1MzI0LDYgKzE1NDIyLDcgQEAgaW50ZWxfcHJp bWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVt IHBpcGUgcGlwZSkKPiAgCWNvbnN0IHVpbnQzMl90ICppbnRlbF9wcmltYXJ5X2Zvcm1hdHM7Cj4g IAl1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9uczsKPiAgCXVuc2lnbmVkIGludCBudW1f Zm9ybWF0czsKPiArCWNvbnN0IHVpbnQ2NF90ICppbnRlbF9mb3JtYXRfbW9kaWZpZXJzOwo+ICAJ aW50IHJldDsKPiAgCj4gIAlwcmltYXJ5ID0ga3phbGxvYyhzaXplb2YoKnByaW1hcnkpLCBHRlBf S0VSTkVMKTsKPiBAQCAtMTUzNjIsMjQgKzE1NDYxLDI4IEBAIGludGVsX3ByaW1hcnlfcGxhbmVf Y3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUp Cj4gIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gIAkJaW50ZWxfcHJpbWFyeV9m b3JtYXRzID0gc2tsX3ByaW1hcnlfZm9ybWF0czsKPiAgCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJ WkUoc2tsX3ByaW1hcnlfZm9ybWF0cyk7Cj4gKwkJaW50ZWxfZm9ybWF0X21vZGlmaWVycyA9IHNr bF9mb3JtYXRfbW9kaWZpZXJzOwo+ICAKPiAgCQlwcmltYXJ5LT51cGRhdGVfcGxhbmUgPSBza3ls YWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lOwo+ICAJCXByaW1hcnktPmRpc2FibGVfcGxhbmUgPSBz a3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPiAgCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJ VChkZXZfcHJpdikpIHsKPiAgCQlpbnRlbF9wcmltYXJ5X2Zvcm1hdHMgPSBpOTY1X3ByaW1hcnlf Zm9ybWF0czsKPiAgCQludW1fZm9ybWF0cyA9IEFSUkFZX1NJWkUoaTk2NV9wcmltYXJ5X2Zvcm1h dHMpOwo+ICsJCWludGVsX2Zvcm1hdF9tb2RpZmllcnMgPSBpOTY1X2Zvcm1hdF9tb2RpZmllcnM7 Cj4gIAo+ICAJCXByaW1hcnktPnVwZGF0ZV9wbGFuZSA9IGlyb25sYWtlX3VwZGF0ZV9wcmltYXJ5 X3BsYW5lOwo+ICAJCXByaW1hcnktPmRpc2FibGVfcGxhbmUgPSBpOXh4X2Rpc2FibGVfcHJpbWFy eV9wbGFuZTsKPiAgCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA0KSB7Cj4gIAkJ aW50ZWxfcHJpbWFyeV9mb3JtYXRzID0gaTk2NV9wcmltYXJ5X2Zvcm1hdHM7Cj4gIAkJbnVtX2Zv cm1hdHMgPSBBUlJBWV9TSVpFKGk5NjVfcHJpbWFyeV9mb3JtYXRzKTsKPiArCQlpbnRlbF9mb3Jt YXRfbW9kaWZpZXJzID0gaTk2NV9mb3JtYXRfbW9kaWZpZXJzOwo+ICAKPiAgCQlwcmltYXJ5LT51 cGRhdGVfcGxhbmUgPSBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lOwo+ICAJCXByaW1hcnktPmRp c2FibGVfcGxhbmUgPSBpOXh4X2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPiAgCX0gZWxzZSB7Cj4g IAkJaW50ZWxfcHJpbWFyeV9mb3JtYXRzID0gaTh4eF9wcmltYXJ5X2Zvcm1hdHM7Cj4gIAkJbnVt X2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGk4eHhfcHJpbWFyeV9mb3JtYXRzKTsKPiArCQlpbnRlbF9m b3JtYXRfbW9kaWZpZXJzID0gaTh4eF9mb3JtYXRfbW9kaWZpZXJzOwo+ICAKPiAgCQlwcmltYXJ5 LT51cGRhdGVfcGxhbmUgPSBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lOwo+ICAJCXByaW1hcnkt PmRpc2FibGVfcGxhbmUgPSBpOXh4X2Rpc2FibGVfcHJpbWFyeV9wbGFuZTsKPiBAQCAtMTUzODks MjEgKzE1NDkyLDIxIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCj4gIAkJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmcHJpbWFyeS0+YmFzZSwKPiAgCQkJCQkg ICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAo+ICAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5 X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAo+IC0JCQkJCSAgICAgICBOVUxMLAo+ICsJCQkJCSAgICAg ICBpbnRlbF9mb3JtYXRfbW9kaWZpZXJzLAo+ICAJCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9Q UklNQVJZLAo+ICAJCQkJCSAgICAgICAicGxhbmUgMSVjIiwgcGlwZV9uYW1lKHBpcGUpKTsKPiAg CWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSB8fCBJU19HNFgoZGV2X3ByaXYpKQo+ ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwgJnByaW1h cnktPmJhc2UsCj4gIAkJCQkJICAgICAgIDAsICZpbnRlbF9wbGFuZV9mdW5jcywKPiAgCQkJCQkg ICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKPiAtCQkJCQkgICAgICAg TlVMTCwKPiArCQkJCQkgICAgICAgaW50ZWxfZm9ybWF0X21vZGlmaWVycywKPiAgCQkJCQkgICAg ICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAgCQkJCQkgICAgICAgInByaW1hcnkgJWMiLCBw aXBlX25hbWUocGlwZSkpOwo+ICAJZWxzZQo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVf aW5pdCgmZGV2X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCj4gIAkJCQkJICAgICAgIDAsICZp bnRlbF9wbGFuZV9mdW5jcywKPiAgCQkJCQkgICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBu dW1fZm9ybWF0cywKPiAtCQkJCQkgICAgICAgTlVMTCwKPiArCQkJCQkgICAgICAgaW50ZWxfZm9y bWF0X21vZGlmaWVycywKPiAgCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAg CQkJCQkgICAgICAgInBsYW5lICVjIiwgcGxhbmVfbmFtZShwcmltYXJ5LT5wbGFuZSkpOwo+ICAJ aWYgKHJldCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGluZGV4IDFjMmYyNmQ4 NmY3Ni4uMTUyZWM4MTk2ZDQxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK PiBAQCAtOTk0LDYgKzk5NCwxMSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgaWxrX3BsYW5lX2Zv cm1hdHNbXSA9IHsKPiAgCURSTV9GT1JNQVRfVllVWSwKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25z dCB1aW50NjRfdCBpbGtfcGxhbmVfZm9ybWF0X21vZGlmaWVyc1tdID0gewo+ICsJSTkxNV9GT1JN QVRfTU9EX1hfVElMRUQsCj4gKwlEUk1fRk9STUFUX01PRF9JTlZBTElECj4gK307Cj4gKwo+ICBz dGF0aWMgY29uc3QgdWludDMyX3Qgc25iX3BsYW5lX2Zvcm1hdHNbXSA9IHsKPiAgCURSTV9GT1JN QVRfWEJHUjg4ODgsCj4gIAlEUk1fRk9STUFUX1hSR0I4ODg4LAo+IEBAIC0xMDAzLDYgKzEwMDgs MTEgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IHNuYl9wbGFuZV9mb3JtYXRzW10gPSB7Cj4gIAlE Uk1fRk9STUFUX1ZZVVksCj4gIH07Cj4gIAo+ICtzdGF0aWMgY29uc3QgdWludDY0X3Qgc25iX3Bs YW5lX2Zvcm1hdF9tb2RpZmllcnNbXSA9IHsKPiArCUk5MTVfRk9STUFUX01PRF9YX1RJTEVELAo+ ICsJRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHVpbnQz Ml90IHZsdl9wbGFuZV9mb3JtYXRzW10gPSB7Cj4gIAlEUk1fRk9STUFUX1JHQjU2NSwKPiAgCURS TV9GT1JNQVRfQUJHUjg4ODgsCj4gQEAgLTEwMTcsNiArMTAyNywxMSBAQCBzdGF0aWMgY29uc3Qg dWludDMyX3Qgdmx2X3BsYW5lX2Zvcm1hdHNbXSA9IHsKPiAgCURSTV9GT1JNQVRfVllVWSwKPiAg fTsKPiAgCj4gK3N0YXRpYyBjb25zdCB1aW50NjRfdCB2bHZfcGxhbmVfZm9ybWF0X21vZGlmaWVy c1tdID0gewo+ICsJSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCj4gKwlEUk1fRk9STUFUX01PRF9J TlZBTElECj4gK307Cj4gKwo+ICBzdGF0aWMgdWludDMyX3Qgc2tsX3BsYW5lX2Zvcm1hdHNbXSA9 IHsKPiAgCURSTV9GT1JNQVRfUkdCNTY1LAo+ICAJRFJNX0ZPUk1BVF9BQkdSODg4OCwKPiBAQCAt MTAyOSw2ICsxMDQ0LDEyIEBAIHN0YXRpYyB1aW50MzJfdCBza2xfcGxhbmVfZm9ybWF0c1tdID0g ewo+ICAJRFJNX0ZPUk1BVF9WWVVZLAo+ICB9Owo+ICAKPiArc3RhdGljIGNvbnN0IHVpbnQ2NF90 IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzW10gPSB7Cj4gKwlJOTE1X0ZPUk1BVF9NT0RfWV9U SUxFRCwKPiArCUk5MTVfRk9STUFUX01PRF9YX1RJTEVELAo+ICsJRFJNX0ZPUk1BVF9NT0RfSU5W QUxJRAo+ICt9Owo+ICsKPiAgc3RydWN0IGludGVsX3BsYW5lICoKPiAgaW50ZWxfc3ByaXRlX3Bs YW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCSAgZW51 bSBwaXBlIHBpcGUsIGludCBwbGFuZSkKPiBAQCAtMTAzNyw2ICsxMDU4LDcgQEAgaW50ZWxfc3By aXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlID0gTlVMTDsKPiAgCXVuc2lnbmVkIGxvbmcg cG9zc2libGVfY3J0Y3M7Cj4gIAljb25zdCB1aW50MzJfdCAqcGxhbmVfZm9ybWF0czsKPiArCWNv bnN0IHVpbnQ2NF90ICptb2RpZmllcnM7Cj4gIAl1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0 aW9uczsKPiAgCWludCBudW1fcGxhbmVfZm9ybWF0czsKPiAgCWludCByZXQ7Cj4gQEAgLTEwNjMs NiArMTA4NSw3IEBAIGludGVsX3Nwcml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAKPiAgCQlwbGFuZV9mb3JtYXRzID0gc2tsX3BsYW5lX2Zvcm1h dHM7Cj4gIAkJbnVtX3BsYW5lX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3JtYXRz KTsKPiArCQltb2RpZmllcnMgPSBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyczsKPiAgCX0gZWxz ZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikp IHsKPiAgCQlpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID0gZmFsc2U7Cj4gIAkJaW50ZWxfcGxhbmUt Pm1heF9kb3duc2NhbGUgPSAxOwo+IEBAIC0xMDcyLDYgKzEwOTUsNyBAQCBpbnRlbF9zcHJpdGVf cGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gIAkJ cGxhbmVfZm9ybWF0cyA9IHZsdl9wbGFuZV9mb3JtYXRzOwo+ICAJCW51bV9wbGFuZV9mb3JtYXRz ID0gQVJSQVlfU0laRSh2bHZfcGxhbmVfZm9ybWF0cyk7Cj4gKwkJbW9kaWZpZXJzID0gdmx2X3Bs YW5lX2Zvcm1hdF9tb2RpZmllcnM7Cj4gIAl9IGVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gNykgewo+ICAJCWlmIChJU19JVllCUklER0UoZGV2X3ByaXYpKSB7Cj4gIAkJCWludGVsX3Bs YW5lLT5jYW5fc2NhbGUgPSB0cnVlOwo+IEBAIC0xMDg2LDYgKzExMTAsNyBAQCBpbnRlbF9zcHJp dGVfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4g IAkJcGxhbmVfZm9ybWF0cyA9IHNuYl9wbGFuZV9mb3JtYXRzOwo+ICAJCW51bV9wbGFuZV9mb3Jt YXRzID0gQVJSQVlfU0laRShzbmJfcGxhbmVfZm9ybWF0cyk7Cj4gKwkJbW9kaWZpZXJzID0gc25i X3BsYW5lX2Zvcm1hdF9tb2RpZmllcnM7Cj4gIAl9IGVsc2Ugewo+ICAJCWludGVsX3BsYW5lLT5j YW5fc2NhbGUgPSB0cnVlOwo+ICAJCWludGVsX3BsYW5lLT5tYXhfZG93bnNjYWxlID0gMTY7Cj4g QEAgLTEwOTYsOSArMTEyMSwxMSBAQCBpbnRlbF9zcHJpdGVfcGxhbmVfY3JlYXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQlpZiAoSVNfR0VONihkZXZfcHJpdikpIHsK PiAgCQkJcGxhbmVfZm9ybWF0cyA9IHNuYl9wbGFuZV9mb3JtYXRzOwo+ICAJCQludW1fcGxhbmVf Zm9ybWF0cyA9IEFSUkFZX1NJWkUoc25iX3BsYW5lX2Zvcm1hdHMpOwo+ICsJCQltb2RpZmllcnMg PSBzbmJfcGxhbmVfZm9ybWF0X21vZGlmaWVyczsKPiAgCQl9IGVsc2Ugewo+ICAJCQlwbGFuZV9m b3JtYXRzID0gaWxrX3BsYW5lX2Zvcm1hdHM7Cj4gIAkJCW51bV9wbGFuZV9mb3JtYXRzID0gQVJS QVlfU0laRShpbGtfcGxhbmVfZm9ybWF0cyk7Cj4gKwkJCW1vZGlmaWVycyA9IGlsa19wbGFuZV9m b3JtYXRfbW9kaWZpZXJzOwo+ICAJCX0KPiAgCX0KPiAgCj4gQEAgLTExMjcsMTMgKzExNTQsMTUg QEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJt LCAmaW50ZWxfcGxhbmUtPmJhc2UsCj4gIAkJCQkJICAgICAgIHBvc3NpYmxlX2NydGNzLCAmaW50 ZWxfcGxhbmVfZnVuY3MsCj4gIAkJCQkJICAgICAgIHBsYW5lX2Zvcm1hdHMsIG51bV9wbGFuZV9m b3JtYXRzLAo+IC0JCQkJCSAgICAgICBOVUxMLCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+ICsJ CQkJCSAgICAgICBtb2RpZmllcnMsCj4gKwkJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJM QVksCj4gIAkJCQkJICAgICAgICJwbGFuZSAlZCVjIiwgcGxhbmUgKyAyLCBwaXBlX25hbWUocGlw ZSkpOwo+ICAJZWxzZQo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3By aXYtPmRybSwgJmludGVsX3BsYW5lLT5iYXNlLAo+ICAJCQkJCSAgICAgICBwb3NzaWJsZV9jcnRj cywgJmludGVsX3BsYW5lX2Z1bmNzLAo+ICAJCQkJCSAgICAgICBwbGFuZV9mb3JtYXRzLCBudW1f cGxhbmVfZm9ybWF0cywKPiAtCQkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwKPiArCQkJCQkgICAgICAgbW9kaWZpZXJzLAo+ICsJCQkJCSAgICAgICBEUk1fUExBTkVfVFlQ RV9PVkVSTEFZLAo+ICAJCQkJCSAgICAgICAic3ByaXRlICVjIiwgc3ByaXRlX25hbWUocGlwZSwg cGxhbmUpKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBmYWlsOwo+IC0tIAo+IDIuMTEuMAo+IAo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRl dmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==