From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 3/3] drm: document the all the atomic iterators Date: Wed, 29 Mar 2017 08:35:02 +0200 Message-ID: <20170329063502.qglzg6wa2i3kd6d6@phenom.ffwll.local> References: <20170328155349.5972-1-daniel.vetter@ffwll.ch> <20170328155349.5972-3-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id C36D96E6B0 for ; Wed, 29 Mar 2017 06:35:07 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id z133so3209796wmb.2 for ; Tue, 28 Mar 2017 23:35:07 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher Cc: Daniel Vetter , Intel Graphics Development , DRI Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXIgMjgsIDIwMTcgYXQgMTI6MTA6MzdQTSAtMDQwMCwgQWxleCBEZXVjaGVyIHdy b3RlOgo+IE9uIFR1ZSwgTWFyIDI4LCAyMDE3IGF0IDExOjUzIEFNLCBEYW5pZWwgVmV0dGVyIDxk YW5pZWwudmV0dGVyQGZmd2xsLmNoPiB3cm90ZToKPiA+IE1vc3RseSBiZWNhdXNlIEkgd2FudCB0 aGUgbGlua3MgZnJvbSB0aGUgbmV3bHktYWRkZWQgQHN0YXRlIGZ1bmN0aW9ucwo+ID4gdG8gd29y ay4gQnV0IEkgdGhpbmsgZXhwbGFpbmluZyB3aGVuIHRoZXkncmUgdXNlZnVsIGFuZCB0aGF0IHRo ZQo+ID4gaW1wbGljaXQgb25lIGlzIGRlcHJlY2F0ZWQgaXMgZ29vZCBlaXRoZXIgd2F5LiBTbGln aHRseSByZXBldGl0aXZlCj4gPiB1bmZvcnR1bmF0ZWx5Lgo+ID4KPiA+IENjOiBIYXJyeSBXZW50 bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KPiA+IENjOiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gCj4gU2VyaWVzIGlzOgo+IFJl dmlld2VkLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+CgpUaGFu a3MgYSBsb3QgZm9yIHlvdXIgcmV2aWV3cywgYWxsIGFwcGxpZWQgdG8gLW1pc2MuCi1EYW5pZWwK Cj4gCj4gPiAtLS0KPiA+ICBpbmNsdWRlL2RybS9kcm1fYXRvbWljLmggfCAxNTkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ICAxIGZpbGUgY2hhbmdl ZCwgMTU4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gPiBp bmRleCAwMTQ3YTA0Nzg3OGQuLmZkMzNlZDVlYWViNCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9hdG9taWMuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gPiBA QCAtNDk4LDYgKzQ5OCwyMyBAQCBpbnQgX19tdXN0X2NoZWNrIGRybV9hdG9taWNfbm9uYmxvY2tp bmdfY29tbWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gPgo+ID4gIHZvaWQg ZHJtX3N0YXRlX2R1bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVy ICpwKTsKPiA+Cj4gPiArLyoqCj4gPiArICogZm9yX2VhY2hfY29ubmVjdG9yX2luX3N0YXRlIC0g aXRlcmF0ZSBvdmVyIGFsbCBjb25uZWN0b3JzIGluIGFuIGF0b21pYyB1cGRhdGUKPiA+ICsgKiBA X19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIKPiA+ICsgKiBAY29ubmVj dG9yOiAmc3RydWN0IGRybV9jb25uZWN0b3IgaXRlcmF0aW9uIGN1cnNvcgo+ID4gKyAqIEBjb25u ZWN0b3Jfc3RhdGU6ICZzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSBpdGVyYXRpb24gY3Vyc29y Cj4gPiArICogQF9faTogaW50IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1 c2UKPiA+ICsgKgo+ID4gKyAqIFRoaXMgaXRlcmF0ZXMgb3ZlciBhbGwgY29ubmVjdG9ycyBpbiBh biBhdG9taWMgdXBkYXRlLiBOb3RlIHRoYXQgYmVmb3JlIHRoZQo+ID4gKyAqIHNvZnR3YXJlIHN0 YXRlIGlzIGNvbW1pdHRlZCAoYnkgY2FsbGluZyBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KCksIHRoaXMKPiA+ICsgKiBwb2ludHMgdG8gdGhlIG5ldyBzdGF0ZSwgd2hpbGUgYWZ0ZXJ3YXJk cyBpdCBwb2ludHMgdG8gdGhlIG9sZCBzdGF0ZS4gRHVlIHRvCj4gPiArICogdGhpcyB0cmlja3kg Y29uZnVzaW9uIHRoaXMgbWFjcm8gaXMgZGVwcmVjYXRlZC4KPiA+ICsgKgo+ID4gKyAqIEZJWE1F Ogo+ID4gKyAqCj4gPiArICogUmVwbGFjZSBhbGwgdXNhZ2Ugb2YgdGhpcyB3aXRoIG9uZSBvZiB0 aGUgZXhwbGljaXQgaXRlcmF0b3JzIGJlbG93IGFuZCB0aGVuCj4gPiArICogcmVtb3ZlIHRoaXMg bWFjcm8uCj4gPiArICovCj4gPiAgI2RlZmluZSBmb3JfZWFjaF9jb25uZWN0b3JfaW5fc3RhdGUo X19zdGF0ZSwgY29ubmVjdG9yLCBjb25uZWN0b3Jfc3RhdGUsIF9faSkgXAo+ID4gICAgICAgICBm b3IgKChfX2kpID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+ID4gICAgICAgICAgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5udW1fY29ubmVjdG9y ICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiBAQCAtNTA2LDYgKzUyMywy MCBAQCB2b2lkIGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBk cm1fcHJpbnRlciAqcCk7Cj4gPiAgICAgICAgICAgICAgKF9faSkrKykgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAg Zm9yX2VhY2hfaWYgKGNvbm5lY3RvcikKPiA+Cj4gPiArLyoqCj4gPiArICogZm9yX2VhY2hfb2xk bmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgY29ubmVjdG9ycyBpbiBh biBhdG9taWMgdXBkYXRlCj4gPiArICogQF9fc3RhdGU6ICZzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSBwb2ludGVyCj4gPiArICogQGNvbm5lY3RvcjogJnN0cnVjdCBkcm1fY29ubmVjdG9yIGl0ZXJh dGlvbiBjdXJzb3IKPiA+ICsgKiBAb2xkX2Nvbm5lY3Rvcl9zdGF0ZTogJnN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlIGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZQo+ID4gKyAqICAgICBvbGQgc3Rh dGUKPiA+ICsgKiBAbmV3X2Nvbm5lY3Rvcl9zdGF0ZTogJnN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlIGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZQo+ID4gKyAqICAgICBuZXcgc3RhdGUKPiA+ICsg KiBAX19pOiBpbnQgaXRlcmF0aW9uIGN1cnNvciwgZm9yIG1hY3JvLWludGVybmFsIHVzZQo+ID4g KyAqCj4gPiArICogVGhpcyBpdGVyYXRlcyBvdmVyIGFsbCBjb25uZWN0b3JzIGluIGFuIGF0b21p YyB1cGRhdGUsIHRyYWNraW5nIGJvdGggb2xkIGFuZAo+ID4gKyAqIG5ldyBzdGF0ZS4gVGhpcyBp cyB1c2VmdWwgaW4gcGxhY2VzIHdoZXJlIHRoZSBzdGF0ZSBkZWx0YSBuZWVkcyB0byBiZQo+ID4g KyAqIGNvbnNpZGVyZWQsIGZvciBleGFtcGxlIGluIGF0b21pYyBjaGVjayBmdW5jdGlvbnMuCj4g PiArICovCj4gPiAgI2RlZmluZSBmb3JfZWFjaF9vbGRuZXdfY29ubmVjdG9yX2luX3N0YXRlKF9f c3RhdGUsIGNvbm5lY3Rvciwgb2xkX2Nvbm5lY3Rvcl9zdGF0ZSwgbmV3X2Nvbm5lY3Rvcl9zdGF0 ZSwgX19pKSBcCj4gPiAgICAgICAgIGZvciAoKF9faSkgPSAwOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAo X19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3RvciAmJiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+ID4gQEAgLTUxNSw2ICs1NDYsMTggQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ID4gICAgICAg ICAgICAgIChfX2kpKyspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAo+ID4gICAgICAgICAgICAgICAgIGZvcl9lYWNoX2lmIChjb25uZWN0b3IpCj4g Pgo+ID4gKy8qKgo+ID4gKyAqIGZvcl9lYWNoX29sZF9jb25uZWN0b3JfaW5fc3RhdGUgLSBpdGVy YXRlIG92ZXIgYWxsIGNvbm5lY3RvcnMgaW4gYW4gYXRvbWljIHVwZGF0ZQo+ID4gKyAqIEBfX3N0 YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgo+ID4gKyAqIEBjb25uZWN0b3I6 ICZzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBpdGVyYXRpb24gY3Vyc29yCj4gPiArICogQG9sZF9jb25u ZWN0b3Jfc3RhdGU6ICZzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSBpdGVyYXRpb24gY3Vyc29y IGZvciB0aGUKPiA+ICsgKiAgICAgb2xkIHN0YXRlCj4gPiArICogQF9faTogaW50IGl0ZXJhdGlv biBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1c2UKPiA+ICsgKgo+ID4gKyAqIFRoaXMgaXRl cmF0ZXMgb3ZlciBhbGwgY29ubmVjdG9ycyBpbiBhbiBhdG9taWMgdXBkYXRlLCB0cmFja2luZyBv bmx5IHRoZSBvbGQKPiA+ICsgKiBzdGF0ZS4gVGhpcyBpcyB1c2VmdWwgaW4gZGlzYWJsZSBmdW5j dGlvbnMsIHdoZXJlIHdlIG5lZWQgdGhlIG9sZCBzdGF0ZSB0aGUKPiA+ICsgKiBoYXJkd2FyZSBp cyBzdGlsbCBpbi4KPiA+ICsgKi8KPiA+ICAjZGVmaW5lIGZvcl9lYWNoX29sZF9jb25uZWN0b3Jf aW5fc3RhdGUoX19zdGF0ZSwgY29ubmVjdG9yLCBvbGRfY29ubmVjdG9yX3N0YXRlLCBfX2kpIFwK PiA+ICAgICAgICAgZm9yICgoX19pKSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAgIChfX2kpIDwgKF9f c3RhdGUpLT5udW1fY29ubmVjdG9yICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Cj4gPiBAQCAtNTIzLDYgKzU2NiwxOCBAQCB2b2lkIGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7Cj4gPiAgICAgICAgICAgICAgKF9f aSkrKykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Cj4gPiAgICAgICAgICAgICAgICAgZm9yX2VhY2hfaWYgKGNvbm5lY3RvcikKPiA+Cj4gPiArLyoq Cj4gPiArICogZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBh bGwgY29ubmVjdG9ycyBpbiBhbiBhdG9taWMgdXBkYXRlCj4gPiArICogQF9fc3RhdGU6ICZzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSBwb2ludGVyCj4gPiArICogQGNvbm5lY3RvcjogJnN0cnVjdCBk cm1fY29ubmVjdG9yIGl0ZXJhdGlvbiBjdXJzb3IKPiA+ICsgKiBAbmV3X2Nvbm5lY3Rvcl9zdGF0 ZTogJnN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZQo+ ID4gKyAqICAgICBuZXcgc3RhdGUKPiA+ICsgKiBAX19pOiBpbnQgaXRlcmF0aW9uIGN1cnNvciwg Zm9yIG1hY3JvLWludGVybmFsIHVzZQo+ID4gKyAqCj4gPiArICogVGhpcyBpdGVyYXRlcyBvdmVy IGFsbCBjb25uZWN0b3JzIGluIGFuIGF0b21pYyB1cGRhdGUsIHRyYWNraW5nIG9ubHkgdGhlIG5l dwo+ID4gKyAqIHN0YXRlLiBUaGlzIGlzIHVzZWZ1bCBpbiBlbmFibGUgZnVuY3Rpb25zLCB3aGVy ZSB3ZSBuZWVkIHRoZSBuZXcgc3RhdGUgdGhlCj4gPiArICogaGFyZHdhcmUgc2hvdWxkIGJlIGlu IHdoZW4gdGhlIGF0b21pYyBjb21taXQgb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQuCj4gPiArICov Cj4gPiAgI2RlZmluZSBmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKF9fc3RhdGUsIGNv bm5lY3RvciwgbmV3X2Nvbm5lY3Rvcl9zdGF0ZSwgX19pKSBcCj4gPiAgICAgICAgIGZvciAoKF9f aSkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ICAgICAgICAgICAgICAoX19pKSA8IChfX3N0YXRlKS0+bnVtX2Nvbm5lY3Rv ciAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gQEAgLTUzMSw2ICs1ODYs MjMgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX3ByaW50ZXIgKnApOwo+ID4gICAgICAgICAgICAgIChfX2kpKyspICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAgICAg IGZvcl9lYWNoX2lmIChjb25uZWN0b3IpCj4gPgo+ID4gKy8qKgo+ID4gKyAqIGZvcl9lYWNoX2Ny dGNfaW5fc3RhdGUgLSBpdGVyYXRlIG92ZXIgYWxsIGNvbm5lY3RvcnMgaW4gYW4gYXRvbWljIHVw ZGF0ZQo+ID4gKyAqIEBfX3N0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgo+ ID4gKyAqIEBjcnRjOiAmc3RydWN0IGRybV9jcnRjIGl0ZXJhdGlvbiBjdXJzb3IKPiA+ICsgKiBA Y3J0Y19zdGF0ZTogJnN0cnVjdCBkcm1fY3J0Y19zdGF0ZSBpdGVyYXRpb24gY3Vyc29yCj4gPiAr ICogQF9faTogaW50IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1c2UKPiA+ ICsgKgo+ID4gKyAqIFRoaXMgaXRlcmF0ZXMgb3ZlciBhbGwgQ1JUQ3MgaW4gYW4gYXRvbWljIHVw ZGF0ZS4gTm90ZSB0aGF0IGJlZm9yZSB0aGUKPiA+ICsgKiBzb2Z0d2FyZSBzdGF0ZSBpcyBjb21t aXR0ZWQgKGJ5IGNhbGxpbmcgZHJtX2F0b21pY19oZWxwZXJfc3dhcF9zdGF0ZSgpLCB0aGlzCj4g PiArICogcG9pbnRzIHRvIHRoZSBuZXcgc3RhdGUsIHdoaWxlIGFmdGVyd2FyZHMgaXQgcG9pbnRz IHRvIHRoZSBvbGQgc3RhdGUuIER1ZSB0bwo+ID4gKyAqIHRoaXMgdHJpY2t5IGNvbmZ1c2lvbiB0 aGlzIG1hY3JvIGlzIGRlcHJlY2F0ZWQuCj4gPiArICoKPiA+ICsgKiBGSVhNRToKPiA+ICsgKgo+ ID4gKyAqIFJlcGxhY2UgYWxsIHVzYWdlIG9mIHRoaXMgd2l0aCBvbmUgb2YgdGhlIGV4cGxpY2l0 IGl0ZXJhdG9ycyBiZWxvdyBhbmQgdGhlbgo+ID4gKyAqIHJlbW92ZSB0aGlzIG1hY3JvLgo+ID4g KyAqLwo+ID4gICNkZWZpbmUgZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShfX3N0YXRlLCBjcnRjLCBj cnRjX3N0YXRlLCBfX2kpIFwKPiA+ICAgICAgICAgZm9yICgoX19pKSA9IDA7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgKF9faSkgPCAo X19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX2NydGMgJiYgICAgXAo+ID4gQEAgLTUzOSw2 ICs2MTEsMTggQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ID4gICAgICAgICAgICAgIChfX2kpKyspICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAgICBm b3JfZWFjaF9pZiAoY3J0Y19zdGF0ZSkKPiA+Cj4gPiArLyoqCj4gPiArICogZm9yX2VhY2hfb2xk bmV3X2NydGNfaW5fc3RhdGUgLSBpdGVyYXRlIG92ZXIgYWxsIENSVENzIGluIGFuIGF0b21pYyB1 cGRhdGUKPiA+ICsgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIK PiA+ICsgKiBAY3J0YzogJnN0cnVjdCBkcm1fY3J0YyBpdGVyYXRpb24gY3Vyc29yCj4gPiArICog QG9sZF9jcnRjX3N0YXRlOiAmc3RydWN0IGRybV9jcnRjX3N0YXRlIGl0ZXJhdGlvbiBjdXJzb3Ig Zm9yIHRoZSBvbGQgc3RhdGUKPiA+ICsgKiBAbmV3X2NydGNfc3RhdGU6ICZzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhlIG5ldyBzdGF0ZQo+ID4gKyAqIEBfX2k6 IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCj4gPiArICoKPiA+ ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIENSVENzIGluIGFuIGF0b21pYyB1cGRhdGUsIHRy YWNraW5nIGJvdGggb2xkIGFuZAo+ID4gKyAqIG5ldyBzdGF0ZS4gVGhpcyBpcyB1c2VmdWwgaW4g cGxhY2VzIHdoZXJlIHRoZSBzdGF0ZSBkZWx0YSBuZWVkcyB0byBiZQo+ID4gKyAqIGNvbnNpZGVy ZWQsIGZvciBleGFtcGxlIGluIGF0b21pYyBjaGVjayBmdW5jdGlvbnMuCj4gPiArICovCj4gPiAg I2RlZmluZSBmb3JfZWFjaF9vbGRuZXdfY3J0Y19pbl9zdGF0ZShfX3N0YXRlLCBjcnRjLCBvbGRf Y3J0Y19zdGF0ZSwgbmV3X2NydGNfc3RhdGUsIF9faSkgXAo+ID4gICAgICAgICBmb3IgKChfX2kp ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ ID4gICAgICAgICAgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5kZXYtPm1vZGVfY29uZmlnLm51bV9j cnRjICYmICAgICAgICAgICAgXAo+ID4gQEAgLTU0OCw2ICs2MzIsMTcgQEAgdm9pZCBkcm1fc3Rh dGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+ ID4gICAgICAgICAgICAgIChfX2kpKyspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAgICAgIGZvcl9lYWNoX2lmIChjcnRj KQo+ID4KPiA+ICsvKioKPiA+ICsgKiBmb3JfZWFjaF9vbGRfY3J0Y19pbl9zdGF0ZSAtIGl0ZXJh dGUgb3ZlciBhbGwgQ1JUQ3MgaW4gYW4gYXRvbWljIHVwZGF0ZQo+ID4gKyAqIEBfX3N0YXRlOiAm c3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgo+ID4gKyAqIEBjcnRjOiAmc3RydWN0IGRy bV9jcnRjIGl0ZXJhdGlvbiBjdXJzb3IKPiA+ICsgKiBAb2xkX2NydGNfc3RhdGU6ICZzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhlIG9sZCBzdGF0ZQo+ID4gKyAq IEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCj4gPiAr ICoKPiA+ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIENSVENzIGluIGFuIGF0b21pYyB1cGRh dGUsIHRyYWNraW5nIG9ubHkgdGhlIG9sZAo+ID4gKyAqIHN0YXRlLiBUaGlzIGlzIHVzZWZ1bCBp biBkaXNhYmxlIGZ1bmN0aW9ucywgd2hlcmUgd2UgbmVlZCB0aGUgb2xkIHN0YXRlIHRoZQo+ID4g KyAqIGhhcmR3YXJlIGlzIHN0aWxsIGluLgo+ID4gKyAqLwo+ID4gICNkZWZpbmUgZm9yX2VhY2hf b2xkX2NydGNfaW5fc3RhdGUoX19zdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIF9faSkgXAo+ ID4gICAgICAgICBmb3IgKChfX2kpID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAgIChfX2kpIDwgKF9fc3RhdGUpLT5k ZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjICYmICAgICAgICAgICAgXAo+ID4gQEAgLTU1Niw2ICs2 NTEsMTcgQEAgdm9pZCBkcm1fc3RhdGVfZHVtcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZHJtX3ByaW50ZXIgKnApOwo+ID4gICAgICAgICAgICAgIChfX2kpKyspICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAg ICAgIGZvcl9lYWNoX2lmIChjcnRjKQo+ID4KPiA+ICsvKioKPiA+ICsgKiBmb3JfZWFjaF9uZXdf Y3J0Y19pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgQ1JUQ3MgaW4gYW4gYXRvbWljIHVwZGF0 ZQo+ID4gKyAqIEBfX3N0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgo+ID4g KyAqIEBjcnRjOiAmc3RydWN0IGRybV9jcnRjIGl0ZXJhdGlvbiBjdXJzb3IKPiA+ICsgKiBAbmV3 X2NydGNfc3RhdGU6ICZzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3Ig dGhlIG5ldyBzdGF0ZQo+ID4gKyAqIEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFj cm8taW50ZXJuYWwgdXNlCj4gPiArICoKPiA+ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIENS VENzIGluIGFuIGF0b21pYyB1cGRhdGUsIHRyYWNraW5nIG9ubHkgdGhlIG5ldwo+ID4gKyAqIHN0 YXRlLiBUaGlzIGlzIHVzZWZ1bCBpbiBlbmFibGUgZnVuY3Rpb25zLCB3aGVyZSB3ZSBuZWVkIHRo ZSBuZXcgc3RhdGUgdGhlCj4gPiArICogaGFyZHdhcmUgc2hvdWxkIGJlIGluIHdoZW4gdGhlIGF0 b21pYyBjb21taXQgb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQuCj4gPiArICovCj4gPiAgI2RlZmlu ZSBmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShfX3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0 ZSwgX19pKSBcCj4gPiAgICAgICAgIGZvciAoKF9faSkgPSAwOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgKF9faSkgPCAo X19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcubnVtX2NydGMgJiYgICAgICAgICAgICBcCj4gPiBA QCAtNTY0LDYgKzY3MCwyMyBAQCB2b2lkIGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCk7Cj4gPiAgICAgICAgICAgICAgKF9faSkrKykg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAg ICAgICAgICAgICAgICAgZm9yX2VhY2hfaWYgKGNydGMpCj4gPgo+ID4gKy8qKgo+ID4gKyAqIGZv cl9lYWNoX3BsYW5lX2luX3N0YXRlIC0gaXRlcmF0ZSBvdmVyIGFsbCBwbGFuZXMgaW4gYW4gYXRv bWljIHVwZGF0ZQo+ID4gKyAqIEBfX3N0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9p bnRlcgo+ID4gKyAqIEBwbGFuZTogJnN0cnVjdCBkcm1fcGxhbmUgaXRlcmF0aW9uIGN1cnNvcgo+ ID4gKyAqIEBwbGFuZV9zdGF0ZTogJnN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgaXRlcmF0aW9uIGN1 cnNvcgo+ID4gKyAqIEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJu YWwgdXNlCj4gPiArICoKPiA+ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIHBsYW5lcyBpbiBh biBhdG9taWMgdXBkYXRlLiBOb3RlIHRoYXQgYmVmb3JlIHRoZQo+ID4gKyAqIHNvZnR3YXJlIHN0 YXRlIGlzIGNvbW1pdHRlZCAoYnkgY2FsbGluZyBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRl KCksIHRoaXMKPiA+ICsgKiBwb2ludHMgdG8gdGhlIG5ldyBzdGF0ZSwgd2hpbGUgYWZ0ZXJ3YXJk cyBpdCBwb2ludHMgdG8gdGhlIG9sZCBzdGF0ZS4gRHVlIHRvCj4gPiArICogdGhpcyB0cmlja3kg Y29uZnVzaW9uIHRoaXMgbWFjcm8gaXMgZGVwcmVjYXRlZC4KPiA+ICsgKgo+ID4gKyAqIEZJWE1F Ogo+ID4gKyAqCj4gPiArICogUmVwbGFjZSBhbGwgdXNhZ2Ugb2YgdGhpcyB3aXRoIG9uZSBvZiB0 aGUgZXhwbGljaXQgaXRlcmF0b3JzIGJlbG93IGFuZCB0aGVuCj4gPiArICogcmVtb3ZlIHRoaXMg bWFjcm8uCj4gPiArICovCj4gPiAgI2RlZmluZSBmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShfX3N0 YXRlLCBwbGFuZSwgcGxhbmVfc3RhdGUsIF9faSkgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAg Zm9yICgoX19pKSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ICAgICAgICAgICAgICAoX19pKSA8IChfX3N0YXRlKS0+ZGV2LT5tb2RlX2Nv bmZpZy5udW1fdG90YWxfcGxhbmUgJiYgICAgIFwKPiA+IEBAIC01NzIsNiArNjk1LDE4IEBAIHZv aWQgZHJtX3N0YXRlX2R1bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmlu dGVyICpwKTsKPiA+ICAgICAgICAgICAgICAoX19pKSsrKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAgICBmb3JfZWFj aF9pZiAocGxhbmVfc3RhdGUpCj4gPgo+ID4gKy8qKgo+ID4gKyAqIGZvcl9lYWNoX29sZG5ld19w bGFuZV9pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgcGxhbmVzIGluIGFuIGF0b21pYyB1cGRh dGUKPiA+ICsgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIKPiA+ ICsgKiBAcGxhbmU6ICZzdHJ1Y3QgZHJtX3BsYW5lIGl0ZXJhdGlvbiBjdXJzb3IKPiA+ICsgKiBA b2xkX3BsYW5lX3N0YXRlOiAmc3RydWN0IGRybV9wbGFuZV9zdGF0ZSBpdGVyYXRpb24gY3Vyc29y IGZvciB0aGUgb2xkIHN0YXRlCj4gPiArICogQG5ld19wbGFuZV9zdGF0ZTogJnN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhlIG5ldyBzdGF0ZQo+ID4gKyAqIEBf X2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCj4gPiArICoK PiA+ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIHBsYW5lcyBpbiBhbiBhdG9taWMgdXBkYXRl LCB0cmFja2luZyBib3RoIG9sZCBhbmQKPiA+ICsgKiBuZXcgc3RhdGUuIFRoaXMgaXMgdXNlZnVs IGluIHBsYWNlcyB3aGVyZSB0aGUgc3RhdGUgZGVsdGEgbmVlZHMgdG8gYmUKPiA+ICsgKiBjb25z aWRlcmVkLCBmb3IgZXhhbXBsZSBpbiBhdG9taWMgY2hlY2sgZnVuY3Rpb25zLgo+ID4gKyAqLwo+ ID4gICNkZWZpbmUgZm9yX2VhY2hfb2xkbmV3X3BsYW5lX2luX3N0YXRlKF9fc3RhdGUsIHBsYW5l LCBvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSwgX19pKSBcCj4gPiAgICAgICAgIGZv ciAoKF9faSkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gPiAgICAgICAgICAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25m aWcubnVtX3RvdGFsX3BsYW5lICYmICAgICBcCj4gPiBAQCAtNTgxLDYgKzcxNiwxNyBAQCB2b2lk IGRybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcHJpbnRl ciAqcCk7Cj4gPiAgICAgICAgICAgICAgKF9faSkrKykgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgZm9yX2VhY2hf aWYgKHBsYW5lKQo+ID4KPiA+ICsvKioKPiA+ICsgKiBmb3JfZWFjaF9vbGRfcGxhbmVfaW5fc3Rh dGUgLSBpdGVyYXRlIG92ZXIgYWxsIHBsYW5lcyBpbiBhbiBhdG9taWMgdXBkYXRlCj4gPiArICog QF9fc3RhdGU6ICZzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSBwb2ludGVyCj4gPiArICogQHBsYW5l OiAmc3RydWN0IGRybV9wbGFuZSBpdGVyYXRpb24gY3Vyc29yCj4gPiArICogQG9sZF9wbGFuZV9z dGF0ZTogJnN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhlIG9s ZCBzdGF0ZQo+ID4gKyAqIEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50 ZXJuYWwgdXNlCj4gPiArICoKPiA+ICsgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIHBsYW5lcyBp biBhbiBhdG9taWMgdXBkYXRlLCB0cmFja2luZyBvbmx5IHRoZSBvbGQKPiA+ICsgKiBzdGF0ZS4g VGhpcyBpcyB1c2VmdWwgaW4gZGlzYWJsZSBmdW5jdGlvbnMsIHdoZXJlIHdlIG5lZWQgdGhlIG9s ZCBzdGF0ZSB0aGUKPiA+ICsgKiBoYXJkd2FyZSBpcyBzdGlsbCBpbi4KPiA+ICsgKi8KPiA+ICAj ZGVmaW5lIGZvcl9lYWNoX29sZF9wbGFuZV9pbl9zdGF0ZShfX3N0YXRlLCBwbGFuZSwgb2xkX3Bs YW5lX3N0YXRlLCBfX2kpIFwKPiA+ICAgICAgICAgZm9yICgoX19pKSA9IDA7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAo X19pKSA8IChfX3N0YXRlKS0+ZGV2LT5tb2RlX2NvbmZpZy5udW1fdG90YWxfcGxhbmUgJiYgICAg IFwKPiA+IEBAIC01ODksNiArNzM1LDE3IEBAIHZvaWQgZHJtX3N0YXRlX2R1bXAoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVyICpwKTsKPiA+ICAgICAgICAgICAgICAo X19pKSsrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKPiA+ICAgICAgICAgICAgICAgICBmb3JfZWFjaF9pZiAocGxhbmUpCj4gPgo+ID4gKy8qKgo+ ID4gKyAqIGZvcl9lYWNoX25ld19wbGFuZV9pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgcGxh bmVzIGluIGFuIGF0b21pYyB1cGRhdGUKPiA+ICsgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRv bWljX3N0YXRlIHBvaW50ZXIKPiA+ICsgKiBAcGxhbmU6ICZzdHJ1Y3QgZHJtX3BsYW5lIGl0ZXJh dGlvbiBjdXJzb3IKPiA+ICsgKiBAbmV3X3BsYW5lX3N0YXRlOiAmc3RydWN0IGRybV9wbGFuZV9z dGF0ZSBpdGVyYXRpb24gY3Vyc29yIGZvciB0aGUgbmV3IHN0YXRlCj4gPiArICogQF9faTogaW50 IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1c2UKPiA+ICsgKgo+ID4gKyAq IFRoaXMgaXRlcmF0ZXMgb3ZlciBhbGwgcGxhbmVzIGluIGFuIGF0b21pYyB1cGRhdGUsIHRyYWNr aW5nIG9ubHkgdGhlIG5ldwo+ID4gKyAqIHN0YXRlLiBUaGlzIGlzIHVzZWZ1bCBpbiBlbmFibGUg ZnVuY3Rpb25zLCB3aGVyZSB3ZSBuZWVkIHRoZSBuZXcgc3RhdGUgdGhlCj4gPiArICogaGFyZHdh cmUgc2hvdWxkIGJlIGluIHdoZW4gdGhlIGF0b21pYyBjb21taXQgb3BlcmF0aW9uIGhhcyBjb21w bGV0ZWQuCj4gPiArICovCj4gPiAgI2RlZmluZSBmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUo X19zdGF0ZSwgcGxhbmUsIG5ld19wbGFuZV9zdGF0ZSwgX19pKSBcCj4gPiAgICAgICAgIGZvciAo KF9faSkgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiAgICAgICAgICAgICAgKF9faSkgPCAoX19zdGF0ZSktPmRldi0+bW9kZV9jb25maWcu bnVtX3RvdGFsX3BsYW5lICYmICAgICBcCj4gPiBAQCAtNjAzLDcgKzc2MCw3IEBAIHZvaWQgZHJt X3N0YXRlX2R1bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVyICpw KTsKPiA+ICAgKgo+ID4gICAqIFRvIGdpdmUgZHJpdmVycyBmbGV4aWJpbGl0eSAmc3RydWN0IGRy bV9jcnRjX3N0YXRlIGhhcyAzIGJvb2xlYW5zIHRvIHRyYWNrCj4gPiAgICogd2hldGhlciB0aGUg c3RhdGUgQ1JUQyBjaGFuZ2VkIGVub3VnaCB0byBuZWVkIGEgZnVsbCBtb2Rlc2V0IGN5Y2xlOgo+ ID4gLSAqIGNvbm5lY3RvcnNfY2hhbmdlZCwgbW9kZV9jaGFuZ2VkIGFuZCBhY3RpdmVfY2hhbmdl ZC4gVGhpcyBoZWxwZXIgc2ltcGx5Cj4gPiArICogcGxhbmVzX2NoYW5nZWQsIG1vZGVfY2hhbmdl ZCBhbmQgYWN0aXZlX2NoYW5nZWQuIFRoaXMgaGVscGVyIHNpbXBseQo+ID4gICAqIGNvbWJpbmVz IHRoZXNlIHRocmVlIHRvIGNvbXB1dGUgdGhlIG92ZXJhbGwgbmVlZCBmb3IgYSBtb2Rlc2V0IGZv ciBAc3RhdGUuCj4gPiAgICoKPiA+ICAgKiBUaGUgYXRvbWljIGhlbHBlciBjb2RlIHNldHMgdGhl c2UgYm9vbGVhbnMsIGJ1dCBkcml2ZXJzIGNhbiBhbmQgc2hvdWxkCj4gPiAtLQo+ID4gMi4xMS4w Cj4gPgo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==