From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 06/10] drm: Conslidate blending properties in drm_blend.[hc] Date: Tue, 6 Sep 2016 12:59:22 -0400 Message-ID: References: <20160831160913.12991-1-daniel.vetter@ffwll.ch> <20160831160913.12991-7-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-x233.google.com (mail-yw0-x233.google.com [IPv6:2607:f8b0:4002:c05::233]) by gabe.freedesktop.org (Postfix) with ESMTPS id F1CB36E6D8 for ; Tue, 6 Sep 2016 16:59:45 +0000 (UTC) Received: by mail-yw0-x233.google.com with SMTP id j1so42195978ywb.2 for ; Tue, 06 Sep 2016 09:59:45 -0700 (PDT) Received: from mail-yw0-f179.google.com (mail-yw0-f179.google.com. [209.85.161.179]) by smtp.gmail.com with ESMTPSA id t184sm12962997ywt.29.2016.09.06.09.59.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Sep 2016 09:59:44 -0700 (PDT) Received: by mail-yw0-f179.google.com with SMTP id g192so72768000ywh.1 for ; Tue, 06 Sep 2016 09:59:43 -0700 (PDT) In-Reply-To: <20160831160913.12991-7-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBBdWcgMzEsIDIwMTYgYXQgMTI6MDkgUE0sIERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+IHdyb3RlOgo+IEltbyB6cG9zLCByb3RhdGF0aW9uLCBibGVuZGluZyBl cSAob25jZSB3ZSBoYXZlIGl0KSBhbmQgYWxsIHRoYXQKPiBzaG91bGQgYmUgaW4gZHJtX2JsZW5k LmMsIHNpbmNlIHRob3NlIGFyZSBhbGwgYWJvdXQgaG93IGV4YWN0bHkgdGhlCj4gcGl4ZWxzIGFy ZSByZW5kZXJlZCBvbnRvIHRoZSBDUlRDJ3MgdmlzaWJsZSBhcmVhLiBBbHNvIG5vdGljZWQgdGhh dAo+IG9uZSBleHBvcnRlZCBmdW5jdGlvbiBhY2NpZGVudGFsbHkgZW5kZWQgdXAgaW4gZHJtX2Ny dGNfaW50ZXJuYWwuaCwKPiBtb3ZlIGl0IHRvIHRoZSByaWdodCBwbGFjZSB0b28uCj4KPiBTaWdu ZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KClJldmll d2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KCj4gLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fYmxlbmQuYyAgICAgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgICAgICAgICAgfCA0OSAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj X2ludGVybmFsLmggfCAgMyAtLQo+ICBpbmNsdWRlL2RybS9kcm1fYmxlbmQuaCAgICAgICAgICAg ICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9k cm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgfCAyNyArLS0tLS0tLS0tLS0tLS0tLQo+ICA1IGZp bGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCA4MCBkZWxldGlvbnMoLSkKPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2RybV9ibGVuZC5oCj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9ibGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCj4g aW5kZXggMDgxM2I3ZTAyMWJlLi5hYjM5MjQ1YTIxYzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9ibGVuZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9ibGVuZC5jCj4g QEAgLTI1LDEyICsyNSw1OSBAQAo+ICAgKi8KPiAgI2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gICNp bmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgo+IC0jaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4g KyNpbmNsdWRlIDxkcm0vZHJtX2JsZW5kLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4K PiAgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NvcnQuaD4KPgo+ IC0jaW5jbHVkZSAiZHJtX2ludGVybmFsLmgiCj4gK3N0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9t b2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgc3VwcG9ydGVkX3JvdGF0aW9ucykKPiArewo+ICsgICAgICAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3QgcHJvcHNbXSA9IHsKPiArICAgICAgICAgICAgICAg eyBfX2J1aWx0aW5fZmZzKERSTV9ST1RBVEVfMCkgLSAxLCAgICJyb3RhdGUtMCIgfSwKPiArICAg ICAgICAgICAgICAgeyBfX2J1aWx0aW5fZmZzKERSTV9ST1RBVEVfOTApIC0gMSwgICJyb3RhdGUt OTAiIH0sCj4gKyAgICAgICAgICAgICAgIHsgX19idWlsdGluX2ZmcyhEUk1fUk9UQVRFXzE4MCkg LSAxLCAicm90YXRlLTE4MCIgfSwKPiArICAgICAgICAgICAgICAgeyBfX2J1aWx0aW5fZmZzKERS TV9ST1RBVEVfMjcwKSAtIDEsICJyb3RhdGUtMjcwIiB9LAo+ICsgICAgICAgICAgICAgICB7IF9f YnVpbHRpbl9mZnMoRFJNX1JFRkxFQ1RfWCkgLSAxLCAgInJlZmxlY3QteCIgfSwKPiArICAgICAg ICAgICAgICAgeyBfX2J1aWx0aW5fZmZzKERSTV9SRUZMRUNUX1kpIC0gMSwgICJyZWZsZWN0LXki IH0sCj4gKyAgICAgICB9Owo+ICsKPiArICAgICAgIHJldHVybiBkcm1fcHJvcGVydHlfY3JlYXRl X2JpdG1hc2soZGV2LCAwLCAicm90YXRpb24iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwcm9wcywgQVJSQVlfU0laRShwcm9wcyksCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9yb3RhdGlvbnMpOwo+ICt9 Cj4gK0VYUE9SVF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KTsKPiAr Cj4gKy8qKgo+ICsgKiBkcm1fcm90YXRpb25fc2ltcGxpZnkoKSAtIFRyeSB0byBzaW1wbGlmeSB0 aGUgcm90YXRpb24KPiArICogQHJvdGF0aW9uOiBSb3RhdGlvbiB0byBiZSBzaW1wbGlmaWVkCj4g KyAqIEBzdXBwb3J0ZWRfcm90YXRpb25zOiBTdXBwb3J0ZWQgcm90YXRpb25zCj4gKyAqCj4gKyAq IEF0dGVtcHQgdG8gc2ltcGxpZnkgdGhlIHJvdGF0aW9uIHRvIGEgZm9ybSB0aGF0IGlzIHN1cHBv cnRlZC4KPiArICogRWcuIGlmIHRoZSBoYXJkd2FyZSBzdXBwb3J0cyBldmVyeXRoaW5nIGV4Y2Vw dCBEUk1fUkVGTEVDVF9YCj4gKyAqIG9uZSBjb3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24gbGlrZSB0 aGlzOgo+ICsgKgo+ICsgKiBkcm1fcm90YXRpb25fc2ltcGxpZnkocm90YXRpb24sIERSTV9ST1RB VEVfMCB8Cj4gKyAqICAgICAgICAgICAgICAgICAgICAgICBEUk1fUk9UQVRFXzkwIHwgRFJNX1JP VEFURV8xODAgfAo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgRFJNX1JPVEFURV8yNzAgfCBE Uk1fUkVGTEVDVF9ZKTsKPiArICoKPiArICogdG8gZWxpbWluYXRlIHRoZSBEUk1fUk9UQVRFX1gg ZmxhZy4gRGVwZW5kaW5nIG9uIHdoYXQga2luZCBvZgo+ICsgKiB0cmFuc2Zvcm1zIHRoZSBoYXJk d2FyZSBzdXBwb3J0cywgdGhpcyBmdW5jdGlvbiBtYXkgbm90Cj4gKyAqIGJlIGFibGUgdG8gcHJv ZHVjZSBhIHN1cHBvcnRlZCB0cmFuc2Zvcm0sIHNvIHRoZSBjYWxsZXIgc2hvdWxkCj4gKyAqIGNo ZWNrIHRoZSByZXN1bHQgYWZ0ZXJ3YXJkcy4KPiArICovCj4gK3Vuc2lnbmVkIGludCBkcm1fcm90 YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9yb3RhdGlvbnMpCj4gK3sK PiArICAgICAgIGlmIChyb3RhdGlvbiAmIH5zdXBwb3J0ZWRfcm90YXRpb25zKSB7Cj4gKyAgICAg ICAgICAgICAgIHJvdGF0aW9uIF49IERSTV9SRUZMRUNUX1ggfCBEUk1fUkVGTEVDVF9ZOwo+ICsg ICAgICAgICAgICAgICByb3RhdGlvbiA9IChyb3RhdGlvbiAmIERSTV9SRUZMRUNUX01BU0spIHwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoKGZmcyhyb3RhdGlvbiAmIERSTV9ST1RB VEVfTUFTSykgKyAxKSAlIDQpOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHJldHVybiByb3Rh dGlvbjsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9yb3RhdGlvbl9zaW1wbGlmeSk7Cj4KPiAg LyoqCj4gICAqIGRybV9wbGFuZV9jcmVhdGVfenBvc19wcm9wZXJ0eSAtIGNyZWF0ZSBtdXRhYmxl IHpwb3MgcHJvcGVydHkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IGluZGV4IDllZjc5NTUwMzJkYi4uZTUyMjli NDhkNWQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBAQCAtMTIxOCwzNyArMTIxOCw2IEBAIGludCBk cm1fbW9kZV9kZXN0cm95X2R1bWJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgfQo+ Cj4gIC8qKgo+IC0gKiBkcm1fcm90YXRpb25fc2ltcGxpZnkoKSAtIFRyeSB0byBzaW1wbGlmeSB0 aGUgcm90YXRpb24KPiAtICogQHJvdGF0aW9uOiBSb3RhdGlvbiB0byBiZSBzaW1wbGlmaWVkCj4g LSAqIEBzdXBwb3J0ZWRfcm90YXRpb25zOiBTdXBwb3J0ZWQgcm90YXRpb25zCj4gLSAqCj4gLSAq IEF0dGVtcHQgdG8gc2ltcGxpZnkgdGhlIHJvdGF0aW9uIHRvIGEgZm9ybSB0aGF0IGlzIHN1cHBv cnRlZC4KPiAtICogRWcuIGlmIHRoZSBoYXJkd2FyZSBzdXBwb3J0cyBldmVyeXRoaW5nIGV4Y2Vw dCBEUk1fUkVGTEVDVF9YCj4gLSAqIG9uZSBjb3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24gbGlrZSB0 aGlzOgo+IC0gKgo+IC0gKiBkcm1fcm90YXRpb25fc2ltcGxpZnkocm90YXRpb24sIERSTV9ST1RB VEVfMCB8Cj4gLSAqICAgICAgICAgICAgICAgICAgICAgICBEUk1fUk9UQVRFXzkwIHwgRFJNX1JP VEFURV8xODAgfAo+IC0gKiAgICAgICAgICAgICAgICAgICAgICAgRFJNX1JPVEFURV8yNzAgfCBE Uk1fUkVGTEVDVF9ZKTsKPiAtICoKPiAtICogdG8gZWxpbWluYXRlIHRoZSBEUk1fUk9UQVRFX1gg ZmxhZy4gRGVwZW5kaW5nIG9uIHdoYXQga2luZCBvZgo+IC0gKiB0cmFuc2Zvcm1zIHRoZSBoYXJk d2FyZSBzdXBwb3J0cywgdGhpcyBmdW5jdGlvbiBtYXkgbm90Cj4gLSAqIGJlIGFibGUgdG8gcHJv ZHVjZSBhIHN1cHBvcnRlZCB0cmFuc2Zvcm0sIHNvIHRoZSBjYWxsZXIgc2hvdWxkCj4gLSAqIGNo ZWNrIHRoZSByZXN1bHQgYWZ0ZXJ3YXJkcy4KPiAtICovCj4gLXVuc2lnbmVkIGludCBkcm1fcm90 YXRpb25fc2ltcGxpZnkodW5zaWduZWQgaW50IHJvdGF0aW9uLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9yb3RhdGlvbnMpCj4gLXsK PiAtICAgICAgIGlmIChyb3RhdGlvbiAmIH5zdXBwb3J0ZWRfcm90YXRpb25zKSB7Cj4gLSAgICAg ICAgICAgICAgIHJvdGF0aW9uIF49IERSTV9SRUZMRUNUX1ggfCBEUk1fUkVGTEVDVF9ZOwo+IC0g ICAgICAgICAgICAgICByb3RhdGlvbiA9IChyb3RhdGlvbiAmIERSTV9SRUZMRUNUX01BU0spIHwK PiAtICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoKGZmcyhyb3RhdGlvbiAmIERSTV9ST1RB VEVfTUFTSykgKyAxKSAlIDQpOwo+IC0gICAgICAgfQo+IC0KPiAtICAgICAgIHJldHVybiByb3Rh dGlvbjsKPiAtfQo+IC1FWFBPUlRfU1lNQk9MKGRybV9yb3RhdGlvbl9zaW1wbGlmeSk7Cj4gLQo+ IC0vKioKPiAgICogZHJtX21vZGVfY29uZmlnX2luaXQgLSBpbml0aWFsaXplIERSTSBtb2RlX2Nv bmZpZ3VyYXRpb24gc3RydWN0dXJlCj4gICAqIEBkZXY6IERSTSBkZXZpY2UKPiAgICoKPiBAQCAt MTM2NCwyNCArMTMzMyw2IEBAIHZvaWQgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX2NvbmZpZ19jbGVh bnVwKTsKPgo+IC1zdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9kZV9jcmVhdGVfcm90YXRpb25f cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9y b3RhdGlvbnMpCj4gLXsKPiAtICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51 bV9saXN0IHByb3BzW10gPSB7Cj4gLSAgICAgICAgICAgICAgIHsgX19idWlsdGluX2ZmcyhEUk1f Uk9UQVRFXzApIC0gMSwgICAicm90YXRlLTAiIH0sCj4gLSAgICAgICAgICAgICAgIHsgX19idWls dGluX2ZmcyhEUk1fUk9UQVRFXzkwKSAtIDEsICAicm90YXRlLTkwIiB9LAo+IC0gICAgICAgICAg ICAgICB7IF9fYnVpbHRpbl9mZnMoRFJNX1JPVEFURV8xODApIC0gMSwgInJvdGF0ZS0xODAiIH0s Cj4gLSAgICAgICAgICAgICAgIHsgX19idWlsdGluX2ZmcyhEUk1fUk9UQVRFXzI3MCkgLSAxLCAi cm90YXRlLTI3MCIgfSwKPiAtICAgICAgICAgICAgICAgeyBfX2J1aWx0aW5fZmZzKERSTV9SRUZM RUNUX1gpIC0gMSwgICJyZWZsZWN0LXgiIH0sCj4gLSAgICAgICAgICAgICAgIHsgX19idWlsdGlu X2ZmcyhEUk1fUkVGTEVDVF9ZKSAtIDEsICAicmVmbGVjdC15IiB9LAo+IC0gICAgICAgfTsKPiAt Cj4gLSAgICAgICByZXR1cm4gZHJtX3Byb3BlcnR5X2NyZWF0ZV9iaXRtYXNrKGRldiwgMCwgInJv dGF0aW9uIiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJv cHMsIEFSUkFZX1NJWkUocHJvcHMpLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdXBwb3J0ZWRfcm90YXRpb25zKTsKPiAtfQo+IC1FWFBPUlRfU1lNQk9MKGRy bV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eSk7Cj4gLQo+ICAvKioKPiAgICogRE9DOiBU aWxlIGdyb3VwCj4gICAqCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19p bnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBpbmRleCBk NTM4YzJjYzQ4ZjMuLjhjYWEwODhkYWEyZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaW50ZXJuYWwuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oCj4gQEAgLTE2NCw5ICsxNjQsNiBAQCBpbnQgZHJtX2F0b21pY19yZW1vdmVfZmIoc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwo+ICBpbnQgZHJtX21vZGVzZXRfcmVnaXN0ZXJfYWxs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGRybV9tb2Rlc2V0X3VucmVnaXN0ZXJf YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+Cj4gLS8qIGRybV9ibGVuZC5jICovCj4gLWlu dCBkcm1fYXRvbWljX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KTsKPgo+ICAvKiBkcm1fcGxhbmUuYyAqLwo+ICBpbnQgZHJtX3BsYW5lX3JlZ2lzdGVyX2FsbChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2Js ZW5kLmggYi9pbmNsdWRlL2RybS9kcm1fYmxlbmQuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g aW5kZXggMDAwMDAwMDAwMDAwLi44NjhmMDM2NGU5MzkKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2JsZW5kLmgKPiBAQCAtMCwwICsxLDU5IEBACj4gKy8qCj4gKyAqIENv cHlyaWdodCAoYykgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9u IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBkaXN0cmlidXRlLCBhbmQgc2VsbCB0aGlzIHNvZnR3YXJl IGFuZCBpdHMKPiArICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdy YW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKPiArICogdGhlIGFib3ZlIGNvcHlyaWdo dCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQgYm90aCB0aGF0IGNvcHlyaWdo dAo+ICsgKiBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIHN1cHBv cnRpbmcgZG9jdW1lbnRhdGlvbiwgYW5kCj4gKyAqIHRoYXQgdGhlIG5hbWUgb2YgdGhlIGNvcHly aWdodCBob2xkZXJzIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yCj4gKyAqIHB1YmxpY2l0 eSBwZXJ0YWluaW5nIHRvIGRpc3RyaWJ1dGlvbiBvZiB0aGUgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYywKPiArICogd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgVGhlIGNvcHlyaWdodCBob2xk ZXJzIG1ha2Ugbm8gcmVwcmVzZW50YXRpb25zCj4gKyAqIGFib3V0IHRoZSBzdWl0YWJpbGl0eSBv ZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0IGlzIHByb3ZpZGVkICJhcwo+ICsg KiBpcyIgd2l0aG91dCBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuCj4gKyAqCj4gKyAqIFRI RSBDT1BZUklHSFQgSE9MREVSUyBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBU TyBUSElTIFNPRlRXQVJFLAo+ICsgKiBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBP RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PCj4gKyAqIEVWRU5UIFNIQUxMIFRI RSBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBJTkRJUkVDVCBP Ugo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBS RVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwKPiArICogREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUgo+ICsgKiBUT1JU SU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNF IE9SIFBFUkZPUk1BTkNFCj4gKyAqIE9GIFRISVMgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2lm bmRlZiBfX0RSTV9CTEVORF9IX18KPiArI2RlZmluZSBfX0RSTV9CTEVORF9IX18KPiArCj4gKyNp bmNsdWRlIDxsaW51eC9saXN0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgo+ICsKPiAr c3RydWN0IGRybV9kZXZpY2U7Cj4gK3N0cnVjdCBkcm1fYXRvbWljX3N0YXRlOwo+ICsKPiArLyoK PiArICogUm90YXRpb24gcHJvcGVydHkgYml0cy4gRFJNX1JPVEFURV88ZGVncmVlcz4gcm90YXRl cyB0aGUgaW1hZ2UgYnkgdGhlCj4gKyAqIHNwZWNpZmllZCBhbW91bnQgaW4gZGVncmVlcyBpbiBj b3VudGVyIGNsb2Nrd2lzZSBkaXJlY3Rpb24uIERSTV9SRUZMRUNUX1ggYW5kCj4gKyAqIERSTV9S RUZMRUNUX1kgcmVmbGVjdHMgdGhlIGltYWdlIGFsb25nIHRoZSBzcGVjaWZpZWQgYXhpcyBwcmlv ciB0byByb3RhdGlvbgo+ICsgKi8KPiArI2RlZmluZSBEUk1fUk9UQVRFXzAgICBCSVQoMCkKPiAr I2RlZmluZSBEUk1fUk9UQVRFXzkwICBCSVQoMSkKPiArI2RlZmluZSBEUk1fUk9UQVRFXzE4MCBC SVQoMikKPiArI2RlZmluZSBEUk1fUk9UQVRFXzI3MCBCSVQoMykKPiArI2RlZmluZSBEUk1fUk9U QVRFX01BU0sgKERSTV9ST1RBVEVfMCAgIHwgRFJNX1JPVEFURV85MCB8IFwKPiArICAgICAgICAg ICAgICAgICAgICAgICAgRFJNX1JPVEFURV8xODAgfCBEUk1fUk9UQVRFXzI3MCkKPiArI2RlZmlu ZSBEUk1fUkVGTEVDVF9YICBCSVQoNCkKPiArI2RlZmluZSBEUk1fUkVGTEVDVF9ZICBCSVQoNSkK PiArI2RlZmluZSBEUk1fUkVGTEVDVF9NQVNLIChEUk1fUkVGTEVDVF9YIHwgRFJNX1JFRkxFQ1Rf WSkKPiArCj4gK3N0cnVjdCBkcm1fcHJvcGVydHkgKmRybV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgc3VwcG9ydGVkX3Jv dGF0aW9ucyk7Cj4gK3Vuc2lnbmVkIGludCBkcm1fcm90YXRpb25fc2ltcGxpZnkodW5zaWduZWQg aW50IHJvdGF0aW9uLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IHN1cHBvcnRlZF9yb3RhdGlvbnMpOwo+ICsKPiAraW50IGRybV9wbGFuZV9jcmVhdGVf enBvc19wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB6cG9zLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1pbiwgdW5zaWduZWQgaW50IG1heCk7Cj4g K2ludCBkcm1fcGxhbmVfY3JlYXRlX3pwb3NfaW1tdXRhYmxlX3Byb3BlcnR5KHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCB6cG9zKTsKPiAraW50IGRybV9hdG9taWNfbm9ybWFsaXplX3pwb3Mo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCA4 NmUxM2E1OTBjOGYuLjFmYWNmZWViMDEzOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1f Y3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+IEBAIC00NSw2ICs0NSw3IEBA Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2JyaWRnZS5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlk Lmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3BsYW5lLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2Js ZW5kLmg+Cj4KPiAgc3RydWN0IGRybV9kZXZpY2U7Cj4gIHN0cnVjdCBkcm1fbW9kZV9zZXQ7Cj4g QEAgLTYzLDIxICs2NCw2IEBAIHN0YXRpYyBpbmxpbmUgdWludDY0X3QgSTY0MlU2NChpbnQ2NF90 IHZhbCkKPiAgICAgICAgIHJldHVybiAodWludDY0X3QpKigodWludDY0X3QgKikmdmFsKTsKPiAg fQo+Cj4gLS8qCj4gLSAqIFJvdGF0aW9uIHByb3BlcnR5IGJpdHMuIERSTV9ST1RBVEVfPGRlZ3Jl ZXM+IHJvdGF0ZXMgdGhlIGltYWdlIGJ5IHRoZQo+IC0gKiBzcGVjaWZpZWQgYW1vdW50IGluIGRl Z3JlZXMgaW4gY291bnRlciBjbG9ja3dpc2UgZGlyZWN0aW9uLiBEUk1fUkVGTEVDVF9YIGFuZAo+ IC0gKiBEUk1fUkVGTEVDVF9ZIHJlZmxlY3RzIHRoZSBpbWFnZSBhbG9uZyB0aGUgc3BlY2lmaWVk IGF4aXMgcHJpb3IgdG8gcm90YXRpb24KPiAtICovCj4gLSNkZWZpbmUgRFJNX1JPVEFURV8wICAg QklUKDApCj4gLSNkZWZpbmUgRFJNX1JPVEFURV85MCAgQklUKDEpCj4gLSNkZWZpbmUgRFJNX1JP VEFURV8xODAgQklUKDIpCj4gLSNkZWZpbmUgRFJNX1JPVEFURV8yNzAgQklUKDMpCj4gLSNkZWZp bmUgRFJNX1JPVEFURV9NQVNLIChEUk1fUk9UQVRFXzAgICB8IERSTV9ST1RBVEVfOTAgfCBcCj4g LSAgICAgICAgICAgICAgICAgICAgICAgIERSTV9ST1RBVEVfMTgwIHwgRFJNX1JPVEFURV8yNzAp Cj4gLSNkZWZpbmUgRFJNX1JFRkxFQ1RfWCAgQklUKDQpCj4gLSNkZWZpbmUgRFJNX1JFRkxFQ1Rf WSAgQklUKDUpCj4gLSNkZWZpbmUgRFJNX1JFRkxFQ1RfTUFTSyAoRFJNX1JFRkxFQ1RfWCB8IERS TV9SRUZMRUNUX1kpCj4gLQo+ICAvKiBkYXRhIGNvcnJlc3BvbmRzIHRvIGRpc3BsYXlpZCB2ZW5k L3Byb2Qvc2VyaWFsICovCj4gIHN0cnVjdCBkcm1fdGlsZV9ncm91cCB7Cj4gICAgICAgICBzdHJ1 Y3Qga3JlZiByZWZjb3VudDsKPiBAQCAtMTM1MSwyMiArMTMzNywxMSBAQCBleHRlcm4gc3RydWN0 IGRybV90aWxlX2dyb3VwICpkcm1fbW9kZV9nZXRfdGlsZV9ncm91cChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICBleHRlcm4gdm9pZCBkcm1fbW9kZV9wdXRfdGlsZV9ncm91cChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IGRybV90aWxlX2dyb3VwICp0Zyk7Cj4KPiAtZXh0ZXJuIHN0cnVjdCBkcm1fcHJvcGVydHkgKmRy bV9tb2RlX2NyZWF0ZV9yb3RhdGlvbl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9yb3RhdGlvbnMpOwo+IC1leHRlcm4gdW5zaWdu ZWQgaW50IGRybV9yb3RhdGlvbl9zaW1wbGlmeSh1bnNpZ25lZCBpbnQgcm90YXRpb24sCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHN1cHBv cnRlZF9yb3RhdGlvbnMpOwo+ICBleHRlcm4gdm9pZCBkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdt dChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludCBkZWdhbW1hX2x1dF9zaXplLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgaGFzX2N0bSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50IGdhbW1hX2x1dF9zaXplKTsKPgo+IC1pbnQgZHJtX3BsYW5lX2Ny ZWF0ZV96cG9zX3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHpwb3MsCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWluLCB1bnNpZ25lZCBpbnQgbWF4 KTsKPiAtCj4gLWludCBkcm1fcGxhbmVfY3JlYXRlX3pwb3NfaW1tdXRhYmxlX3Byb3BlcnR5KHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCB6cG9zKTsKPiAtCj4gIC8qIEhlbHBlcnMgKi8KPiAg c3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2NydGMgKmRybV9jcnRjX2ZpbmQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgICAgICAgIHVpbnQzMl90IGlkKQo+IC0tCj4gMi45LjMKPgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1h aWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK