From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH 102/190] drm/i915: Move the "per-ring" default_context to the device Date: Mon, 11 Jan 2016 14:40:41 +0000 Message-ID: <5693BEE9.7090204@intel.com> References: <1452503961-14837-1-git-send-email-chris@chris-wilson.co.uk> <1452509174-16671-1-git-send-email-chris@chris-wilson.co.uk> <1452509174-16671-16-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id A9D1D6E39E for ; Mon, 11 Jan 2016 06:40:43 -0800 (PST) In-Reply-To: <1452509174-16671-16-git-send-email-chris@chris-wilson.co.uk> 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, Chris Wilson List-Id: intel-gfx@lists.freedesktop.org T24gMTEvMDEvMTYgMTA6NDQsIENocmlzIFdpbHNvbiB3cm90ZToKPiBXZSBoYXZlIGEgZmFsc2Ug bm90aW9uIG9mIGEgZGVmYXVsdF9jb250ZXh0IGFsbG9jYXRlZCBwZXIgZW5naW5lLAo+IHdoZXJl YXMgYWN0dWFsbHkgaXQgaXMgYSBzaW5ndWxhciBjb250ZXh0IHJlc2VydmVkIGZvciBrZXJuZWwg dXNlLgo+IFJlbW92ZSBpdCBmcm9tIHRoZSBlbmdpbmVzLCBhbmQgcmVuYW1lIGl0IHRodXMuCj4K PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8IDE5 ICsrKysrKysrKysrKysrLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICAgICB8ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAg ICAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgICAgfCAyOCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jICAgICAgfCAgNCArKy0tCj4gICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgOSArKysrKy0tLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgNiArKystLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyAgICAgICB8ICA4ICsrKystLS0tCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAgMSAtCj4gICAxMCBmaWxl cyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCldlbGwgZ2VuZXJh bGx5LCBJIGxpa2UgdGhpcywgJ2NvcyBpdCBsb29rcyBqdXN0IGxpa2UgbXkgcGF0Y2ggdGhhdCAK c3RyYW5nZWx5IHdhcyByZWplY3RlZCwgYnV0IC4uLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwo+IGluZGV4IGVhNWI5ZjZkMGZjOS4uZGVlNjY4MDdjNmJkIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTk2MCwxMiArMTk2MCwyMSBAQCBzdGF0aWMg aW50IGk5MTVfY29udGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQp Cj4gICAJCQljb250aW51ZTsKPgo+ICAgCQlzZXFfcHV0cyhtLCAiSFcgY29udGV4dCAiKTsKPiAr CQlpZiAoSVNfRVJSKGN0eC0+ZmlsZV9wcml2KSkgewo+ICsJCQlzZXFfcHV0cyhtLCAiKGRlbGV0 ZWQpICIpOwo+ICsJCX0gZWxzZSBpZiAoY3R4LT5maWxlX3ByaXYpIHsKPiArCQkJc3RydWN0IHBp ZCAqcGlkID0gY3R4LT5maWxlX3ByaXYtPmZpbGUtPnBpZDsKPiArCQkJc3RydWN0IHRhc2tfc3Ry dWN0ICp0YXNrOwo+ICsKPiArCQkJdGFzayA9IGdldF9waWRfdGFzayhwaWQsIFBJRFRZUEVfUElE KTsKPiArCQkJaWYgKHRhc2spIHsKPiArCQkJCXNlcV9wcmludGYobSwgIiglcyBbJWRdKSAiLAo+ ICsJCQkJCSAgIHRhc2stPmNvbW0sIHRhc2stPnBpZCk7Cj4gKwkJCQlwdXRfdGFza19zdHJ1Y3Qo dGFzayk7Cj4gKwkJCX0KPiArCQl9IGVsc2UKPiArCQkJc2VxX3B1dHMobSwgIihrZXJuZWwpICIp OwoKSW1wcm9wZXIgZm9ybWF0dGluZywgbmVlZHMge30gcm91bmQgZWxzZSBjbGF1c2UuIFdvdWxk IGxvb2sgcHJldHRpZXIgdG8gCnB1dCAiaWYgKCFjdHgtPmZpbGVfcHJpdikiIGZpcnN0IG9mIGFs bCBpbiB0aGlzIGlmLWxhZGRlciwgc28gdGhlIAp0cml2aWFsIGNhc2VzIChrZXJuZWwsIGRlbGV0 ZWQpIGFyZSBkZWFsdCB3aXRoIGZpcnN0LgoKPiAgIAkJZGVzY3JpYmVfY3R4KG0sIGN0eCk7Cj4g LQkJZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgewo+IC0JCQlpZiAocmluZy0+ZGVm YXVsdF9jb250ZXh0ID09IGN0eCkKPiAtCQkJCXNlcV9wcmludGYobSwgIihkZWZhdWx0IGNvbnRl eHQgJXMpICIsCj4gLQkJCQkJICAgcmluZy0+bmFtZSk7Cj4gLQkJfQo+Cj4gICAJCWlmIChpOTE1 LmVuYWJsZV9leGVjbGlzdHMpIHsKPiAgIAkJCXNlcV9wdXRjKG0sICdcbicpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IGluZGV4IDU3MTFhZTNhMjJhMS4uNGFkYTYyNWI3NTFlIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTE3MDMsNiArMTcwMyw3IEBAIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlIHsKPgo+ICAgCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfZGV2Owo+ICAgCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgcmluZ1tJOTE1X05VTV9SSU5HU107Cj4gKwlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqa2VybmVsX2NvbnRleHQ7Cj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKnNlbWFwaG9yZV9vYmo7Cj4gICAJdWludDMyX3QgbGFzdF9zZXFubywgbmV4dF9zZXFubzsK Pgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGQ3MDUwMDVjYTI2ZS4uYTgyYTA2YTYx MjYyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTQwOTcsNyArNDA5Nyw3IEBA IGk5MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkgKi8KPiAgIAlp bml0X3VudXNlZF9yaW5ncyhkZXYpOwo+Cj4gLQlCVUdfT04oIWRldl9wcml2LT5yaW5nW1JDU10u ZGVmYXVsdF9jb250ZXh0KTsKPiArCUJVR19PTighZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsK Pgo+ICAgCXJldCA9IGk5MTVfcHBndHRfaW5pdF9odyhkZXYpOwo+ICAgCWlmIChyZXQpIHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggOWY5ODkyNTI1OTQ1 Li41OTNjMjJhNzAyZmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCj4gQEAgLTIxNiw2ICsyMTYsNyBAQCBzdGF0aWMgdm9pZCBjb250ZXh0X2Nsb3NlKHN0cnVj dCBpbnRlbF9jb250ZXh0ICpjdHgpCj4gICAJY3R4LT5jbG9zZWQgPSB0cnVlOwo+ICAgCWlmIChj dHgtPnBwZ3R0KQo+ICAgCQlpOTE1X3BwZ3R0X2Nsb3NlKCZjdHgtPnBwZ3R0LT5iYXNlKTsKPiAr CWN0eC0+ZmlsZV9wcml2ID0gRVJSX1BUUigtRU5PRU5UKTsKCk9uIHRoZSBvbmUgaGFuZCwgeWVz LCBJIGFncmVlIHdpdGggemFwcGluZyBjdHgtPmZpbGVfcHJpdiwgaWYgaXQncyBnb2luZyAKdG8g cmVtYWluIGF0IGFsbC4gSSBkb24ndCBjYXJlIHdoZXRoZXIgaXQncyBOVUxMZWQgb3Igc2V0IHRv IGFueSBvdGhlciAKbm90LWEtcG9pbnRlciAoSSBoYWQgYSB2ZXJzaW9uIHdoZXJlIGl0IHdhcyBQ T0lTT05lZCkuCgpPbiB0aGUgb3RoZXIsIEkgY2FuJ3QgYXBwbHkgdGhpcyBwYXRjaCB0byBkcm0t aW50ZWwtbmlnaHRseSB3aXRob3V0IApmaXJzdCB0YWtpbmcgYXQgbGVhc3Qgc29tZSBsYXJnZSBz dWJzZXQgb2YgdGhlIDEwMSBwcmVjZWRpbmcgcGF0Y2hlczsgCndoaWNoIEkgd29uJ3QgZG8gYmVj YXVzZSBJIGRvbid0IGhhdmUgdGhlIHRpbWUgb3Iga25vd2xlZGdlIHRvIHJldmlldyAKZXZlcnkg b25lIG9mIHRoZW0sIGJ1dCBpZiBJIHRha2Ugb25lIHdpdGhvdXQgcmV2aWV3aW5nIGl0IHRoZW4g dGhhdCAKaW52YWxpZGF0ZXMgcmV2aWV3aW5nIHN1YnNlcXVlbnQgZGVwZW5kYW50cy4KCkl0J3Mg c3VyZWx5IG11Y2ggZWFzaWVyIGZvciByZXZpZXdlcnMgaWYgcGF0Y2hzZXRzIGFyZSBhcnJhbmdl ZCBpbiBhIApzaG9ydCBicm9hZCBidXNoIHJhdGhlciB0aGFuIGEgc2luZ2xlIGxvbmcgY2hhaW4/ IEkgd291bGQgcHJvYmFibHkgZ2l2ZSAKdGhpcyBteSBSLUIgaWYgaXQgd2VyZSBuZWFyIHRoZSBi YXNlIG9mIHRoZSB0cmVlIGFuZCBJIGNvdWxkIGZvbGxvdyB0aGUgCihzaG9ydCkgY2hhaW4gZnJv bSByb290IHRvIHRpcDsgYnV0IGhlcmUgaXQncyBxdWV1ZWQgYmVoaW5kIGxvdHMgb2YgCnRoaW5n cyBJIGRvbid0IHdhbnQgdG8gY2hlY2sgOigKCj4gICAJaTkxNV9nZW1fY29udGV4dF91bnJlZmVy ZW5jZShjdHgpOwo+ICAgfQo+Cj4gQEAgLTM1OCwyMiArMzU5LDIxIEBAIHZvaWQgaTkxNV9nZW1f Y29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCQkJaTkxNV9nZW1fY29u dGV4dF91bnJlZmVyZW5jZShsY3R4KTsKPiAgIAkJCXJpbmctPmxhc3RfY29udGV4dCA9IE5VTEw7 Cj4gICAJCX0KPiAtCj4gLQkJLyogRm9yY2UgdGhlIEdQVSBzdGF0ZSB0byBiZSByZWluaXRpYWxp c2VkIG9uIGVuYWJsaW5nICovCj4gLQkJaWYgKHJpbmctPmRlZmF1bHRfY29udGV4dCkKPiAtCQkJ cmluZy0+ZGVmYXVsdF9jb250ZXh0LT5sZWdhY3lfaHdfY3R4LmluaXRpYWxpemVkID0gZmFsc2U7 Cj4gICAJfQo+ICsKPiArCS8qIEZvcmNlIHRoZSBHUFUgc3RhdGUgdG8gYmUgcmVpbml0aWFsaXNl ZCBvbiBlbmFibGluZyAqLwo+ICsJaWYgKGRldl9wcml2LT5rZXJuZWxfY29udGV4dCkKPiArCQlk ZXZfcHJpdi0+a2VybmVsX2NvbnRleHQtPmxlZ2FjeV9od19jdHguaW5pdGlhbGl6ZWQgPSBmYWxz ZTsKPiAgIH0KPgo+ICAgaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiAtCWludCBp Owo+Cj4gICAJLyogSW5pdCBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSBwZXIgbW9kdWxlIGxv YWQuIEV2ZW50dWFsbHkgdGhlCj4gICAJICogcmVzdHJpY3Rpb24gb24gdGhlIGNvbnRleHRfZGlz YWJsZWQgY2hlY2sgY2FuIGJlIGxvb3NlbmVkLiAqLwo+IC0JaWYgKFdBUk5fT04oZGV2X3ByaXYt PnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQpKQo+ICsJaWYgKFdBUk5fT04oZGV2X3ByaXYtPmtl cm5lbF9jb250ZXh0KSkKPiAgIAkJcmV0dXJuIDA7Cj4KPiAgIAlpZiAoaW50ZWxfdmdwdV9hY3Rp dmUoZGV2KSAmJiBIQVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRTKGRldikpIHsKPiBAQCAtNDAyLDEz ICs0MDIsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gICAJCQkgIFBUUl9FUlIoY3R4KSk7Cj4gICAJCXJldHVybiBQVFJfRVJSKGN0eCk7Cj4g ICAJfQo+IC0KPiAtCWZvciAoaSA9IDA7IGkgPCBJOTE1X05VTV9SSU5HUzsgaSsrKSB7Cj4gLQkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tpXTsKPiAtCj4g LQkJLyogTkI6IFJDUyB3aWxsIGhvbGQgYSByZWYgZm9yIGFsbCByaW5ncyAqLwo+IC0JCXJpbmct PmRlZmF1bHRfY29udGV4dCA9IGN0eDsKPiAtCX0KPiArCWRldl9wcml2LT5rZXJuZWxfY29udGV4 dCA9IGN0eDsKPgo+ICAgCURSTV9ERUJVR19EUklWRVIoIiVzIGNvbnRleHQgc3VwcG9ydCBpbml0 aWFsaXplZFxuIiwKPiAgIAkJCWk5MTUuZW5hYmxlX2V4ZWNsaXN0cyA/ICJMUiIgOgo+IEBAIC00 MTksNyArNDEzLDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2Zpbmkoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmRjdHggPSBkZXZfcHJpdi0+ cmluZ1tSQ1NdLmRlZmF1bHRfY29udGV4dDsKPiArCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpkY3R4 ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+ICAgCWludCBpOwo+Cj4gICAJaWYgKGRjdHgt PmxlZ2FjeV9od19jdHgucmNzX3N0YXRlKSB7Cj4gQEAgLTQ0OSwxMCArNDQzLDEwIEBAIHZvaWQg aTkxNV9nZW1fY29udGV4dF9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJZm9yIChp ID0gMDsgaSA8IEk5MTVfTlVNX1JJTkdTOyBpKyspIHsKPiAgIAkJc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZyA9ICZkZXZfcHJpdi0+cmluZ1tpXTsKPgo+IC0JCWlmIChyaW5nLT5sYXN0X2Nv bnRleHQpCj4gLQkJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UocmluZy0+bGFzdF9jb250 ZXh0KTsKPiArCQlpZiAocmluZy0+bGFzdF9jb250ZXh0ID09IE5VTEwpCj4gKwkJCWNvbnRpbnVl Owo+Cj4gLQkJcmluZy0+ZGVmYXVsdF9jb250ZXh0ID0gTlVMTDsKPiArCQlpOTE1X2dlbV9jb250 ZXh0X3VucmVmZXJlbmNlKHJpbmctPmxhc3RfY29udGV4dCk7Cj4gICAJCXJpbmctPmxhc3RfY29u dGV4dCA9IE5VTEw7Cj4gICAJfQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5j Cj4gaW5kZXggYjdiY2MzMjRhN2E3Li42NzliN2RkM2EzMTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V2aWN0LmMKPiBAQCAtNDUsMTAgKzQ1LDEwIEBAIHN0YXRpYyBpbnQgc3dp dGNoX3RvX3Bpbm5lZF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgIAlmb3JfZWFjaF9yaW5nKHJpbmcsIGRldl9wcml2LCBpKSB7Cj4gICAJCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxOwo+Cj4gLQkJaWYgKHJpbmctPmxhc3RfY29udGV4dCA9PSBy aW5nLT5kZWZhdWx0X2NvbnRleHQpCj4gKwkJaWYgKHJpbmctPmxhc3RfY29udGV4dCA9PSBkZXZf cHJpdi0+a2VybmVsX2NvbnRleHQpCj4gICAJCQljb250aW51ZTsKPgo+IC0JCXJlcSA9IGk5MTVf Z2VtX3JlcXVlc3RfYWxsb2MocmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsKPiArCQlyZXEg PSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGRldl9wcml2LT5rZXJuZWxfY29udGV4dCk7 Cj4gICAJCWlmIChJU19FUlIocmVxKSkKPiAgIAkJCXJldHVybiBQVFJfRVJSKHJlcSk7Cj4KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXggZjRlMDk5 NTJkNTJjLi42M2U1ODI1MzI4MGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n dWNfc3VibWlzc2lvbi5jCj4gQEAgLTkzNywxMSArOTM3LDEyIEBAIGludCBpOTE1X2d1Y19zdWJt aXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgewo+ICAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0 IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY3R4ID0gZGV2X3ByaXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7Cj4gICAJc3RydWN0 IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50Owo+Cj4gICAJLyogY2xpZW50IGZvciBleGVjYnVmIHN1 Ym1pc3Npb24gKi8KPiAtCWNsaWVudCA9IGd1Y19jbGllbnRfYWxsb2MoZGV2LCBHVUNfQ1RYX1BS SU9SSVRZX0tNRF9OT1JNQUwsIGN0eCk7Cj4gKwljbGllbnQgPSBndWNfY2xpZW50X2FsbG9jKGRl diwKPiArCQkJCSAgR1VDX0NUWF9QUklPUklUWV9LTURfTk9STUFMLAo+ICsJCQkJICBkZXZfcHJp di0+a2VybmVsX2NvbnRleHQpOwo+ICAgCWlmICghY2xpZW50KSB7Cj4gICAJCURSTV9FUlJPUigi RmFpbGVkIHRvIGNyZWF0ZSBleGVjYnVmIGd1Y19jbGllbnRcbiIpOwo+ICAgCQlyZXR1cm4gLUVO T01FTTsKPiBAQCAtOTk0LDcgKzk5NSw3IEBAIGludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICAgCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4g ICAJCXJldHVybiAwOwo+Cj4gLQljdHggPSBkZXZfcHJpdi0+cmluZ1tSQ1NdLmRlZmF1bHRfY29u dGV4dDsKPiArCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPgo+ICAgCWRhdGFbMF0g PSBIT1NUMkdVQ19BQ1RJT05fRU5URVJfU19TVEFURTsKPiAgIAkvKiBhbnkgdmFsdWUgZ3JlYXRl ciB0aGFuIEdVQ19QT1dFUl9EMCAqLwo+IEBAIC0xMDIwLDcgKzEwMjEsNyBAQCBpbnQgaW50ZWxf Z3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCWlmICghaTkxNS5lbmFibGVf Z3VjX3N1Ym1pc3Npb24pCj4gICAJCXJldHVybiAwOwo+Cj4gLQljdHggPSBkZXZfcHJpdi0+cmlu Z1tSQ1NdLmRlZmF1bHRfY29udGV4dDsKPiArCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4 dDsKPgo+ICAgCWRhdGFbMF0gPSBIT1NUMkdVQ19BQ1RJT05fRVhJVF9TX1NUQVRFOwo+ICAgCWRh dGFbMV0gPSBHVUNfUE9XRVJfRDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ IGluZGV4IGYyMjdjZGFmMzhlYy4uZThmOTU3Nzg1YTY0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0xMTY3Miw3ICsxMTY3Miw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCSAqIGludG8gdGhl IGRpc3BsYXkgcGxhbmUgYW5kIHNraXAgYW55IHdhaXRzLgo+ICAgCSAqLwo+ICAgCWlmICghbW1p b19mbGlwKSB7Cj4gLQkJcmVxdWVzdCA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MocmluZywgcmlu Zy0+ZGVmYXVsdF9jb250ZXh0KTsKPiArCQlyZXF1ZXN0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxv YyhyaW5nLCByaW5nLT5sYXN0X2NvbnRleHQpOwoKV2h5IGlzIHRoaXMgcmluZy0+bGFzdF9jb250 ZXh0IHJhdGhlciB0aGFuIGRldl9wcml2LT5rZXJuZWxfY29udGV4dD8gSXMgCml0IGd1YXJhbnRl ZWQgdGhhdCB0aGUgbGFzdCBjb250ZXh0IGFjdGl2ZSBvbiB0aGlzIGVuZ2luZSBpcyBzb21laG93 IApjb25uZWN0ZWQgd2l0aCB0aGUgZmxpcCBhY3Rpdml0eT8gQ291bGQgaXQgbm90IGhhdmUgYmVl biBhbiBlYXJsaWVyIAp3b3JrbG9hZCB0aGF0IHByZXBhcmVkIHRoZSBmcmFtZWJ1ZmZlciBhc3Nv Y2lhdGVkIHdpdGggdGhlIGZsaXAsIHRoZW4gYW4gCnVucmVsYXRlZCBiYXRjaCBpbiBhIGRpZmZl cmVudCBjb250ZXh0IHJhbiBvbiB0aGlzIGVuZ2luZSwgdGhlbiB0aGUgZmxpcCAKdGhhdCByZWxh dGVzIHRvIHRoZSBlYXJsaWVyIGJhdGNoPwoKLkRhdmUuCgo+ICAgCQlpZiAoSVNfRVJSKHJlcXVl c3QpKSB7Cj4gICAJCQlyZXQgPSBQVFJfRVJSKHJlcXVlc3QpOwo+ICAgCQkJZ290byBjbGVhbnVw X3BlbmRpbmc7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA4NTBjYWNkZjZkZGEu LjRkNTE5NjU0N2U3OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTEwNTgs NyArMTA1OCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9pbml0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcpCj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHJpbmctPmRl djsKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwo+ICAgCWxyY19zZXR1cF9oYXJkd2FyZV9zdGF0dXNfcGFnZShyaW5nLAo+IC0JCQkJcmlu Zy0+ZGVmYXVsdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlKTsKPiArCQkJZGV2X3By aXYtPmtlcm5lbF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlKTsKPgo+ICAgCUk5MTVf V1JJVEVfSU1SKHJpbmcsIH4ocmluZy0+aXJxX2VuYWJsZV9tYXNrIHwgcmluZy0+aXJxX2tlZXBf bWFzaykpOwo+ICAgCUk5MTVfV1JJVEUoUklOR19IV1NUQU0ocmluZy0+bW1pb19iYXNlKSwgMHhm ZmZmZmZmZik7Cj4gQEAgLTE0MjQsNyArMTQyNCw3IEBAIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5n X2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgIAkJa3VubWFwKHNnX3Bh Z2UocmluZy0+c3RhdHVzX3BhZ2Uub2JqLT5wYWdlcy0+c2dsKSk7Cj4gICAJCXJpbmctPnN0YXR1 c19wYWdlLm9iaiA9IE5VTEw7Cj4gICAJfQo+IC0JaW50ZWxfbHJfY29udGV4dF91bnBpbihyaW5n LT5kZWZhdWx0X2NvbnRleHQsIHJpbmcpOwo+ICsJaW50ZWxfbHJfY29udGV4dF91bnBpbihyaW5n LT5pOTE1LT5rZXJuZWxfY29udGV4dCwgcmluZyk7Cj4KPiAgIAlscmNfZGVzdHJveV93YV9jdHhf b2JqKHJpbmcpOwo+ICAgCXJpbmctPmRldiA9IE5VTEw7Cj4gQEAgLTE0NTgsNyArMTQ1OCw3IEBA IHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluCj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnJvcjsK Pgo+IC0JY3R4ID0gcmluZy0+ZGVmYXVsdF9jb250ZXh0Owo+ICsJY3R4ID0gcmluZy0+aTkxNS0+ a2VybmVsX2NvbnRleHQ7Cj4KPiAgIAlyZXQgPSBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9h bGxvYyhjdHgsIHJpbmcpOwo+ICAgCWlmIChyZXQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292 ZXJsYXkuYwo+IGluZGV4IGRmNzFjMDFmMjhmMS4uMDk0ZWE4N2JmNmJlIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IEBAIC0yNDAsNyArMjQwLDcgQEAgc3RhdGljIGlu dCBpbnRlbF9vdmVybGF5X29uKHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQo+ICAgCVdB Uk5fT04ob3ZlcmxheS0+YWN0aXZlKTsKPiAgIAlXQVJOX09OKElTX0k4MzAoZGV2KSAmJiAhKGRl dl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSkpOwo+Cj4gLQlyZXEgPSBpOTE1X2dl bV9yZXF1ZXN0X2FsbG9jKHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCk7Cj4gKwlyZXEgPSBp OTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGRldl9wcml2LT5rZXJuZWxfY29udGV4dCk7Cj4g ICAJaWYgKElTX0VSUihyZXEpKQo+ICAgCQlyZXR1cm4gUFRSX0VSUihyZXEpOwo+Cj4gQEAgLTI4 Myw3ICsyODMsNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfY29udGludWUoc3RydWN0IGlu dGVsX292ZXJsYXkgKm92ZXJsYXksCj4gICAJaWYgKHRtcCAmICgxIDw8IDE3KSkKPiAgIAkJRFJN X0RFQlVHKCJvdmVybGF5IHVuZGVycnVuLCBET1ZTVEE6ICV4XG4iLCB0bXApOwo+Cj4gLQlyZXEg PSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCk7Cj4g KwlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGRldl9wcml2LT5rZXJuZWxfY29u dGV4dCk7Cj4gICAJaWYgKElTX0VSUihyZXEpKQo+ICAgCQlyZXR1cm4gUFRSX0VSUihyZXEpOwo+ Cj4gQEAgLTM0OSw3ICszNDksNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfb2ZmKHN0cnVj dCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQo+ICAgCSAqIG9mIHRoZSBody4gRG8gaXQgaW4gYm90 aCBjYXNlcyAqLwo+ICAgCWZsaXBfYWRkciB8PSBPRkNfVVBEQVRFOwo+Cj4gLQlyZXEgPSBpOTE1 X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIHJpbmctPmRlZmF1bHRfY29udGV4dCk7Cj4gKwlyZXEg PSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGRldl9wcml2LT5rZXJuZWxfY29udGV4dCk7 Cj4gICAJaWYgKElTX0VSUihyZXEpKQo+ICAgCQlyZXR1cm4gUFRSX0VSUihyZXEpOwo+Cj4gQEAg LTQyMyw3ICs0MjMsNyBAQCBzdGF0aWMgaW50IGludGVsX292ZXJsYXlfcmVsZWFzZV9vbGRfdmlk KHN0cnVjdCBpbnRlbF9vdmVybGF5ICpvdmVybGF5KQo+ICAgCQkvKiBzeW5jaHJvbm91cyBzbG93 cGF0aCAqLwo+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKPgo+IC0JCXJl cSA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MocmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsK PiArCQlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGRldl9wcml2LT5rZXJuZWxf Y29udGV4dCk7Cj4gICAJCWlmIChyZXEpCj4gICAJCQlyZXR1cm4gUFRSX0VSUihyZXEpOwo+Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IDNkNGQ1NzExYWVh OS4uODY4Y2M4ZDVhYmIzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuaAo+IEBAIC0zMTYsNyArMzE2LDYgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7Cj4gICAJ dTMyIGxhc3Rfc3VibWl0dGVkX3NlcW5vOwo+ICAgCXVuc2lnbmVkIHVzZXJfaW50ZXJydXB0czsK Pgo+IC0Jc3RydWN0IGludGVsX2NvbnRleHQgKmRlZmF1bHRfY29udGV4dDsKPiAgIAlzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqbGFzdF9jb250ZXh0Owo+Cj4gICAJc3RydWN0IGludGVsX2VuZ2luZV9o YW5nY2hlY2sgaGFuZ2NoZWNrOwo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=