From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 05/14] drm/atomic: trim driver interface/docs Date: Mon, 3 Sep 2018 18:54:30 +0200 Message-ID: <20180903165439.24845-5-daniel.vetter@ffwll.ch> References: <20180903165439.24845-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180903165439.24845-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: David Airlie , Daniel Vetter , Intel Graphics Development , Sean Paul , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org UmVtb3ZlIHRoZSBrZXJuZWxkb2MgYW5kIEVYUE9SVF9TWU1CT0wgd2hpY2ggYXJlbid0IHVzZWQg YW5kIHJlYWxseQpzaG91bGRuJ3QgZXZlciBiZSB1c2VkIGJ5IGRyaXZlcnMgZGlyZWN0bHkuCgpV bmZvcnR1bmF0ZWx5IHRoaXMgbWVhbnMgd2UgbmVlZCB0byBtb3ZlIHRoZSBzZXRfd3JpdGViYWNr X2ZiIGZ1bmN0aW9uCmFyb3VuZCB0byBhdm9pZCBhIGZvcndhcmQgZGVjbC4KClNpZ25lZC1vZmYt Ynk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogRGF2aWQgQWly bGllIDxhaXJsaWVkQGxpbnV4LmllPgpDYzogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvQHBhZG92 YW4ub3JnPgpDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIERvY3Vt ZW50YXRpb24vZ3B1L2RybS1rbXMucnN0IHwgICAzIC0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMgIHwgMjE5ICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUv ZHJtL2RybV9hdG9taWMuaCAgICAgIHwgICA2IC0KIDMgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0 aW9ucygrKSwgMTk0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZ3B1 L2RybS1rbXMucnN0IGIvRG9jdW1lbnRhdGlvbi9ncHUvZHJtLWttcy5yc3QKaW5kZXggZjhmNWJm MTFhNmNhLi4zYTlkZDY4Yjk3YzkgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZ3B1L2RybS1r bXMucnN0CisrKyBiL0RvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0CkBAIC0yODcsOSArMjg3 LDYgQEAgQXRvbWljIE1vZGUgU2V0dGluZyBGdW5jdGlvbiBSZWZlcmVuY2UKIC4uIGtlcm5lbC1k b2M6OiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCiAgICA6ZXhwb3J0OgogCi0uLiBrZXJu ZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwotICAgOmludGVybmFsOgotCiBD UlRDIEFic3RyYWN0aW9uCiA9PT09PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4 IDE1MWRkNzE2MmIzYS4uMjlhNGU2OTU5MzU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTQ2NCwz MCArNDY0LDYgQEAgaW50IGRybV9hdG9taWNfc2V0X21vZGVfcHJvcF9mb3JfY3J0YyhzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKnN0YXRlLAogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3NldF9t b2RlX3Byb3BfZm9yX2NydGMpOwogCi0vKioKLSAqIGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0 eV9ibG9iX2Zyb21faWQgLSBsb29rdXAgdGhlIG5ldyBibG9iIGFuZCByZXBsYWNlIHRoZSBvbGQg b25lIHdpdGggaXQKLSAqIEBkZXY6IERSTSBkZXZpY2UKLSAqIEBibG9iOiBhIHBvaW50ZXIgdG8g dGhlIG1lbWJlciBibG9iIHRvIGJlIHJlcGxhY2VkCi0gKiBAYmxvYl9pZDogSUQgb2YgdGhlIG5l dyBibG9iCi0gKiBAZXhwZWN0ZWRfc2l6ZTogdG90YWwgZXhwZWN0ZWQgc2l6ZSBvZiB0aGUgYmxv YiBkYXRhIChpbiBieXRlcykKLSAqIEBleHBlY3RlZF9lbGVtX3NpemU6IGV4cGVjdGVkIGVsZW1l bnQgc2l6ZSBvZiB0aGUgYmxvYiBkYXRhIChpbiBieXRlcykKLSAqIEByZXBsYWNlZDogZGlkIHRo ZSBibG9iIGdldCByZXBsYWNlZD8KLSAqCi0gKiBSZXBsYWNlIEBibG9iIHdpdGggYW5vdGhlciBi bG9iIHdpdGggdGhlIElEIEBibG9iX2lkLiBJZiBAYmxvYl9pZCBpcyB6ZXJvCi0gKiBAYmxvYiBi ZWNvbWVzIE5VTEwuCi0gKgotICogSWYgQGV4cGVjdGVkX3NpemUgaXMgcG9zaXRpdmUgdGhlIG5l dyBibG9iIGxlbmd0aCBpcyBleHBlY3RlZCB0byBiZSBlcXVhbAotICogdG8gQGV4cGVjdGVkX3Np emUgYnl0ZXMuIElmIEBleHBlY3RlZF9lbGVtX3NpemUgaXMgcG9zaXRpdmUgdGhlIG5ldyBibG9i Ci0gKiBsZW5ndGggaXMgZXhwZWN0ZWQgdG8gYmUgYSBtdWx0aXBsZSBvZiBAZXhwZWN0ZWRfZWxl bV9zaXplIGJ5dGVzLiBPdGhlcndpc2UKLSAqIGFuIGVycm9yIGlzIHJldHVybmVkLgotICoKLSAq IEByZXBsYWNlZCB3aWxsIGluZGljYXRlIHRvIHRoZSBjYWxsZXIgd2hldGhlciB0aGUgYmxvYiB3 YXMgcmVwbGFjZWQgb3Igbm90LgotICogSWYgdGhlIG9sZCBhbmQgbmV3IGJsb2JzIHdlcmUgaW4g ZmFjdCB0aGUgc2FtZSBibG9iIEByZXBsYWNlZCB3aWxsIGJlIGZhbHNlCi0gKiBvdGhlcndpc2Ug aXQgd2lsbCBiZSB0cnVlLgotICoKLSAqIFJFVFVSTlM6Ci0gKiBaZXJvIG9uIHN1Y2Nlc3MsIGVy cm9yIGNvZGUgb24gZmFpbHVyZS4KLSAqLwogc3RhdGljIGludAogZHJtX2F0b21pY19yZXBsYWNl X3Byb3BlcnR5X2Jsb2JfZnJvbV9pZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkgc3Ry dWN0IGRybV9wcm9wZXJ0eV9ibG9iICoqYmxvYiwKQEAgLTUyMSwyMiArNDk3LDcgQEAgZHJtX2F0 b21pY19yZXBsYWNlX3Byb3BlcnR5X2Jsb2JfZnJvbV9pZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCXJldHVybiAwOwogfQogCi0vKioKLSAqIGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkg LSBzZXQgcHJvcGVydHkgb24gQ1JUQwotICogQGNydGM6IHRoZSBkcm0gQ1JUQyB0byBzZXQgYSBw cm9wZXJ0eSBvbgotICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRo ZSBuZXcgcHJvcGVydHkgdmFsdWUKLSAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHNldAot ICogQHZhbDogdGhlIG5ldyBwcm9wZXJ0eSB2YWx1ZQotICoKLSAqIFRoaXMgZnVuY3Rpb24gaGFu ZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvIGRyaXZlcidzCi0g KiAmZHJtX2NydGNfZnVuY3MuYXRvbWljX3NldF9wcm9wZXJ0eSBmb3IgZHJpdmVyIHByb3BlcnRp ZXMuIFRvIGVuc3VyZQotICogY29uc2lzdGVudCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMg ZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRyaXZlciBob29rCi0gKiBkaXJlY3RseS4KLSAqCi0g KiBSRVRVUk5TOgotICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKLSAq LwotaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRj LAorc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9w ZXJ0eSAqcHJvcGVydHksCiAJCXVpbnQ2NF90IHZhbCkKIHsKQEAgLTU5OCwyMyArNTU5LDcgQEAg aW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CiAJcmV0dXJuIDA7CiB9Ci1FWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVy dHkpOwogCi0vKioKLSAqIGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkgLSBnZXQgcHJvcGVy dHkgdmFsdWUgZnJvbSBDUlRDIHN0YXRlCi0gKiBAY3J0YzogdGhlIGRybSBDUlRDIHRvIHNldCBh IHByb3BlcnR5IG9uCi0gKiBAc3RhdGU6IHRoZSBzdGF0ZSBvYmplY3QgdG8gZ2V0IHRoZSBwcm9w ZXJ0eSB2YWx1ZSBmcm9tCi0gKiBAcHJvcGVydHk6IHRoZSBwcm9wZXJ0eSB0byBzZXQKLSAqIEB2 YWw6IHJldHVybiBsb2NhdGlvbiBmb3IgdGhlIHByb3BlcnR5IHZhbHVlCi0gKgotICogVGhpcyBm dW5jdGlvbiBoYW5kbGVzIGdlbmVyaWMvY29yZSBwcm9wZXJ0aWVzIGFuZCBjYWxscyBvdXQgdG8g ZHJpdmVyJ3MKLSAqICZkcm1fY3J0Y19mdW5jcy5hdG9taWNfZ2V0X3Byb3BlcnR5IGZvciBkcml2 ZXIgcHJvcGVydGllcy4gVG8gZW5zdXJlCi0gKiBjb25zaXN0ZW50IGJlaGF2aW9yIHlvdSBtdXN0 IGNhbGwgdGhpcyBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgZHJpdmVyIGhvb2sKLSAqIGRpcmVj dGx5LgotICoKLSAqIFJFVFVSTlM6Ci0gKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24g ZmFpbHVyZQotICovCiBzdGF0aWMgaW50CiBkcm1fYXRvbWljX2NydGNfZ2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0 ZSwKQEAgLTY0MywxNiArNTg4LDYgQEAgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICogZHJtX2F0b21pY19j cnRjX2NoZWNrIC0gY2hlY2sgY3J0YyBzdGF0ZQotICogQGNydGM6IGNydGMgdG8gY2hlY2sKLSAq IEBzdGF0ZTogY3J0YyBzdGF0ZSB0byBjaGVjawotICoKLSAqIFByb3ZpZGVzIGNvcmUgc2FuaXR5 IGNoZWNrcyBmb3IgY3J0YyBzdGF0ZS4KLSAqCi0gKiBSRVRVUk5TOgotICogWmVybyBvbiBzdWNj ZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKLSAqLwogc3RhdGljIGludCBkcm1fYXRvbWljX2Ny dGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KnN0YXRlKQogewpAQCAtNzI4LDE2ICs2NjMsNiBAQCBzdGF0aWMgdm9pZCBkcm1fYXRvbWljX2Ny dGNfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAogCQljcnRjLT5mdW5jcy0+YXRv bWljX3ByaW50X3N0YXRlKHAsIHN0YXRlKTsKIH0KIAotLyoqCi0gKiBkcm1fYXRvbWljX2Nvbm5l Y3Rvcl9jaGVjayAtIGNoZWNrIGNvbm5lY3RvciBzdGF0ZQotICogQGNvbm5lY3RvcjogY29ubmVj dG9yIHRvIGNoZWNrCi0gKiBAc3RhdGU6IGNvbm5lY3RvciBzdGF0ZSB0byBjaGVjawotICoKLSAq IFByb3ZpZGVzIGNvcmUgc2FuaXR5IGNoZWNrcyBmb3IgY29ubmVjdG9yIHN0YXRlLgotICoKLSAq IFJFVFVSTlM6Ci0gKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZQotICov CiBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX2NoZWNrKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCiAJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSkKIHsK QEAgLTkyMywyMSArODQ4LDYgQEAgc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBk cm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eSAtIGdldCBwcm9wZXJ0eSB2YWx1ZSBmcm9tIHBs YW5lIHN0YXRlCi0gKiBAcGxhbmU6IHRoZSBkcm0gcGxhbmUgdG8gc2V0IGEgcHJvcGVydHkgb24K LSAqIEBzdGF0ZTogdGhlIHN0YXRlIG9iamVjdCB0byBnZXQgdGhlIHByb3BlcnR5IHZhbHVlIGZy b20KLSAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHNldAotICogQHZhbDogcmV0dXJuIGxv Y2F0aW9uIGZvciB0aGUgcHJvcGVydHkgdmFsdWUKLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIGhhbmRs ZXMgZ2VuZXJpYy9jb3JlIHByb3BlcnRpZXMgYW5kIGNhbGxzIG91dCB0byBkcml2ZXIncwotICog JmRybV9wbGFuZV9mdW5jcy5hdG9taWNfZ2V0X3Byb3BlcnR5IGZvciBkcml2ZXIgcHJvcGVydGll cy4gIFRvIGVuc3VyZQotICogY29uc2lzdGVudCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMg ZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRyaXZlciBob29rCi0gKiBkaXJlY3RseS4KLSAqCi0g KiBSRVRVUk5TOgotICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKLSAq Lwogc3RhdGljIGludAogZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLApAQCAt MTMyOCwyMSArMTIzOCwzOSBAQCBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2dl dF9jb25uZWN0b3Jfc3RhdGUpOwogCi0vKioKLSAqIGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9w cm9wZXJ0eSAtIHNldCBwcm9wZXJ0eSBvbiBjb25uZWN0b3IuCi0gKiBAY29ubmVjdG9yOiB0aGUg ZHJtIGNvbm5lY3RvciB0byBzZXQgYSBwcm9wZXJ0eSBvbgotICogQHN0YXRlOiB0aGUgc3RhdGUg b2JqZWN0IHRvIHVwZGF0ZSB3aXRoIHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKLSAqIEBwcm9wZXJ0 eTogdGhlIHByb3BlcnR5IHRvIHNldAotICogQHZhbDogdGhlIG5ldyBwcm9wZXJ0eSB2YWx1ZQot ICoKLSAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQg Y2FsbHMgb3V0IHRvIGRyaXZlcidzCi0gKiAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5hdG9taWNfc2V0 X3Byb3BlcnR5IGZvciBkcml2ZXIgcHJvcGVydGllcy4gIFRvIGVuc3VyZQotICogY29uc2lzdGVu dCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRy aXZlciBob29rCi0gKiBkaXJlY3RseS4KLSAqCi0gKiBSRVRVUk5TOgotICogWmVybyBvbiBzdWNj ZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKLSAqLworc3RhdGljIHN0cnVjdCBkcm1fd3JpdGVi YWNrX2pvYiAqCitkcm1fYXRvbWljX2dldF93cml0ZWJhY2tfam9iKHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQoreworCVdBUk5fT04oY29ubl9zdGF0ZS0+Y29ubmVjdG9y LT5jb25uZWN0b3JfdHlwZSAhPSBEUk1fTU9ERV9DT05ORUNUT1JfV1JJVEVCQUNLKTsKKworCWlm ICghY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYikKKwkJY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pv YiA9CisJCQlremFsbG9jKHNpemVvZigqY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYiksIEdGUF9L RVJORUwpOworCisJcmV0dXJuIGNvbm5fc3RhdGUtPndyaXRlYmFja19qb2I7Cit9CisKK3N0YXRp YyBpbnQgZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3IoCisJCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAorCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYikKK3sKKwlzdHJ1Y3QgZHJtX3dyaXRlYmFja19qb2IgKmpvYiA9CisJCWRybV9hdG9t aWNfZ2V0X3dyaXRlYmFja19qb2IoY29ubl9zdGF0ZSk7CisJaWYgKCFqb2IpCisJCXJldHVybiAt RU5PTUVNOworCisJZHJtX2ZyYW1lYnVmZmVyX2Fzc2lnbigmam9iLT5mYiwgZmIpOworCisJaWYg KGZiKQorCQlEUk1fREVCVUdfQVRPTUlDKCJTZXQgW0ZCOiVkXSBmb3IgY29ubmVjdG9yIHN0YXRl ICVwXG4iLAorCQkJCSBmYi0+YmFzZS5pZCwgY29ubl9zdGF0ZSk7CisJZWxzZQorCQlEUk1fREVC VUdfQVRPTUlDKCJTZXQgW05PRkJdIGZvciBjb25uZWN0b3Igc3RhdGUgJXBcbiIsCisJCQkJIGNv bm5fc3RhdGUpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25u ZWN0b3Jfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCXN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJv cGVydHksCiAJCXVpbnQ2NF90IHZhbCkKQEAgLTE0NDksMjEgKzEzNzcsNiBAQCBzdGF0aWMgdm9p ZCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAs CiAJCWNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19wcmludF9zdGF0ZShwLCBzdGF0ZSk7CiB9CiAK LS8qKgotICogZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5IC0gZ2V0IHByb3BlcnR5 IHZhbHVlIGZyb20gY29ubmVjdG9yIHN0YXRlCi0gKiBAY29ubmVjdG9yOiB0aGUgZHJtIGNvbm5l Y3RvciB0byBzZXQgYSBwcm9wZXJ0eSBvbgotICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHRv IGdldCB0aGUgcHJvcGVydHkgdmFsdWUgZnJvbQotICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkg dG8gc2V0Ci0gKiBAdmFsOiByZXR1cm4gbG9jYXRpb24gZm9yIHRoZSBwcm9wZXJ0eSB2YWx1ZQot ICoKLSAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQg Y2FsbHMgb3V0IHRvIGRyaXZlcidzCi0gKiAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5hdG9taWNfZ2V0 X3Byb3BlcnR5IGZvciBkcml2ZXIgcHJvcGVydGllcy4gIFRvIGVuc3VyZQotICogY29uc2lzdGVu dCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRy aXZlciBob29rCi0gKiBkaXJlY3RseS4KLSAqCi0gKiBSRVRVUk5TOgotICogWmVybyBvbiBzdWNj ZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKLSAqLwogc3RhdGljIGludAogZHJtX2F0b21pY19j b25uZWN0b3JfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJ CWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKQEAgLTE3MzksNzAgKzE2 NTIsNiBAQCBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3Ioc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCiB9CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfc2V0 X2NydGNfZm9yX2Nvbm5lY3Rvcik7CiAKLS8qCi0gKiBkcm1fYXRvbWljX2dldF93cml0ZWJhY2tf am9iIC0gcmV0dXJuIG9yIGFsbG9jYXRlIGEgd3JpdGViYWNrIGpvYgotICogQGNvbm5fc3RhdGU6 IENvbm5lY3RvciBzdGF0ZSB0byBnZXQgdGhlIGpvYiBmb3IKLSAqCi0gKiBXcml0ZWJhY2sgam9i cyBoYXZlIGEgZGlmZmVyZW50IGxpZmV0aW1lIHRvIHRoZSBhdG9taWMgc3RhdGUgdGhleSBhcmUK LSAqIGFzc29jaWF0ZWQgd2l0aC4gVGhpcyBjb252ZW5pZW5jZSBmdW5jdGlvbiB0YWtlcyBjYXJl IG9mIGFsbG9jYXRpbmcgYSBqb2IKLSAqIGlmIHRoZXJlIGlzbid0IHlldCBvbmUgYXNzb2NpYXRl ZCB3aXRoIHRoZSBjb25uZWN0b3Igc3RhdGUsIG90aGVyd2lzZQotICogaXQganVzdCByZXR1cm5z IHRoZSBleGlzdGluZyBqb2IuCi0gKgotICogUmV0dXJuczogVGhlIHdyaXRlYmFjayBqb2IgZm9y IHRoZSBnaXZlbiBjb25uZWN0b3Igc3RhdGUKLSAqLwotc3RhdGljIHN0cnVjdCBkcm1fd3JpdGVi YWNrX2pvYiAqCi1kcm1fYXRvbWljX2dldF93cml0ZWJhY2tfam9iKHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlKQotewotCVdBUk5fT04oY29ubl9zdGF0ZS0+Y29ubmVjdG9y LT5jb25uZWN0b3JfdHlwZSAhPSBEUk1fTU9ERV9DT05ORUNUT1JfV1JJVEVCQUNLKTsKLQotCWlm ICghY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYikKLQkJY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pv YiA9Ci0JCQlremFsbG9jKHNpemVvZigqY29ubl9zdGF0ZS0+d3JpdGViYWNrX2pvYiksIEdGUF9L RVJORUwpOwotCi0JcmV0dXJuIGNvbm5fc3RhdGUtPndyaXRlYmFja19qb2I7Ci19Ci0KLS8qKgot ICogZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3IgLSBzZXQgd3JpdGVi YWNrIGZyYW1lYnVmZmVyCi0gKiBAY29ubl9zdGF0ZTogYXRvbWljIHN0YXRlIG9iamVjdCBmb3Ig dGhlIGNvbm5lY3RvcgotICogQGZiOiBmYiB0byB1c2UgZm9yIHRoZSBjb25uZWN0b3IKLSAqCi0g KiBUaGlzIGlzIHVzZWQgdG8gc2V0IHRoZSBmcmFtZWJ1ZmZlciBmb3IgYSB3cml0ZWJhY2sgY29u bmVjdG9yLCB3aGljaCBvdXRwdXRzCi0gKiB0byBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGFuIGFjdHVh bCBwaHlzaWNhbCBjb25uZWN0b3IuCi0gKiBDaGFuZ2luZyB0aGUgYXNzaWduZWQgZnJhbWVidWZm ZXIgcmVxdWlyZXMgdXMgdG8gZ3JhYiBhIHJlZmVyZW5jZSB0byB0aGUgbmV3Ci0gKiBmYiBhbmQg ZHJvcCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBvbGQgZmIsIGlmIHRoZXJlIGlzIG9uZS4gVGhpcyBm dW5jdGlvbgotICogdGFrZXMgY2FyZSBvZiBhbGwgdGhlc2UgZGV0YWlscyBiZXNpZGVzIHVwZGF0 aW5nIHRoZSBwb2ludGVyIGluIHRoZQotICogc3RhdGUgb2JqZWN0IGl0c2VsZi4KLSAqCi0gKiBO b3RlOiBUaGUgb25seSB3YXkgY29ubl9zdGF0ZSBjYW4gYWxyZWFkeSBoYXZlIGFuIGZiIHNldCBp cyBpZiB0aGUgY29tbWl0Ci0gKiBzZXRzIHRoZSBwcm9wZXJ0eSBtb3JlIHRoYW4gb25jZS4KLSAq Ci0gKiBTZWUgYWxzbzogZHJtX3dyaXRlYmFja19jb25uZWN0b3JfaW5pdCgpCi0gKgotICogUmV0 dXJuczogMCBvbiBzdWNjZXNzCi0gKi8KLWludCBkcm1fYXRvbWljX3NldF93cml0ZWJhY2tfZmJf Zm9yX2Nvbm5lY3RvcigKLQkJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUs Ci0JCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQotewotCXN0cnVjdCBkcm1fd3JpdGViYWNr X2pvYiAqam9iID0KLQkJZHJtX2F0b21pY19nZXRfd3JpdGViYWNrX2pvYihjb25uX3N0YXRlKTsK LQlpZiAoIWpvYikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlkcm1fZnJhbWVidWZmZXJfYXNzaWdu KCZqb2ItPmZiLCBmYik7Ci0KLQlpZiAoZmIpCi0JCURSTV9ERUJVR19BVE9NSUMoIlNldCBbRkI6 JWRdIGZvciBjb25uZWN0b3Igc3RhdGUgJXBcbiIsCi0JCQkJIGZiLT5iYXNlLmlkLCBjb25uX3N0 YXRlKTsKLQllbHNlCi0JCURSTV9ERUJVR19BVE9NSUMoIlNldCBbTk9GQl0gZm9yIGNvbm5lY3Rv ciBzdGF0ZSAlcFxuIiwKLQkJCQkgY29ubl9zdGF0ZSk7Ci0KLQlyZXR1cm4gMDsKLX0KLUVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3IpOwotCiAv KioKICAqIGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3RvcnMgLSBhZGQgY29ubmVjdG9y cyBmb3IgY3J0YwogICogQHN0YXRlOiBhdG9taWMgc3RhdGUKZGlmZiAtLWdpdCBhL2luY2x1ZGUv ZHJtL2RybV9hdG9taWMuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAppbmRleCAwN2I0Y2Ix Yzk2MDMuLjY2ZTQ5ZWY3ZDNiNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5o CisrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaApAQCAtMzc0LDkgKzM3NCw2IEBAIHZvaWQg ZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X3JlbGVhc2Uoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKTsKIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqIF9fbXVzdF9jaGVjawogZHJtX2F0b21p Y19nZXRfY3J0Y19zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkgIHN0 cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Ci1pbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsIHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAotCQl1aW50NjRfdCB2YWwpOwogc3RydWN0IGRy bV9wbGFuZV9zdGF0ZSAqIF9fbXVzdF9jaGVjawogZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJICAgc3RydWN0IGRybV9wbGFuZSAq cGxhbmUpOwpAQCAtNjAzLDkgKzYwMCw2IEBAIHZvaWQgZHJtX2F0b21pY19zZXRfZmVuY2VfZm9y X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAogaW50IF9fbXVzdF9j aGVjawogZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpjb25uX3N0YXRlLAogCQkJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKLWlu dCBkcm1fYXRvbWljX3NldF93cml0ZWJhY2tfZmJfZm9yX2Nvbm5lY3RvcigKLQkJc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3RhdGUsCi0JCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiKTsKIGludCBfX211c3RfY2hlY2sKIGRybV9hdG9taWNfYWRkX2FmZmVjdGVkX2Nvbm5lY3Rv cnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCSAgIHN0cnVjdCBkcm1fY3J0 YyAqY3J0Yyk7Ci0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=