From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sumit Semwal Subject: [RFCv2 2/2] dma-buf: add helpers for sharing attacher constraints with dma-parms Date: Wed, 21 Jan 2015 09:46:47 +0530 Message-ID: <1421813807-9178-3-git-send-email-sumit.semwal@linaro.org> References: <1421813807-9178-1-git-send-email-sumit.semwal@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f52.google.com (mail-pa0-f52.google.com [209.85.220.52]) by gabe.freedesktop.org (Postfix) with ESMTP id EB3846E6FA for ; Tue, 20 Jan 2015 20:17:36 -0800 (PST) Received: by mail-pa0-f52.google.com with SMTP id kx10so19575907pab.11 for ; Tue, 20 Jan 2015 20:17:36 -0800 (PST) In-Reply-To: <1421813807-9178-1-git-send-email-sumit.semwal@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org Cc: t.stanislaws@samsung.com, linaro-kernel@lists.linaro.org, m.szyprowski@samsung.com List-Id: dri-devel@lists.freedesktop.org QWRkIHNvbWUgaGVscGVycyB0byBzaGFyZSB0aGUgY29uc3RyYWludHMgb2YgZGV2aWNlcyB3aGls ZSBhdHRhY2hpbmcKdG8gdGhlIGRtYWJ1ZiBidWZmZXIuCgpBdCBlYWNoIGF0dGFjaCwgdGhlIGNv bnN0cmFpbnRzIGFyZSBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmc6Ci0gZG1hX21h c2ssIGNvaGVyZW50X2RtYV9tYXNrIGZyb20gc3RydWN0IGRldmljZSwKLSBtYXhfc2VnbWVudF9z aXplLCBtYXhfc2VnbWVudF9jb3VudCwgc2VnbWVudF9ib3VuZGFyeV9tYXNrIGZyb20KICAgZGV2 aWNlX2RtYV9wYXJhbWV0ZXJzLgoKSW4gY2FzZSB0aGUgYXR0YWNoaW5nIGRldmljZSdzIGNvbnN0 cmFpbnRzIGRvbid0IG1hdGNoIHVwLCBhdHRhY2goKSBmYWlscy4KCkF0IGRldGFjaCwgdGhlIGNv bnN0cmFpbnRzIGFyZSByZWNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHJlbWFpbmluZwphdHRhY2hl ZCBkZXZpY2VzLgoKVHdvIGhlbHBlcnMgYXJlIGFkZGVkOgotIGRtYV9idWZfZ2V0X2NvbnN0cmFp bnRzIC0gd2hpY2ggZ2l2ZXMgdGhlIGN1cnJlbnQgY29uc3RyYWludHMgYXMgY2FsY3VsYXRlZAog ICAgICBkdXJpbmcgZWFjaCBhdHRhY2ggb24gdGhlIGJ1ZmZlciB0aWxsIHRoZSB0aW1lLAotIGRt YV9idWZfcmVjYWxjX2NvbnN0cmFpbnRzIC0gd2hpY2ggcmVjYWxjdWxhdGVzIHRoZSBjb25zdHJh aW50cyBmb3IgYWxsCiAgICAgIGN1cnJlbnRseSBhdHRhY2hlZCBkZXZpY2VzIGZvciB0aGUgJ3Bh cmFub2lkJyBvbmVzIGFtb25nc3QgdXMuCgpUaGUgaWRlYSBvZiB0aGlzIHBhdGNoIGlzIGxhcmdl bHkgdGFrZW4gZnJvbSBSb2IgQ2xhcmsncyBSRkMgYXQKaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIw MTIvNy8xOS8yODUsIGFuZCB0aGUgY29tbWVudHMgcmVjZWl2ZWQgb24gaXQuCgpDYzogUm9iIENs YXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTdW1pdCBTZW13YWwgPHN1 bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgotLS0KIGRyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMgfCAx MzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogaW5jbHVk ZS9saW51eC9kbWEtYnVmLmggICB8ICAyMiArKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNTMg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1 Zi9kbWEtYnVmLmMgYi9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCmluZGV4IDViZTIyNWMuLjM3 ODFmNDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMKKysrIGIvZHJpdmVy cy9kbWEtYnVmL2RtYS1idWYuYwpAQCAtMjY0LDYgKzI2NCw3NyBAQCBzdGF0aWMgaW5saW5lIGlu dCBpc19kbWFfYnVmX2ZpbGUoc3RydWN0IGZpbGUgKmZpbGUpCiAJcmV0dXJuIGZpbGUtPmZfb3Ag PT0gJmRtYV9idWZfZm9wczsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIGluaXRfY29uc3RyYWlu dHMoc3RydWN0IGRtYV9idWZfY29uc3RyYWludHMgKmNvbnMpCit7CisJY29ucy0+Y29oZXJlbnRf ZG1hX21hc2sgPSAodTY0KS0xOworCWNvbnMtPmRtYV9tYXNrID0gKHU2NCktMTsKKwljb25zLT5k bWFfcGFybXMubWF4X3NlZ21lbnRfY291bnQgPSAodW5zaWduZWQgaW50KS0xOworCWNvbnMtPmRt YV9wYXJtcy5tYXhfc2VnbWVudF9zaXplID0gKHVuc2lnbmVkIGludCktMTsKKwljb25zLT5kbWFf cGFybXMuc2VnbWVudF9ib3VuZGFyeV9tYXNrID0gKHVuc2lnbmVkIGludCktMTsKK30KKworLyoK KyAqIGNhbGNfY29uc3RyYWludHMgLSBjYWxjdWxhdGVzIGlmIHRoZSBuZXcgYXR0YWNoaW5nIGRl dmljZSdzIGNvbnN0cmFpbnRzCisgKiBtYXRjaCwgd2l0aCB0aGUgY29uc3RyYWludHMgb2YgYWxy ZWFkeSBhdHRhY2hlZCBkZXZpY2VzOyBpZiB5ZXMsIHJldHVybnMKKyAqIHRoZSBjb25zdHJhaW50 czsgZWxzZSByZXR1cm4gRVJSX1BUUigtRUlOVkFMKQorICovCitzdGF0aWMgaW50IGNhbGNfY29u c3RyYWludHMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJICAgIHN0cnVjdCBkbWFfYnVmX2NvbnN0 cmFpbnRzICpjYWxjX2NvbnMpCit7CisJc3RydWN0IGRtYV9idWZfY29uc3RyYWludHMgY29ucyA9 ICpjYWxjX2NvbnM7CisKKwljb25zLmRtYV9tYXNrICY9IGRtYV9nZXRfbWFzayhkZXYpOworCS8q IFRPRE86IENoZWNrIGlmIHRoaXMgaXMgdGhlIHJpZ2h0IHdheSBmb3IgY29oZXJlbnRfbWFzayA/ ICovCisJY29ucy5jb2hlcmVudF9kbWFfbWFzayAmPSBkZXYtPmNvaGVyZW50X2RtYV9tYXNrOwor CisJY29ucy5kbWFfcGFybXMubWF4X3NlZ21lbnRfY291bnQgPQorCQkJbWluKGNvbnMuZG1hX3Bh cm1zLm1heF9zZWdtZW50X2NvdW50LAorCQkJICAgIGRtYV9nZXRfbWF4X3NlZ19jb3VudChkZXYp KTsKKwljb25zLmRtYV9wYXJtcy5tYXhfc2VnbWVudF9zaXplID0KKwkJCW1pbihjb25zLmRtYV9w YXJtcy5tYXhfc2VnbWVudF9zaXplLAorCQkJICAgIGRtYV9nZXRfbWF4X3NlZ19zaXplKGRldikp OworCWNvbnMuZG1hX3Bhcm1zLnNlZ21lbnRfYm91bmRhcnlfbWFzayAmPQorCQkJZG1hX2dldF9z ZWdfYm91bmRhcnkoZGV2KTsKKworCWlmICghY29ucy5kbWFfcGFybXMubWF4X3NlZ21lbnRfY291 bnQgfHwKKwkgICAgIWNvbnMuZG1hX3Bhcm1zLm1heF9zZWdtZW50X3NpemUgfHwKKwkgICAgIWNv bnMuZG1hX3Bhcm1zLnNlZ21lbnRfYm91bmRhcnlfbWFzayB8fAorCSAgICAhY29ucy5kbWFfbWFz ayB8fAorCSAgICAhY29ucy5jb2hlcmVudF9kbWFfbWFzaykgeworCQlwcl9lcnIoIkRldjogJXMn cyBjb25zdHJhaW50cyBkb24ndCBtYXRjaFxuIiwgZGV2X25hbWUoZGV2KSk7CisJCXJldHVybiAt RUlOVkFMOworCX0KKworCSpjYWxjX2NvbnMgPSBjb25zOworCisJcmV0dXJuIDA7Cit9CisKKy8q CisgKiByZWNhbGNfY29uc3RyYWludHMgLSByZWNhbGN1bGF0ZXMgY29uc3RyYWludHMgZm9yIGFs bCBhdHRhY2hlZCBkZXZpY2VzOworICogIHVzZWZ1bCBmb3IgZGV0YWNoKCkgcmVjYWxjdWxhdGlv biwgYW5kIGZvciBkbWFfYnVmX3JlY2FsY19jb25zdHJhaW50cygpCisgKiAgaGVscGVyLgorICog IFJldHVybnMgcmVjYWxjdWxhdGVkIGNvbnN0cmFpbnRzIGluIHJlY2FsY19jb25zLCBvciBlcnJv ciBpbiB0aGUgdW5saWtlbHkKKyAqICBjYXNlIHdoZW4gY29uc3RyYWludHMgb2YgYXR0YWNoZWQg ZGV2aWNlcyBtaWdodCBoYXZlIGNoYW5nZWQuCisgKi8KK3N0YXRpYyBpbnQgcmVjYWxjX2NvbnN0 cmFpbnRzKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCisJCQkgICAgICBzdHJ1Y3QgZG1hX2J1Zl9j b25zdHJhaW50cyAqcmVjYWxjX2NvbnMpCit7CisJc3RydWN0IGRtYV9idWZfY29uc3RyYWludHMg Y2FsY19jb25zOworCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaDsKKwlpbnQgcmV0 ID0gMDsKKworCWluaXRfY29uc3RyYWludHMoJmNhbGNfY29ucyk7CisKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGF0dGFjaCwgJmRtYWJ1Zi0+YXR0YWNobWVudHMsIG5vZGUpIHsKKwkJcmV0ID0gY2Fs Y19jb25zdHJhaW50cyhhdHRhY2gtPmRldiwgJmNhbGNfY29ucyk7CisJCWlmIChyZXQpCisJCQly ZXR1cm4gcmV0OworCX0KKwkqcmVjYWxjX2NvbnMgPSBjYWxjX2NvbnM7CisJcmV0dXJuIDA7Cit9 CisKIC8qKgogICogZG1hX2J1Zl9leHBvcnRfbmFtZWQgLSBDcmVhdGVzIGEgbmV3IGRtYV9idWYs IGFuZCBhc3NvY2lhdGVzIGFuIGFub24gZmlsZQogICogd2l0aCB0aGlzIGJ1ZmZlciwgc28gaXQg Y2FuIGJlIGV4cG9ydGVkLgpAQCAtMzEzLDYgKzM4NCw5IEBAIHN0cnVjdCBkbWFfYnVmICpkbWFf YnVmX2V4cG9ydF9uYW1lZCh2b2lkICpwcml2LCBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgKm9w cywKIAlkbWFidWYtPm9wcyA9IG9wczsKIAlkbWFidWYtPnNpemUgPSBzaXplOwogCWRtYWJ1Zi0+ ZXhwX25hbWUgPSBleHBfbmFtZTsKKworCWluaXRfY29uc3RyYWludHMoJmRtYWJ1Zi0+Y29uc3Ry YWludHMpOworCiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZG1hYnVmLT5wb2xsKTsKIAlkbWFidWYt PmNiX2V4Y2wucG9sbCA9IGRtYWJ1Zi0+Y2Jfc2hhcmVkLnBvbGwgPSAmZG1hYnVmLT5wb2xsOwog CWRtYWJ1Zi0+Y2JfZXhjbC5hY3RpdmUgPSBkbWFidWYtPmNiX3NoYXJlZC5hY3RpdmUgPSAwOwpA QCAtNDIyLDcgKzQ5Niw3IEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmRtYV9idWZfYXR0 YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCiAJCQkJCSAgc3RydWN0IGRldmljZSAqZGV2KQog ewogCXN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaDsKLQlpbnQgcmV0OworCWludCBy ZXQgPSAwOwogCiAJaWYgKFdBUk5fT04oIWRtYWJ1ZiB8fCAhZGV2KSkKIAkJcmV0dXJuIEVSUl9Q VFIoLUVJTlZBTCk7CkBAIC00MzYsNiArNTEwLDkgQEAgc3RydWN0IGRtYV9idWZfYXR0YWNobWVu dCAqZG1hX2J1Zl9hdHRhY2goc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKIAogCW11dGV4X2xvY2so JmRtYWJ1Zi0+bG9jayk7CiAKKwlpZiAoY2FsY19jb25zdHJhaW50cyhkZXYsICZkbWFidWYtPmNv bnN0cmFpbnRzKSkKKwkJZ290byBlcnJfY29uc3RyYWludHM7CisKIAlpZiAoZG1hYnVmLT5vcHMt PmF0dGFjaCkgewogCQlyZXQgPSBkbWFidWYtPm9wcy0+YXR0YWNoKGRtYWJ1ZiwgZGV2LCBhdHRh Y2gpOwogCQlpZiAocmV0KQpAQCAtNDQ4LDYgKzUyNSw3IEBAIHN0cnVjdCBkbWFfYnVmX2F0dGFj aG1lbnQgKmRtYV9idWZfYXR0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCiAKIGVycl9hdHRh Y2g6CiAJa2ZyZWUoYXR0YWNoKTsKK2Vycl9jb25zdHJhaW50czoKIAltdXRleF91bmxvY2soJmRt YWJ1Zi0+bG9jayk7CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KQEAgLTQ3MCw2ICs1NDgsOCBA QCB2b2lkIGRtYV9idWZfZGV0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsIHN0cnVjdCBkbWFf YnVmX2F0dGFjaG1lbnQgKmF0dGFjaCkKIAlpZiAoZG1hYnVmLT5vcHMtPmRldGFjaCkKIAkJZG1h YnVmLT5vcHMtPmRldGFjaChkbWFidWYsIGF0dGFjaCk7CiAKKwlyZWNhbGNfY29uc3RyYWludHMo ZG1hYnVmLCAmZG1hYnVmLT5jb25zdHJhaW50cyk7CisKIAltdXRleF91bmxvY2soJmRtYWJ1Zi0+ bG9jayk7CiAJa2ZyZWUoYXR0YWNoKTsKIH0KQEAgLTc3MCw2ICs4NTAsNTYgQEAgdm9pZCBkbWFf YnVmX3Z1bm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCB2b2lkICp2YWRkcikKIH0KIEVYUE9S VF9TWU1CT0xfR1BMKGRtYV9idWZfdnVubWFwKTsKIAorLyoqCisgKiBkbWFfYnVmX2dldF9jb25z dHJhaW50cyAtIGdldCB0aGUgKmN1cnJlbnQqIGNvbnN0cmFpbnRzIG9mIHRoZSBkbWFidWYsCisg KiAgYXMgY2FsY3VsYXRlZCBkdXJpbmcgZWFjaCBhdHRhY2goKTsgcmV0dXJucyBlcnJvciBvbiBp bnZhbGlkIGlucHV0cworICoKKyAqIEBkbWFidWY6CQlbaW5dCWJ1ZmZlciB0byBnZXQgY29uc3Ry YWludHMgb2YKKyAqIEBjb25zdHJhaW50czoJW291dF0JY3VycmVudCBjb25zdHJhaW50cyBhcmUg cmV0dXJuZWQgaW4gdGhpcworICovCitpbnQgZG1hX2J1Zl9nZXRfY29uc3RyYWludHMoc3RydWN0 IGRtYV9idWYgKmRtYWJ1ZiwKKwkJCSAgICBzdHJ1Y3QgZG1hX2J1Zl9jb25zdHJhaW50cyAqY29u c3RyYWludHMpCit7CisJaWYgKFdBUk5fT04oIWRtYWJ1ZiB8fCAhY29uc3RyYWludHMpKQorCQly ZXR1cm4gLUVJTlZBTDsKKworCW11dGV4X2xvY2soJmRtYWJ1Zi0+bG9jayk7CisJKmNvbnN0cmFp bnRzID0gZG1hYnVmLT5jb25zdHJhaW50czsKKwltdXRleF91bmxvY2soJmRtYWJ1Zi0+bG9jayk7 CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChkbWFfYnVmX2dldF9jb25zdHJhaW50 cyk7CisKKy8qKgorICogZG1hX2J1Zl9yZWNhbGNfY29uc3RyYWludHMgLSAqcmVjYWxjdWxhdGUq IHRoZSBjb25zdHJhaW50cyBmb3IgdGhlIGJ1ZmZlcgorICogIGFmcmVzaCwgZnJvbSB0aGUgbGlz dCBvZiBjdXJyZW50bHkgYXR0YWNoZWQgZGV2aWNlczsgdGhpcyBjb3VsZCBiZSB1c2VmdWwKKyAq ICBjcm9zcy1jaGVjayB0aGUgY3VycmVudCBjb25zdHJhaW50cywgZm9yIGV4cG9ydGVycyB0aGF0 IG1pZ2h0IHdhbnQgdG8gYmUKKyAqICAncGFyYW5vaWQnIGFib3V0IHRoZSBkZXZpY2UgY29uc3Ry YWludHMuCisgKgorICogIHJldHVybnMgZXJyb3Igb24gaW52YWxpZCBpbnB1dHMKKyAqCisgKiBA ZG1hYnVmOgkJW2luXQlidWZmZXIgdG8gZ2V0IGNvbnN0cmFpbnRzIG9mCisgKiBAY29uc3RyYWlu dHM6CVtvdXRdCXJlY2FsY3VsYXRlZCBjb25zdHJhaW50cyBhcmUgcmV0dXJuZWQgaW4gdGhpcwor ICovCitpbnQgZG1hX2J1Zl9yZWNhbGNfY29uc3RyYWludHMoc3RydWN0IGRtYV9idWYgKmRtYWJ1 ZiwKKwkJCSAgICBzdHJ1Y3QgZG1hX2J1Zl9jb25zdHJhaW50cyAqY29uc3RyYWludHMpCit7CisJ c3RydWN0IGRtYV9idWZfY29uc3RyYWludHMgY2FsY19jb25zOworCWludCByZXQgPSAwOworCisJ aWYgKFdBUk5fT04oIWRtYWJ1ZiB8fCAhY29uc3RyYWludHMpKQorCQlyZXR1cm4gLUVJTlZBTDsK KworCW11dGV4X2xvY2soJmRtYWJ1Zi0+bG9jayk7CisJcmV0ID0gcmVjYWxjX2NvbnN0cmFpbnRz KGRtYWJ1ZiwgJmNhbGNfY29ucyk7CisJaWYgKCFyZXQpCisJCSpjb25zdHJhaW50cyA9IGNhbGNf Y29uczsKKworCW11dGV4X3VubG9jaygmZG1hYnVmLT5sb2NrKTsKKwlyZXR1cm4gcmV0OworfQor RVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl9yZWNhbGNfY29uc3RyYWludHMpOworCiAjaWZkZWYg Q09ORklHX0RFQlVHX0ZTCiBzdGF0aWMgaW50IGRtYV9idWZfZGVzY3JpYmUoc3RydWN0IHNlcV9m aWxlICpzKQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmggYi9pbmNsdWRl L2xpbnV4L2RtYS1idWYuaAppbmRleCA2OTRlMWZlLi5lMWY3Y2JlIDEwMDY0NAotLS0gYS9pbmNs dWRlL2xpbnV4L2RtYS1idWYuaAorKysgYi9pbmNsdWRlL2xpbnV4L2RtYS1idWYuaApAQCAtMzQs MTAgKzM0LDI4IEBACiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogCiBzdHJ1Y3QgZGV2aWNlOwor c3RydWN0IGRldmljZV9kbWFfcGFyYW1ldGVyczsKIHN0cnVjdCBkbWFfYnVmOwogc3RydWN0IGRt YV9idWZfYXR0YWNobWVudDsKIAogLyoqCisgKiBzdHJ1Y3QgZG1hX2J1Zl9jb25zdHJhaW50cyAt IGhvbGRzIGNvbnN0cmFpbnRzIGZvciB0aGUgZG1hLWJ1ZgorICogQGRtYV9tYXNrOglkbWFfbWFz ayBpZiB0aGUgZGV2aWNlIGlzIGRtYSdhYmxlCisgKiBAY29oZXJlbnRfZG1hX21hc2s6IGxpa2Ug ZG1hX21hc2ssIGJ1dCBmb3IgYWxsb2NfY29oZXJlbnQgbWFwcGluZ3MKKyAqIEBkbWFfcGFybXM6 IGNvbGxhdGVkIGRtYV9wYXJtcyBmcm9tIGFsbCBkZXZpY2VzLgorICoKKyAqIFRoaXMgc3RydWN0 dXJlIGhvbGRzIHRoZSBjb25zdHJhaW50cyBvZiB0aGUgZG1hX2J1ZiwgZGVwZW5kZW50IG9uIHRo ZQorICogY3VycmVudGx5IGF0dGFjaGVkIGRldmljZXMuIFNlbWFudGljcyBmb3IgZWFjaCBvZiB0 aGUgbWVtYmVycyBhcmUgdGhlIHNhbWUKKyAqIGFzIGRlZmluZWQgaW4gZGV2aWNlLmgKKyAqLwor c3RydWN0IGRtYV9idWZfY29uc3RyYWludHMgeworCXU2NAkJZG1hX21hc2s7CisJdTY0CQljb2hl cmVudF9kbWFfbWFzazsKKwlzdHJ1Y3QgZGV2aWNlX2RtYV9wYXJhbWV0ZXJzIGRtYV9wYXJtczsK K307CisKKworLyoqCiAgKiBzdHJ1Y3QgZG1hX2J1Zl9vcHMgLSBvcGVyYXRpb25zIHBvc3NpYmxl IG9uIHN0cnVjdCBkbWFfYnVmCiAgKiBAYXR0YWNoOiBbb3B0aW9uYWxdIGFsbG93cyBkaWZmZXJl bnQgZGV2aWNlcyB0byAnYXR0YWNoJyB0aGVtc2VsdmVzIHRvIHRoZQogICoJICAgIGdpdmVuIGJ1 ZmZlci4gSXQgbWlnaHQgcmV0dXJuIC1FQlVTWSB0byBzaWduYWwgdGhhdCBiYWNraW5nIHN0b3Jh Z2UKQEAgLTEzMCw2ICsxNDgsNyBAQCBzdHJ1Y3QgZG1hX2J1ZiB7CiAJdm9pZCAqdm1hcF9wdHI7 CiAJY29uc3QgY2hhciAqZXhwX25hbWU7CiAJc3RydWN0IGxpc3RfaGVhZCBsaXN0X25vZGU7CisJ c3RydWN0IGRtYV9idWZfY29uc3RyYWludHMgY29uc3RyYWludHM7CiAJdm9pZCAqcHJpdjsKIAlz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2OwogCkBAIC0yMTEsNCArMjMwLDcgQEAgdm9p ZCAqZG1hX2J1Zl92bWFwKHN0cnVjdCBkbWFfYnVmICopOwogdm9pZCBkbWFfYnVmX3Z1bm1hcChz dHJ1Y3QgZG1hX2J1ZiAqLCB2b2lkICp2YWRkcik7CiBpbnQgZG1hX2J1Zl9kZWJ1Z2ZzX2NyZWF0 ZV9maWxlKGNvbnN0IGNoYXIgKm5hbWUsCiAJCQkJaW50ICgqd3JpdGUpKHN0cnVjdCBzZXFfZmls ZSAqKSk7CisKK2ludCBkbWFfYnVmX2dldF9jb25zdHJhaW50cyhzdHJ1Y3QgZG1hX2J1ZiAqLCBz dHJ1Y3QgZG1hX2J1Zl9jb25zdHJhaW50cyAqKTsKK2ludCBkbWFfYnVmX3JlY2FsY19jb25zdHJh aW50cyhzdHJ1Y3QgZG1hX2J1ZiAqLCBzdHJ1Y3QgZG1hX2J1Zl9jb25zdHJhaW50cyAqKTsKICNl bmRpZiAvKiBfX0RNQV9CVUZfSF9fICovCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK