From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] dma-buf: use parameter structure for dma_buf_attach Date: Mon, 26 Mar 2018 10:36:38 +0200 Message-ID: <20180326083638.GS14155@phenom.ffwll.local> References: <20180325113451.2425-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180325113451.2425-1-christian.koenig@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: linaro-mm-sig@lists.linaro.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org List-Id: amd-gfx.lists.freedesktop.org T24gU3VuLCBNYXIgMjUsIDIwMTggYXQgMDE6MzQ6NTFQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBNb3ZlIHRoZSBwYXJhbWV0ZXJzIGludG8gYSBzdHJ1Y3R1cmUgdG8gbWFrZSBp dCBzaW1wbGVyIHRvIGV4dGVuZCBpdCBpbgo+IGZvbGxvdyB1cCBwYXRjaGVzLgo+IAo+IFRoaXMg YWxzbyBhZGRzIHRoZSBpbXBvcnRlciBwcml2YXRlIGFzIHBhcmFtZXRlciBzbyB0aGF0IHdlIGNh biBkaXJlY3RseQo+IHdvcmsgd2l0aCBhIGNvbXBsZXRlbHkgZmlsbGVkIGluIGF0dGFjaG1lbnQg c3RydWN0dXJlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKystLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKyst Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYyAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDYgKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jICAg ICAgICAgICAgICAgIHwgIDYgKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYyAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS91 ZGwvdWRsX2RtYWJ1Zi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKystCj4gIGRyaXZl cnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jIHwgIDYgKysr KystCj4gIGRyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLXNnLmMg ICAgIHwgIDYgKysrKystCj4gIGRyaXZlcnMvc3RhZ2luZy9tZWRpYS90ZWdyYS12ZGUvdGVncmEt dmRlLmMgICAgICAgICAgIHwgIDYgKysrKystCj4gIGluY2x1ZGUvbGludXgvZG1hLWJ1Zi5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKystLQo+ICAx MCBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9k bWEtYnVmLmMKPiBpbmRleCBkNzhkNWZjMTczZGMuLmQyZThjYTBkOTQyNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9kbWEtYnVmL2RtYS1i dWYuYwo+IEBAIC01MzQsOCArNTM0LDkgQEAgRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl9wdXQp Owo+ICAvKioKPiAgICogZG1hX2J1Zl9hdHRhY2ggLSBBZGQgdGhlIGRldmljZSB0byBkbWFfYnVm J3MgYXR0YWNobWVudHMgbGlzdDsgb3B0aW9uYWxseSwKPiAgICogY2FsbHMgYXR0YWNoKCkgb2Yg ZG1hX2J1Zl9vcHMgdG8gYWxsb3cgZGV2aWNlLXNwZWNpZmljIGF0dGFjaCBmdW5jdGlvbmFsaXR5 Cj4gLSAqIEBkbWFidWY6CVtpbl0JYnVmZmVyIHRvIGF0dGFjaCBkZXZpY2UgdG8uCj4gLSAqIEBk ZXY6CVtpbl0JZGV2aWNlIHRvIGJlIGF0dGFjaGVkLgo+ICsgKiBAaW5mbzoJW2luXQlob2xkcyBh bGwgdGhlIGF0dGFjaCByZWxhdGVkIGluZm9ybWF0aW9uIHByb3ZpZGVkCj4gKyAqCQkJYnkgdGhl IGltcG9ydGVyLiBzZWUgJnN0cnVjdCBkbWFfYnVmX2F0dGFjaF9pbmZvCj4gKyAqCQkJZm9yIGZ1 cnRoZXIgZGV0YWlscy4KCk1pbm9yIGJpa2VzaGVkLCBidXQgSSBsaWtlIHRvIGtlZXAgdGhlIG9i amVjdCB3ZSBvcGVyYXRlIG9uIGV4cGxpY2l0LCBpLmUuCmxlYXZlIHRoZSBkbWFidWYgYXMgdGhl IGZpcnN0IHBhcmFtYXRlciBhbmQgb25seSBzdHVmZiBldmVyeXRoaW5nIGVsc2UKaW50byB0aGUg c3RydWN0LiBCdXQgSSBkb24ndCB0aGluayB0aGVyZSdzIGVub3VnaCBwcmVjZWRlbmNlIGVpdGhl ciB3YXkuCgoKPiAgICoKPiAgICogUmV0dXJucyBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50IHBv aW50ZXIgZm9yIHRoaXMgYXR0YWNobWVudC4gQXR0YWNobWVudHMKPiAgICogbXVzdCBiZSBjbGVh bmVkIHVwIGJ5IGNhbGxpbmcgZG1hX2J1Zl9kZXRhY2goKS4KPiBAQCAtNTQ5LDI2ICs1NTAsMjcg QEAgRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl9wdXQpOwo+ICAgKiBhY2Nlc3NpYmxlIHRvIEBk ZXYsIGFuZCBjYW5ub3QgYmUgbW92ZWQgdG8gYSBtb3JlIHN1aXRhYmxlIHBsYWNlLiBUaGlzIGlz Cj4gICAqIGluZGljYXRlZCB3aXRoIHRoZSBlcnJvciBjb2RlIC1FQlVTWS4KPiAgICovCj4gLXN0 cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmRtYV9idWZfYXR0YWNoKHN0cnVjdCBkbWFfYnVmICpk bWFidWYsCj4gLQkJCQkJICBzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3N0cnVjdCBkbWFfYnVmX2F0 dGFjaG1lbnQgKmRtYV9idWZfYXR0YWNoKGNvbnN0IHN0cnVjdCBkbWFfYnVmX2F0dGFjaF9pbmZv ICppbmZvKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmID0gaW5mby0+ZG1hYnVmOwo+ ICAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ICAJaW50IHJldDsKPiAgCj4g LQlpZiAoV0FSTl9PTighZG1hYnVmIHx8ICFkZXYpKQo+ICsJaWYgKFdBUk5fT04oIWRtYWJ1ZiB8 fCAhaW5mby0+ZGV2KSkKPiAgCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAgCj4gIAlhdHRh Y2ggPSBremFsbG9jKHNpemVvZigqYXR0YWNoKSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWF0dGFj aCkKPiAgCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAgCj4gLQlhdHRhY2gtPmRldiA9IGRl djsKPiArCWF0dGFjaC0+ZGV2ID0gaW5mby0+ZGV2Owo+ICAJYXR0YWNoLT5kbWFidWYgPSBkbWFi dWY7Cj4gKwlhdHRhY2gtPnByaXYgPSBpbmZvLT5wcml2OwoKVGhlIC0+cHJpdiBmaWVsZCBpcyBm b3IgdGhlIGV4cG9ydGVyLCBub3QgdGhlIGltcG9ydGVyLiBTZWUgZS5nLgpkcm1fZ2VtX21hcF9h dHRhY2guIFlvdSBjYW4ndCBsZXQgdGhlIGltcG9ydGVyIHNldCB0aGlzIG5vdyB0b28sIHNvIG5l ZWRzCnRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgaW5mbyBzdHJ1Y3QuCi1EYW5pZWwKCj4gIAo+ICAJ bXV0ZXhfbG9jaygmZG1hYnVmLT5sb2NrKTsKPiAgCj4gIAlpZiAoZG1hYnVmLT5vcHMtPmF0dGFj aCkgewo+IC0JCXJldCA9IGRtYWJ1Zi0+b3BzLT5hdHRhY2goZG1hYnVmLCBkZXYsIGF0dGFjaCk7 Cj4gKwkJcmV0ID0gZG1hYnVmLT5vcHMtPmF0dGFjaChkbWFidWYsIGluZm8tPmRldiwgYXR0YWNo KTsKPiAgCQlpZiAocmV0KQo+ICAJCQlnb3RvIGVycl9hdHRhY2g7Cj4gIAl9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfZ2VtLmMKPiBpbmRleCBhOTdmNTA5NzQzYTUuLmY0ZDFjMTFmNTdlYSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0uYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jCj4gQEAgLTUxNCw2ICs1MTQsMTAg QEAgYXJtYWRhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpvYmosCj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqCj4gIGFybWFk YV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVm ICpidWYpCj4gIHsKPiArCXN0cnVjdCBkbWFfYnVmX2F0dGFjaF9pbmZvIGF0dGFjaF9pbmZvID0g ewo+ICsJCS5kZXYgPSBkZXYtPmRldiwKPiArCQkuZG1hYnVmID0gYnVmCj4gKwl9Owo+ICAJc3Ry dWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ICAJc3RydWN0IGFybWFkYV9nZW1fb2Jq ZWN0ICpkb2JqOwo+ICAKPiBAQCAtNTI5LDcgKzUzMyw3IEBAIGFybWFkYV9nZW1fcHJpbWVfaW1w b3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVmICpidWYpCj4gIAkJfQo+ ICAJfQo+ICAKPiAtCWF0dGFjaCA9IGRtYV9idWZfYXR0YWNoKGJ1ZiwgZGV2LT5kZXYpOwo+ICsJ YXR0YWNoID0gZG1hX2J1Zl9hdHRhY2goJmF0dGFjaF9pbmZvKTsKPiAgCWlmIChJU19FUlIoYXR0 YWNoKSkKPiAgCQlyZXR1cm4gRVJSX0NBU1QoYXR0YWNoKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwo+ IGluZGV4IDc4NTZhOWIzZjhhOC4uNGRhMjQyZGU1MWMyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJpbWUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwo+ IEBAIC03MDcsNiArNzA3LDEwIEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZHJtX2dlbV9wcmlt ZV9pbXBvcnRfZGV2KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgIHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmLAo+ICAJCQkJCSAgICBzdHJ1Y3QgZGV2aWNlICphdHRhY2hfZGV2KQo+ ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsKPiArCQku ZGV2ID0gYXR0YWNoX2RldiwKPiArCQkuZG1hYnVmID0gZG1hX2J1Zgo+ICsJfTsKPiAgCXN0cnVj dCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaDsKPiAgCXN0cnVjdCBzZ190YWJsZSAqc2d0Owo+ ICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7Cj4gQEAgLTcyNyw3ICs3MzEsNyBAQCBzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKmRybV9nZW1fcHJpbWVfaW1wb3J0X2RldihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAJaWYgKCFkZXYtPmRyaXZlci0+Z2VtX3ByaW1lX2ltcG9ydF9zZ190YWJs ZSkKPiAgCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAgCj4gLQlhdHRhY2ggPSBkbWFfYnVm X2F0dGFjaChkbWFfYnVmLCBhdHRhY2hfZGV2KTsKPiArCWF0dGFjaCA9IGRtYV9idWZfYXR0YWNo KCZhdHRhY2hfaW5mbyk7Cj4gIAlpZiAoSVNfRVJSKGF0dGFjaCkpCj4gIAkJcmV0dXJuIEVSUl9D QVNUKGF0dGFjaCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCj4g aW5kZXggODY0NDM5YTIxNGM4Li45NDU1MmVmM2U1YTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9kbWFidWYuYwo+IEBAIC0yODgsNiArMjg4LDEwIEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkxNV9nZW1fb2JqZWN0X2RtYWJ1Zl9vcHMg PSB7Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqaTkxNV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgICBzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZikK PiAgewo+ICsJc3RydWN0IGRtYV9idWZfYXR0YWNoX2luZm8gYXR0YWNoX2luZm8gPSB7Cj4gKwkJ LmRldiA9IGRldi0+ZGV2LAo+ICsJCS5kbWFidWYgPSBkbWFfYnVmCj4gKwl9Owo+ICAJc3RydWN0 IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iajsKPiAgCWludCByZXQ7Cj4gQEAgLTMwNiw3ICszMTAsNyBAQCBzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKmk5MTVfZ2VtX3ByaW1lX2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAJfQo+ICAKPiAgCS8qIG5lZWQgdG8gYXR0YWNoICovCj4gLQlhdHRhY2ggPSBkbWFfYnVmX2F0 dGFjaChkbWFfYnVmLCBkZXYtPmRldik7Cj4gKwlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaCgmYXR0 YWNoX2luZm8pOwo+ICAJaWYgKElTX0VSUihhdHRhY2gpKQo+ICAJCXJldHVybiBFUlJfQ0FTVChh dHRhY2gpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gaW5kZXggNDliOWJmMjhmODcyLi40NjJhNGJh YzNmODIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gQEAgLTMzMiw2ICszMzIsMTAgQEAgc3RydWN0 IHRlZ3JhX2JvICp0ZWdyYV9ib19jcmVhdGVfd2l0aF9oYW5kbGUoc3RydWN0IGRybV9maWxlICpm aWxlLAo+ICBzdGF0aWMgc3RydWN0IHRlZ3JhX2JvICp0ZWdyYV9ib19pbXBvcnQoc3RydWN0IGRy bV9kZXZpY2UgKmRybSwKPiAgCQkJCQlzdHJ1Y3QgZG1hX2J1ZiAqYnVmKQo+ICB7Cj4gKwlzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsKPiArCQkuZGV2ID0gZHJtLT5k ZXYsCj4gKwkJLmRtYWJ1ZiA9IGJ1Zgo+ICsJfTsKPiAgCXN0cnVjdCB0ZWdyYV9kcm0gKnRlZ3Jh ID0gZHJtLT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFj aDsKPiAgCXN0cnVjdCB0ZWdyYV9ibyAqYm87Cj4gQEAgLTM0MSw3ICszNDUsNyBAQCBzdGF0aWMg c3RydWN0IHRlZ3JhX2JvICp0ZWdyYV9ib19pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwK PiAgCWlmIChJU19FUlIoYm8pKQo+ICAJCXJldHVybiBibzsKPiAgCj4gLQlhdHRhY2ggPSBkbWFf YnVmX2F0dGFjaChidWYsIGRybS0+ZGV2KTsKPiArCWF0dGFjaCA9IGRtYV9idWZfYXR0YWNoKCZh dHRhY2hfaW5mbyk7Cj4gIAlpZiAoSVNfRVJSKGF0dGFjaCkpIHsKPiAgCQllcnIgPSBQVFJfRVJS KGF0dGFjaCk7Cj4gIAkJZ290byBmcmVlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dWRsL3VkbF9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2RtYWJ1Zi5jCj4gaW5k ZXggMjg2N2VkMTU1ZmY2Li5jNGRiODRhYmUyMzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3VkbC91ZGxfZG1hYnVmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFi dWYuYwo+IEBAIC0yNDMsNiArMjQzLDEwIEBAIHN0YXRpYyBpbnQgdWRsX3ByaW1lX2NyZWF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnVkbF9nZW1f cHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQlzdHJ1Y3QgZG1hX2J1 ZiAqZG1hX2J1ZikKPiAgewo+ICsJc3RydWN0IGRtYV9idWZfYXR0YWNoX2luZm8gYXR0YWNoX2lu Zm8gPSB7Cj4gKwkJLmRldiA9IGRldi0+ZGV2LAo+ICsJCS5kbWFidWYgPSBkbWFfYnVmCj4gKwl9 Owo+ICAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoOwo+ICAJc3RydWN0IHNnX3Rh YmxlICpzZzsKPiAgCXN0cnVjdCB1ZGxfZ2VtX29iamVjdCAqdW9iajsKPiBAQCAtMjUwLDcgKzI1 NCw3IEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqdWRsX2dlbV9wcmltZV9pbXBvcnQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCj4gIAkvKiBuZWVkIHRvIGF0dGFjaCAqLwo+ICAJZ2V0X2Rl dmljZShkZXYtPmRldik7Cj4gLQlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaChkbWFfYnVmLCBkZXYt PmRldik7Cj4gKwlhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaCgmYXR0YWNoX2luZm8pOwo+ICAJaWYg KElTX0VSUihhdHRhY2gpKSB7Cj4gIAkJcHV0X2RldmljZShkZXYtPmRldik7Cj4gIAkJcmV0dXJu IEVSUl9DQVNUKGF0dGFjaCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3Zp ZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlk ZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMKPiBpbmRleCBmMTE3OGY2ZjQzNGQuLjkzYmQx ZjQwZjc1NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlk ZW9idWYyLWRtYS1jb250aWcuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVm Mi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jCj4gQEAgLTY3Nyw2ICs2NzcsMTAgQEAgc3RhdGljIHZv aWQgdmIyX2RjX2RldGFjaF9kbWFidWYodm9pZCAqbWVtX3ByaXYpCj4gIHN0YXRpYyB2b2lkICp2 YjJfZGNfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVmICpk YnVmLAo+ICAJdW5zaWduZWQgbG9uZyBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkbWFf ZGlyKQo+ICB7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsK PiArCQkuZGV2ID0gZGV2LAo+ICsJCS5kbWFidWYgPSBkYnVmCj4gKwl9Owo+ICAJc3RydWN0IHZi Ml9kY19idWYgKmJ1ZjsKPiAgCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmRiYTsKPiAgCj4g QEAgLTY5Miw3ICs2OTYsNyBAQCBzdGF0aWMgdm9pZCAqdmIyX2RjX2F0dGFjaF9kbWFidWYoc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZG1hX2J1ZiAqZGJ1ZiwKPiAgCj4gIAlidWYtPmRldiA9 IGRldjsKPiAgCS8qIGNyZWF0ZSBhdHRhY2htZW50IGZvciB0aGUgZG1hYnVmIHdpdGggdGhlIHVz ZXIgZGV2aWNlICovCj4gLQlkYmEgPSBkbWFfYnVmX2F0dGFjaChkYnVmLCBidWYtPmRldik7Cj4g KwlkYmEgPSBkbWFfYnVmX2F0dGFjaCgmYXR0YWNoX2luZm8pOwo+ICAJaWYgKElTX0VSUihkYmEp KSB7Cj4gIAkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGRtYWJ1ZlxuIik7Cj4gIAkJa2ZyZWUo YnVmKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVv YnVmMi1kbWEtc2cuYyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjIt ZG1hLXNnLmMKPiBpbmRleCA3NTNlZDMxMzhkY2MuLjRlNjEwNTBiYTg3ZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1zZy5jCj4gKysr IGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cuYwo+IEBA IC02MDksNiArNjA5LDEwIEBAIHN0YXRpYyB2b2lkIHZiMl9kbWFfc2dfZGV0YWNoX2RtYWJ1Zih2 b2lkICptZW1fcHJpdikKPiAgc3RhdGljIHZvaWQgKnZiMl9kbWFfc2dfYXR0YWNoX2RtYWJ1Zihz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkbWFfYnVmICpkYnVmLAo+ICAJdW5zaWduZWQgbG9u ZyBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkbWFfZGlyKQo+ICB7Cj4gKwlzdHJ1Y3Qg ZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsKPiArCQkuZGV2ID0gZGV2LAo+ICsJ CS5kbWFidWYgPSBkYnVmCj4gKwl9Owo+ICAJc3RydWN0IHZiMl9kbWFfc2dfYnVmICpidWY7Cj4g IAlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkYmE7Cj4gIAo+IEBAIC02MjQsNyArNjI4LDcg QEAgc3RhdGljIHZvaWQgKnZiMl9kbWFfc2dfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBkbWFfYnVmICpkYnVmLAo+ICAKPiAgCWJ1Zi0+ZGV2ID0gZGV2Owo+ICAJLyog Y3JlYXRlIGF0dGFjaG1lbnQgZm9yIHRoZSBkbWFidWYgd2l0aCB0aGUgdXNlciBkZXZpY2UgKi8K PiAtCWRiYSA9IGRtYV9idWZfYXR0YWNoKGRidWYsIGJ1Zi0+ZGV2KTsKPiArCWRiYSA9IGRtYV9i dWZfYXR0YWNoKCZhdHRhY2hfaW5mbyk7Cj4gIAlpZiAoSVNfRVJSKGRiYSkpIHsKPiAgCQlwcl9l cnIoImZhaWxlZCB0byBhdHRhY2ggZG1hYnVmXG4iKTsKPiAgCQlrZnJlZShidWYpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvdGVncmEtdmRlL3RlZ3JhLXZkZS5jIGIvZHJp dmVycy9zdGFnaW5nL21lZGlhL3RlZ3JhLXZkZS90ZWdyYS12ZGUuYwo+IGluZGV4IGM0NzY1OWU5 NjA4OS4uMjVkMTEyNDQzYjBkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS90 ZWdyYS12ZGUvdGVncmEtdmRlLmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvdGVncmEt dmRlL3RlZ3JhLXZkZS5jCj4gQEAgLTUyOSw2ICs1MjksMTAgQEAgc3RhdGljIGludCB0ZWdyYV92 ZGVfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gIAkJCQkgICBzaXplX3QgKnNp emUsCj4gIAkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkbWFfZGlyKQo+ICB7Cj4gKwlz dHJ1Y3QgZG1hX2J1Zl9hdHRhY2hfaW5mbyBhdHRhY2hfaW5mbyA9IHsKPiArCQkuZGV2ID0gZGV2 LAo+ICsJCS5kbWFidWYgPSBkbWFidWYKPiArCX07Cj4gIAlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2ht ZW50ICphdHRhY2htZW50Owo+ICAJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKPiAgCXN0cnVjdCBz Z190YWJsZSAqc2d0Owo+IEBAIC01NDcsNyArNTUxLDcgQEAgc3RhdGljIGludCB0ZWdyYV92ZGVf YXR0YWNoX2RtYWJ1ZihzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4g IAl9Cj4gIAo+IC0JYXR0YWNobWVudCA9IGRtYV9idWZfYXR0YWNoKGRtYWJ1ZiwgZGV2KTsKPiAr CWF0dGFjaG1lbnQgPSBkbWFfYnVmX2F0dGFjaCgmYXR0YWNoX2luZm8pOwo+ICAJaWYgKElTX0VS UihhdHRhY2htZW50KSkgewo+ICAJCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGF0dGFjaCBkbWFi dWZcbiIpOwo+ICAJCWVyciA9IFBUUl9FUlIoYXR0YWNobWVudCk7Cj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbGludXgvZG1hLWJ1Zi5oIGIvaW5jbHVkZS9saW51eC9kbWEtYnVmLmgKPiBpbmRleCAw ODVkYjJmZWUyZDcuLjJjMjc1NjhkNDRhZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2Rt YS1idWYuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oCj4gQEAgLTM2Miw2ICszNjIs MjEgQEAgc3RydWN0IGRtYV9idWZfZXhwb3J0X2luZm8gewo+ICAJc3RydWN0IGRtYV9idWZfZXhw b3J0X2luZm8gbmFtZSA9IHsgLmV4cF9uYW1lID0gS0JVSUxEX01PRE5BTUUsIFwKPiAgCQkJCQkg Lm93bmVyID0gVEhJU19NT0RVTEUgfQo+ICAKPiArLyoqCj4gKyAqIHN0cnVjdCBkbWFfYnVmX2F0 dGFjaF9pbmZvIC0gaG9sZHMgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGF0dGFjaCB0byBhIGRtYV9i dWYKPiArICogQGRtYWJ1ZjoJdGhlIGV4cG9ydGVkIGRtYV9idWYKPiArICogQGRldjoJdGhlIGRl dmljZSB3aGljaCB3YW50cyB0byBpbXBvcnQgdGhlIGF0dGFjaG1lbnQKPiArICogQHByaXY6CXBy aXZhdGUgZGF0YSBvZiBpbXBvcnRlciB0byB0aGlzIGF0dGFjaG1lbnQKPiArICoKPiArICogVGhp cyBzdHJ1Y3R1cmUgaG9sZHMgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGF0dGFjaCB0byBh IGJ1ZmZlci4gVXNlZAo+ICsgKiB3aXRoIGRtYV9idWZfYXR0YWNoKCkgb25seS4KPiArICovCj4g K3N0cnVjdCBkbWFfYnVmX2F0dGFjaF9pbmZvIHsKPiArCXN0cnVjdCBkbWFfYnVmICpkbWFidWY7 Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gKwl2b2lkICpwcml2Owo+ICt9Owo+ICsKPiAgLyoq Cj4gICAqIGdldF9kbWFfYnVmIC0gY29udmVuaWVuY2Ugd3JhcHBlciBmb3IgZ2V0X2ZpbGUuCj4g ICAqIEBkbWFidWY6CVtpbl0JcG9pbnRlciB0byBkbWFfYnVmCj4gQEAgLTM3Niw4ICszOTEsOCBA QCBzdGF0aWMgaW5saW5lIHZvaWQgZ2V0X2RtYV9idWYoc3RydWN0IGRtYV9idWYgKmRtYWJ1ZikK PiAgCWdldF9maWxlKGRtYWJ1Zi0+ZmlsZSk7Cj4gIH0KPiAgCj4gLXN0cnVjdCBkbWFfYnVmX2F0 dGFjaG1lbnQgKmRtYV9idWZfYXR0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCj4gLQkJCQkJ CQlzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICtzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICoKPiAr ZG1hX2J1Zl9hdHRhY2goY29uc3Qgc3RydWN0IGRtYV9idWZfYXR0YWNoX2luZm8gKmluZm8pOwo+ ICB2b2lkIGRtYV9idWZfZGV0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCj4gIAkJCQlzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICpkbWFidWZfYXR0YWNoKTsKPiAgCj4gLS0gCj4gMi4xNC4x Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBk cmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==