From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 3/7] drm/doc: Add GEM/CMA helpers to kerneldoc Date: Wed, 5 Nov 2014 14:25:15 +0100 Message-ID: <1415193919-1687-4-git-send-email-thierry.reding@gmail.com> References: <1415193919-1687-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49]) by gabe.freedesktop.org (Postfix) with ESMTP id 788FF6E8EC for ; Wed, 5 Nov 2014 05:25:27 -0800 (PST) Received: by mail-wg0-f49.google.com with SMTP id x13so888946wgg.36 for ; Wed, 05 Nov 2014 05:25:26 -0800 (PST) In-Reply-To: <1415193919-1687-1-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Dave Airlie Cc: Benjamin Gaignard , Daniel Vetter , dri-devel@lists.freedesktop.org, Tomi Valkeinen , Archit Taneja , Laurent Pinchart , Russell King List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCk1vc3Qgb2YgdGhlIGZ1 bmN0aW9ucyBhbHJlYWR5IGhhdmUgdGhlIGJlZ2lubmluZ3Mgb2Yga2VybmVsZG9jIGNvbW1lbnRz CmJ1dCBhcmUgdXNpbmcgdGhlIHdyb25nIG9wZW5pbmcgbWFya2VyLiBVc2UgdGhlIGNvcnJlY3Qg b3BlbmluZyBtYXJrZXIKYW5kIGZsZXNoIG91dCB0aGUgY29tbWVudHMgc28gdGhhdCB0aGV5IGNh biBiZSBpbnRlZ3JhdGVkIHdpdGggdGhlIERSTQpEb2NCb29rIGRvY3VtZW50LgoKU2lnbmVkLW9m Zi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBEb2N1bWVudGF0 aW9uL0RvY0Jvb2svZHJtLnRtcGwgICAgICAgfCAgIDYgKysKIGRyaXZlcnMvZ3B1L2RybS9kcm1f Z2VtX2NtYV9oZWxwZXIuYyB8IDE1NSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LQogaW5jbHVkZS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmggICAgIHwgIDI1ICsrKystLQogMyBm aWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL2RybS50bXBsIGIvRG9jdW1lbnRhdGlvbi9Eb2NC b29rL2RybS50bXBsCmluZGV4IDE4MDI1NDk2YTczNi4uNjY2YTIxMGFmMTIxIDEwMDY0NAotLS0g YS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svZHJtLnRtcGwKKysrIGIvRG9jdW1lbnRhdGlvbi9Eb2NC b29rL2RybS50bXBsCkBAIC05NjMsNiArOTYzLDEyIEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq ICgqZ2VtX3ByaW1lX2ltcG9ydCkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKICFFZHJpdmVycy9n cHUvZHJtL2RybV9tbS5jCiAhSWluY2x1ZGUvZHJtL2RybV9tbS5oCiAgICAgPC9zZWN0Mj4KKyAg ICA8c2VjdDI+CisgICAgICA8dGl0bGU+Q01BIEhlbHBlciBGdW5jdGlvbnMgUmVmZXJlbmNlPC90 aXRsZT4KKyFQZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jIGNtYSBoZWxwZXJz CishRWRyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuYworIUlpbmNsdWRlL2RybS9k cm1fZ2VtX2NtYV9oZWxwZXIuaAorICAgIDwvc2VjdDI+CiAgIDwvc2VjdDE+CiAKICAgPCEtLSBJ bnRlcm5hbHM6IG1vZGUgc2V0dGluZyAtLT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZ2VtX2NtYV9oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIu YwppbmRleCAwMzE2MzEwZTJjYzQuLjU1MzA2YmUxZjhmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt X2NtYV9oZWxwZXIuYwpAQCAtMjksMTggKzI5LDMwIEBACiAjaW5jbHVkZSA8ZHJtL2RybV9nZW1f Y21hX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fdm1hX21hbmFnZXIuaD4KIAotLyoKKy8q KgorICogRE9DOiBjbWEgaGVscGVycworICoKKyAqIFRoZSBDb250aWd1b3VzIE1lbW9yeSBBbGxv Y2F0b3IgcmVzZXJ2ZXMgYSBwb29sIG9mIG1lbW9yeSBhdCBlYXJseSBib290CisgKiB0aGF0IGlz IHVzZWQgdG8gc2VydmljZSByZXF1ZXN0cyBmb3IgbGFyZ2UgYmxvY2tzIG9mIGNvbnRpZ3VvdXMg bWVtb3J5LgorICoKKyAqIFRoZSBEUk0gR0VNL0NNQSBoZWxwZXJzIHVzZSB0aGlzIGFsbG9jYXRv ciBhcyBhIG1lYW5zIHRvIHByb3ZpZGUgYnVmZmVyCisgKiBvYmplY3RzIHRoYXQgYXJlIHBoeXNp Y2FsbHkgY29udGlndW91cyBpbiBtZW1vcnkuIFRoaXMgaXMgdXNlZnVsIGZvcgorICogZGlzcGxh eSBkcml2ZXJzIHRoYXQgYXJlIHVuYWJsZSB0byBtYXAgc2NhdHRlcmVkIGJ1ZmZlcnMgdmlhIGFu IElPTU1VLgorICovCisKKy8qKgogICogX19kcm1fZ2VtX2NtYV9jcmVhdGUgLSBDcmVhdGUgYSBH RU0gQ01BIG9iamVjdCB3aXRob3V0IGFsbG9jYXRpbmcgbWVtb3J5Ci0gKiBAZHJtOiBUaGUgZHJt IGRldmljZQotICogQHNpemU6IFRoZSBHRU0gb2JqZWN0IHNpemUKKyAqIEBkcm06IERSTSBkZXZp Y2UKKyAqIEBzaXplOiBzaXplIG9mIHRoZSBvYmplY3QgdG8gYWxsb2NhdGUKICAqCi0gKiBUaGlz IGZ1bmN0aW9uIGNyZWF0ZXMgYW5kIGluaXRpYWxpemVzIGEgR0VNIENNQSBvYmplY3Qgb2YgdGhl IGdpdmVuIHNpemUsIGJ1dAotICogZG9lc24ndCBhbGxvY2F0ZSBhbnkgbWVtb3J5IHRvIGJhY2sg dGhlIG9iamVjdC4KKyAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhbmQgaW5pdGlhbGl6ZXMgYSBH RU0gQ01BIG9iamVjdCBvZiB0aGUgZ2l2ZW4gc2l6ZSwKKyAqIGJ1dCBkb2Vzbid0IGFsbG9jYXRl IGFueSBtZW1vcnkgdG8gYmFjayB0aGUgb2JqZWN0LgogICoKLSAqIFJldHVybiBhIHN0cnVjdCBk cm1fZ2VtX2NtYV9vYmplY3QqIG9uIHN1Y2Nlc3Mgb3IgRVJSX1BUUiB2YWx1ZXMgb24gZmFpbHVy ZS4KKyAqIFJldHVybjogQSBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICogb24gc3VjY2VzcyBv ciBhbiBFUlJfUFRSKCktZW5jb2RlZAorICogbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJl LgogICovCiBzdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqCi1fX2RybV9nZW1fY21h X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCB1bnNpZ25lZCBpbnQgc2l6ZSkKK19fZHJt X2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVfdCBzaXplKQogewog CXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7CiAJc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpnZW1fb2JqOwpAQCAtNjksMTQgKzgxLDE2IEBAIGVycm9yOgogCXJldHVybiBFUlJfUFRS KHJldCk7CiB9CiAKLS8qCisvKioKICAqIGRybV9nZW1fY21hX2NyZWF0ZSAtIGFsbG9jYXRlIGFu IG9iamVjdCB3aXRoIHRoZSBnaXZlbiBzaXplCisgKiBAZHJtOiBEUk0gZGV2aWNlCisgKiBAc2l6 ZTogc2l6ZSBvZiB0aGUgb2JqZWN0IHRvIGFsbG9jYXRlCiAgKgotICogcmV0dXJucyBhIHN0cnVj dCBkcm1fZ2VtX2NtYV9vYmplY3QqIG9uIHN1Y2Nlc3Mgb3IgRVJSX1BUUiB2YWx1ZXMKLSAqIG9u IGZhaWx1cmUuCisgKiBSZXR1cm46IEEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqIG9uIHN1 Y2Nlc3Mgb3IgYW4gRVJSX1BUUigpLWVuY29kZWQKKyAqIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24g ZmFpbHVyZS4KICAqLwogc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0JCXVuc2lnbmVkIGludCBzaXplKQorCQkJCQkg ICAgICBzaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2Jq OwogCWludCByZXQ7CkBAIC0xMDQsMTcgKzExOCwyMSBAQCBlcnJvcjoKIH0KIEVYUE9SVF9TWU1C T0xfR1BMKGRybV9nZW1fY21hX2NyZWF0ZSk7CiAKLS8qCi0gKiBkcm1fZ2VtX2NtYV9jcmVhdGVf d2l0aF9oYW5kbGUgLSBhbGxvY2F0ZSBhbiBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4KLSAqIHNpemUg YW5kIGNyZWF0ZSBhIGdlbSBoYW5kbGUgb24gaXQKKy8qKgorICogZHJtX2dlbV9jbWFfY3JlYXRl X3dpdGhfaGFuZGxlIC0gYWxsb2NhdGUgYW4gb2JqZWN0IHdpdGggdGhlIGdpdmVuIHNpemUgYW5k CisgKiAgICAgcmV0dXJuIGEgR0VNIGhhbmRsZSB0byBpdAorICogQGZpbGVfcHJpdjogRFJNIGZp bGUtcHJpdmF0ZSBzdHJ1Y3R1cmUgdG8gcmVnaXN0ZXIgdGhlIGhhbmRsZSBmb3IKKyAqIEBkcm06 IERSTSBkZXZpY2UKKyAqIEBzaXplOiBzaXplIG9mIHRoZSBvYmplY3QgdG8gYWxsb2NhdGUKKyAq IEBoYW5kbGU6IHJldHVybiBsb2NhdGlvbiBmb3IgdGhlIEdFTSBoYW5kbGUKICAqCi0gKiByZXR1 cm5zIGEgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCogb24gc3VjY2VzcyBvciBFUlJfUFRSIHZh bHVlcwotICogb24gZmFpbHVyZS4KKyAqIFJldHVybjogQSBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2Jq ZWN0ICogb24gc3VjY2VzcyBvciBhbiBFUlJfUFRSKCktZW5jb2RlZAorICogbmVnYXRpdmUgZXJy b3IgY29kZSBvbiBmYWlsdXJlLgogICovCi1zdGF0aWMgc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqZHJtX2dlbV9jbWFfY3JlYXRlX3dpdGhfaGFuZGxlKAotCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdiwKLQkJc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgaW50IHNpemUsCi0J CXVuc2lnbmVkIGludCAqaGFuZGxlKQorc3RhdGljIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KgorZHJtX2dlbV9jbWFfY3JlYXRlX3dpdGhfaGFuZGxlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2LAorCQkJICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHNpemVfdCBzaXplLAorCQkJ ICAgICAgIHVpbnQzMl90ICpoYW5kbGUpCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAq Y21hX29iajsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmo7CkBAIC0xNDUsOSArMTYz LDkgQEAgZXJyX2hhbmRsZV9jcmVhdGU6CiAJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KIAotLyoK LSAqIGRybV9nZW1fY21hX2ZyZWVfb2JqZWN0IC0gKHN0cnVjdCBkcm1fZHJpdmVyKS0+Z2VtX2Zy ZWVfb2JqZWN0IGNhbGxiYWNrCi0gKiBmdW5jdGlvbgorLyoqCisgKiBkcm1fZ2VtX2NtYV9mcmVl X29iamVjdCAtIGZyZWUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIENNQSBHRU0gb2JqZWN0 CisgKiBAZ2VtX29iajogR0VNIG9iamVjdCB0byBmcmVlCiAgKi8KIHZvaWQgZHJtX2dlbV9jbWFf ZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKQogewpAQCAtMTcwLDE1 ICsxODgsMjAgQEAgdm9pZCBkcm1fZ2VtX2NtYV9mcmVlX29iamVjdChzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKmdlbV9vYmopCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9mcmVlX29i amVjdCk7CiAKLS8qCi0gKiBkcm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZSAtIChzdHJ1Y3QgZHJtX2Ry aXZlciktPmR1bWJfY3JlYXRlIGNhbGxiYWNrCi0gKiBmdW5jdGlvbgorLyoqCisgKiBkcm1fZ2Vt X2NtYV9kdW1iX2NyZWF0ZSAtIGNyZWF0ZSBhIGR1bWIgYnVmZmVyIG9iamVjdAorICogQGZpbGVf cHJpdjogRFJNIGZpbGUtcHJpdmF0ZSBzdHJ1Y3R1cmUgdG8gY3JlYXRlIHRoZSBkdW1iIGJ1ZmZl ciBmb3IKKyAqIEBkcm06IERSTSBkZXZpY2UKKyAqIEBhcmdzOiBJT0NUTCBkYXRhCiAgKgotICog VGhpcyBhbGlnbnMgdGhlIHBpdGNoIGFuZCBzaXplIGFyZ3VtZW50cyB0byB0aGUgbWluaW11bSBy ZXF1aXJlZC4gd3JhcAorICogVGhpcyBhbGlnbnMgdGhlIHBpdGNoIGFuZCBzaXplIGFyZ3VtZW50 cyB0byB0aGUgbWluaW11bSByZXF1aXJlZC4gV3JhcAogICogdGhpcyBpbnRvIHlvdXIgb3duIGZ1 bmN0aW9uIGlmIHlvdSBuZWVkIGJpZ2dlciBhbGlnbm1lbnQuCisgKgorICogUmV0dXJuOiAwIG9u IHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCiAgKi8KIGludCBk cm1fZ2VtX2NtYV9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKLQkJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzKQor CQkJICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCisJCQkgICAgc3RydWN0IGRybV9tb2RlX2Ny ZWF0ZV9kdW1iICphcmdzKQogewogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmo7 CiAJaW50IG1pbl9waXRjaCA9IERJVl9ST1VORF9VUChhcmdzLT53aWR0aCAqIGFyZ3MtPmJwcCwg OCk7CkBAIC0xODksMTggKzIxMiwyNSBAQCBpbnQgZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGUoc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAJaWYgKGFyZ3MtPnNpemUgPCBhcmdzLT5waXRjaCAq IGFyZ3MtPmhlaWdodCkKIAkJYXJncy0+c2l6ZSA9IGFyZ3MtPnBpdGNoICogYXJncy0+aGVpZ2h0 OwogCi0JY21hX29iaiA9IGRybV9nZW1fY21hX2NyZWF0ZV93aXRoX2hhbmRsZShmaWxlX3ByaXYs IGRldiwKLQkJCWFyZ3MtPnNpemUsICZhcmdzLT5oYW5kbGUpOworCWNtYV9vYmogPSBkcm1fZ2Vt X2NtYV9jcmVhdGVfd2l0aF9oYW5kbGUoZmlsZV9wcml2LCBkcm0sIGFyZ3MtPnNpemUsCisJCQkJ CQkgJmFyZ3MtPmhhbmRsZSk7CiAJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhjbWFfb2JqKTsKIH0K IEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21hX2R1bWJfY3JlYXRlKTsKIAotLyoKLSAqIGRy bV9nZW1fY21hX2R1bWJfbWFwX29mZnNldCAtIChzdHJ1Y3QgZHJtX2RyaXZlciktPmR1bWJfbWFw X29mZnNldCBjYWxsYmFjawotICogZnVuY3Rpb24KKy8qKgorICogZHJtX2dlbV9jbWFfZHVtYl9t YXBfb2Zmc2V0IC0gcmV0dXJuIHRoZSBmYWtlIG1tYXAgb2Zmc2V0IGZvciBhIENNQSBHRU0KKyAq ICAgICBvYmplY3QKKyAqIEBmaWxlX3ByaXY6IERSTSBmaWxlLXByaXZhdGUgc3RydWN0dXJlIGNv bnRhaW5pbmcgdGhlIEdFTSBvYmplY3QKKyAqIEBkcm06IERSTSBkZXZpY2UKKyAqIEBoYW5kbGU6 IEdFTSBvYmplY3QgaGFuZGxlCisgKiBAb2Zmc2V0OiByZXR1cm4gbG9jYXRpb24gZm9yIHRoZSBm YWtlIG1tYXAgb2Zmc2V0CisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2 ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCiAgKi8KIGludCBkcm1fZ2VtX2NtYV9kdW1iX21hcF9v ZmZzZXQoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCXN0cnVjdCBkcm1fZGV2aWNlICpk cm0sIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3QgKm9mZnNldCkKKwkJCQlzdHJ1Y3QgZHJtX2Rl dmljZSAqZHJtLCB1MzIgaGFuZGxlLAorCQkJCXU2NCAqb2Zmc2V0KQogewogCXN0cnVjdCBkcm1f Z2VtX29iamVjdCAqZ2VtX29iajsKIApAQCAtMjA4LDcgKzIzOCw3IEBAIGludCBkcm1fZ2VtX2Nt YV9kdW1iX21hcF9vZmZzZXQoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCiAKIAlnZW1fb2Jq ID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGRybSwgZmlsZV9wcml2LCBoYW5kbGUpOwogCWlmICgh Z2VtX29iaikgewotCQlkZXZfZXJyKGRybS0+ZGV2LCAiZmFpbGVkIHRvIGxvb2t1cCBnZW0gb2Jq ZWN0XG4iKTsKKwkJZGV2X2Vycihkcm0tPmRldiwgImZhaWxlZCB0byBsb29rdXAgR0VNIG9iamVj dFxuIik7CiAJCW11dGV4X3VubG9jaygmZHJtLT5zdHJ1Y3RfbXV0ZXgpOwogCQlyZXR1cm4gLUVJ TlZBTDsKIAl9CkBAIC0yNTEsOCArMjgxLDEyIEBAIHN0YXRpYyBpbnQgZHJtX2dlbV9jbWFfbW1h cF9vYmooc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29iaiwKIAlyZXR1cm4gcmV0Owog fQogCi0vKgotICogZHJtX2dlbV9jbWFfbW1hcCAtIChzdHJ1Y3QgZmlsZV9vcGVyYXRpb24pLT5t bWFwIGNhbGxiYWNrIGZ1bmN0aW9uCisvKioKKyAqIGRybV9nZW1fY21hX21tYXAgLSBtZW1vcnkt bWFwIGEgQ01BIEdFTSBvYmplY3QKKyAqIEBmaWxwOiBmaWxlIG9iamVjdAorICogQHZtYTogVk1B IGZvciB0aGUgYXJlYSB0byBiZSBtYXBwZWQKKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBv ciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KICAqLwogaW50IGRybV9nZW1fY21h X21tYXAoc3RydWN0IGZpbGUgKmZpbHAsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQogewpA QCAtMjcyLDcgKzMwNiwxMyBAQCBpbnQgZHJtX2dlbV9jbWFfbW1hcChzdHJ1Y3QgZmlsZSAqZmls cCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2Vt X2NtYV9tbWFwKTsKIAogI2lmZGVmIENPTkZJR19ERUJVR19GUwotdm9pZCBkcm1fZ2VtX2NtYV9k ZXNjcmliZShzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2JqLCBzdHJ1Y3Qgc2VxX2Zp bGUgKm0pCisvKioKKyAqIGRybV9nZW1fY21hX2Rlc2NyaWJlIC0gZGVzY3JpYmUgYSBDTUEgR0VN IG9iamVjdCBmb3IgZGVidWdmcworICogQGNtYV9vYmo6IENNQSBHRU0gb2JqZWN0CisgKiBAbTog ZGVidWdmcyBmaWxlIGhhbmRsZQorICovCit2b2lkIGRybV9nZW1fY21hX2Rlc2NyaWJlKHN0cnVj dCBkcm1fZ2VtX2NtYV9vYmplY3QgKmNtYV9vYmosCisJCQkgIHN0cnVjdCBzZXFfZmlsZSAqbSkK IHsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiA9ICZjbWFfb2JqLT5iYXNlOwogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmRldjsKQEAgLTI5MSw3ICszMzEsMTQgQEAgdm9pZCBk cm1fZ2VtX2NtYV9kZXNjcmliZShzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpjbWFfb2JqLCBz dHJ1Y3Qgc2VxX2ZpbGUgKm0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21hX2Rlc2NyaWJl KTsKICNlbmRpZgogCi0vKiBsb3ctbGV2ZWwgaW50ZXJmYWNlIHByaW1lIGhlbHBlcnMgKi8KKy8q KgorICogZHJtX2dlbV9jbWFfcHJpbWVfZ2V0X3NnX3RhYmxlIC0gcHJvdmlkZSBhIHNjYXR0ZXIv Z2F0aGVyIHRhYmxlIG9mIHBpbm5lZAorICogICAgIHBhZ2VzIGZvciBhIENNQSBHRU0gb2JqZWN0 CisgKiBAb2JqOiBHRU0gb2JqZWN0CisgKgorICogUmV0dXJuOiBBIHBvaW50ZXIgdG8gdGhlIHNj YXR0ZXIvZ2F0aGVyIHRhYmxlIG9mIHBpbm5lZCBwYWdlcyBvciBOVUxMIG9uCisgKiBmYWlsdXJl LgorICovCiBzdHJ1Y3Qgc2dfdGFibGUgKmRybV9nZW1fY21hX3ByaW1lX2dldF9zZ190YWJsZShz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKIHsKIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0 ICpjbWFfb2JqID0gdG9fZHJtX2dlbV9jbWFfb2JqKG9iaik7CkBAIC0zMTUsNiArMzYyLDE2IEBA IG91dDoKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGRybV9nZW1fY21hX3ByaW1lX2dldF9zZ190YWJs ZSk7CiAKKy8qKgorICogZHJtX2dlbV9jbWFfcHJpbWVfaW1wb3J0X3NnX3RhYmxlIC0gcHJvZHVj ZSBhIENNQSBHRU0gb2JqZWN0IGZyb20gYW5vdGhlcgorICogICAgIGRyaXZlcidzIHNjYXR0ZXIv Z2F0aGVyIHRhYmxlIG9mIHBpbm5lZCBwYWdlcworICogQGRldjogZGV2aWNlIHRvIGltcG9ydCBp bnRvCisgKiBAYXR0YWNoOiBETUEtQlVGIGF0dGFjaG1lbnQKKyAqIEBzZ3Q6IHNjYXR0ZXIvZ2F0 aGVyIHRhYmxlIG9mIHBpbm5lZCBwYWdlcworICoKKyAqIFJldHVybjogQSBwb2ludGVyIHRvIGEg bmV3bHkgY3JlYXRlZCBHRU0gb2JqZWN0IG9yIGFuIEVSUl9QVFItZW5jb2RlZAorICogbmVnYXRp dmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICovCiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgog ZHJtX2dlbV9jbWFfcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCQkJICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCkBAIC0zMzksNiArMzk2 LDEzIEBAIGRybV9nZW1fY21hX3ByaW1lX2ltcG9ydF9zZ190YWJsZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogfQogRVhQT1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfcHJpbWVfaW1wb3J0X3Nn X3RhYmxlKTsKIAorLyoqCisgKiBkcm1fZ2VtX2NtYV9wcmltZV9tbWFwIC0gbWVtb3J5LW1hcCBh biBleHBvcnRlZCBDTUEgR0VNIG9iamVjdAorICogQG9iajogR0VNIG9iamVjdAorICogQHZtYTog Vk1BIGZvciB0aGUgYXJlYSB0byBiZSBtYXBwZWQKKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2Vz cyBvciBhIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyAqLwogaW50IGRybV9nZW1f Y21hX3ByaW1lX21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICBzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIHsKQEAgLTM1Nyw2ICs0MjEsMTMgQEAgaW50IGRybV9nZW1f Y21hX3ByaW1lX21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiB9CiBFWFBPUlRfU1lN Qk9MX0dQTChkcm1fZ2VtX2NtYV9wcmltZV9tbWFwKTsKIAorLyoqCisgKiBkcm1fZ2VtX2NtYV9w cmltZV92bWFwIC0gbWFwIGEgQ01BIEdFTSBvYmplY3QgaW50byB0aGUga2VybmVsJ3MgdmlydHVh bAorICogICAgIGFkZHJlc3Mgc3BhY2UKKyAqIEBvYmo6IEdFTSBvYmplY3QKKyAqCisgKiBSZXR1 cm46IFRoZSBrZXJuZWwgdmlydHVhbCBhZGRyZXNzIG9mIHRoZSBDTUEgR0VNIG9iamVjdCdzIGJh Y2tpbmcgc3RvcmUuCisgKi8KIHZvaWQgKmRybV9nZW1fY21hX3ByaW1lX3ZtYXAoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmopCiB7CiAJc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqY21hX29i aiA9IHRvX2RybV9nZW1fY21hX29iaihvYmopOwpAQCAtMzY1LDYgKzQzNiwxMiBAQCB2b2lkICpk cm1fZ2VtX2NtYV9wcmltZV92bWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQogfQogRVhQ T1JUX1NZTUJPTF9HUEwoZHJtX2dlbV9jbWFfcHJpbWVfdm1hcCk7CiAKKy8qKgorICogZHJtX2dl bV9jbWFfcHJpbWVfdnVubWFwIC0gdW5tYXAgYSBDTUEgR0VNIG9iamVjdCBmcm9tIHRoZSBrZXJu ZWwncyB2aXJ0dWFsCisgKiAgICAgYWRkcmVzcyBzcGFjZQorICogQG9iajogR0VNIG9iamVjdAor ICogQHZhZGRyOiBrZXJuZWwgdmlydHVhbCBhZGRyZXNzIHdoZXJlIHRoZSBDTUEgR0VNIG9iamVj dCB3YXMgbWFwcGVkCisgKi8KIHZvaWQgZHJtX2dlbV9jbWFfcHJpbWVfdnVubWFwKHN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqLCB2b2lkICp2YWRkcikKIHsKIAkvKiBOb3RoaW5nIHRvIGRvICov CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaCBiL2luY2x1ZGUv ZHJtL2RybV9nZW1fY21hX2hlbHBlci5oCmluZGV4IDJmZjM1ZjNkZTljNS4uODczZDRlYjdmMTI1 IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaAorKysgYi9pbmNs dWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaApAQCAtNCw2ICs0LDEzIEBACiAjaW5jbHVkZSA8 ZHJtL2RybVAuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2dlbS5oPgogCisvKioKKyAqIHN0cnVjdCBk cm1fZ2VtX2NtYV9vYmplY3QgLSBHRU0gb2JqZWN0IGJhY2tlZCBieSBDTUEgbWVtb3J5IGFsbG9j YXRpb25zCisgKiBAYmFzZTogYmFzZSBHRU0gb2JqZWN0CisgKiBAcGFkZHI6IHBoeXNpY2FsIGFk ZHJlc3Mgb2YgdGhlIGJhY2tpbmcgbWVtb3J5CisgKiBAc2d0OiBzY2F0dGVyL2dhdGhlciB0YWJs ZSBmb3IgaW1wb3J0ZWQgUFJJTUUgYnVmZmVycworICogQHZhZGRyOiBrZXJuZWwgdmlydHVhbCBh ZGRyZXNzIG9mIHRoZSBiYWNraW5nIG1lbW9yeQorICovCiBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2Jq ZWN0IHsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgYmFzZTsKIAlkbWFfYWRkcl90IHBhZGRyOwpA QCAtMTksMjMgKzI2LDI1IEBAIHRvX2RybV9nZW1fY21hX29iaihzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKmdlbV9vYmopCiAJcmV0dXJuIGNvbnRhaW5lcl9vZihnZW1fb2JqLCBzdHJ1Y3QgZHJtX2dl bV9jbWFfb2JqZWN0LCBiYXNlKTsKIH0KIAotLyogZnJlZSBnZW0gb2JqZWN0LiAqLworLyogZnJl ZSBHRU0gb2JqZWN0ICovCiB2b2lkIGRybV9nZW1fY21hX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqZ2VtX29iaik7CiAKLS8qIGNyZWF0ZSBtZW1vcnkgcmVnaW9uIGZvciBkcm0g ZnJhbWVidWZmZXIuICovCisvKiBjcmVhdGUgbWVtb3J5IHJlZ2lvbiBmb3IgRFJNIGZyYW1lYnVm ZmVyICovCiBpbnQgZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYsCi0JCXN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVf ZHVtYiAqYXJncyk7CisJCQkgICAgc3RydWN0IGRybV9kZXZpY2UgKmRybSwKKwkJCSAgICBzdHJ1 Y3QgZHJtX21vZGVfY3JlYXRlX2R1bWIgKmFyZ3MpOwogCi0vKiBtYXAgbWVtb3J5IHJlZ2lvbiBm b3IgZHJtIGZyYW1lYnVmZmVyIHRvIHVzZXIgc3BhY2UuICovCisvKiBtYXAgbWVtb3J5IHJlZ2lv biBmb3IgRFJNIGZyYW1lYnVmZmVyIHRvIHVzZXIgc3BhY2UgKi8KIGludCBkcm1fZ2VtX2NtYV9k dW1iX21hcF9vZmZzZXQoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCi0JCXN0cnVjdCBkcm1f ZGV2aWNlICpkcm0sIHVpbnQzMl90IGhhbmRsZSwgdWludDY0X3QgKm9mZnNldCk7CisJCQkJc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdTMyIGhhbmRsZSwKKwkJCQl1NjQgKm9mZnNldCk7CiAKLS8q IHNldCB2bV9mbGFncyBhbmQgd2UgY2FuIGNoYW5nZSB0aGUgdm0gYXR0cmlidXRlIHRvIG90aGVy IG9uZSBhdCBoZXJlLiAqLworLyogc2V0IHZtX2ZsYWdzIGFuZCB3ZSBjYW4gY2hhbmdlIHRoZSBW TSBhdHRyaWJ1dGUgdG8gb3RoZXIgb25lIGF0IGhlcmUgKi8KIGludCBkcm1fZ2VtX2NtYV9tbWFw KHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7CiAKLS8qIGFs bG9jYXRlIHBoeXNpY2FsIG1lbW9yeS4gKi8KKy8qIGFsbG9jYXRlIHBoeXNpY2FsIG1lbW9yeSAq Lwogc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqZHJtX2dlbV9jbWFfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sCi0JCXVuc2lnbmVkIGludCBzaXplKTsKKwkJCQkJICAgICAgc2l6ZV90 IHNpemUpOwogCiBleHRlcm4gY29uc3Qgc3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IGRybV9n ZW1fY21hX3ZtX29wczsKIAotLSAKMi4xLjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==