From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [RFC v5 2/8] drm: Add Plane Degamma properties Date: Sun, 16 Sep 2018 13:45:25 +0530 Message-ID: <1537085731-6355-3-git-send-email-uma.shankar@intel.com> References: <1537085731-6355-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1537085731-6355-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: dcastagna@chromium.org, alexandru-cosmin.gheorghe@arm.com, seanpaul@chromium.org, ville.syrjala@intel.com, harry.wentland@amd.com, maarten.lankhorst@intel.com List-Id: dri-devel@lists.freedesktop.org QWRkIFBsYW5lIERlZ2FtbWEgYXMgYSBibG9iIHByb3BlcnR5IGFuZCBwbGFuZSBkZWdhbW1hIHNp emUgYXMKYSByYW5nZSBwcm9wZXJ0eS4KCnYyOiBSZWJhc2UKCnYzOiBGaXhlZCBTZWFuLCBQYXVs J3MgcmV2aWV3IGNvbW1lbnRzLiBNb3ZlZCB0aGUgcHJvcGVydHkgZnJvbQptb2RlX2NvbmZpZyB0 byBkcm1fcGxhbmUuIENyZWF0ZWQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gaW5zdGFudGlhdGUKdGhl c2UgcHJvcGVydGllcyBhbmQgcmVtb3ZlZCBmcm9tIGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9w cm9wZXJ0aWVzCkFkZGVkIHByb3BlcnR5IGRvY3VtZW50YXRpb24gYXMgc3VnZ2VzdGVkIGJ5IERh bmllbCwgVmV0dGVyLgoKdjQ6IFJlYmFzZQoKdjU6IEFkZGVkICJEaXNwbGF5IENvbG9yIEhhcmR3 YXJlIFBpcGVsaW5lIiBmbG93IHRvIGtlcm5lbApkb2N1bWVudGF0aW9uIGFzIHN1Z2dlc3RlZCBi eSAiVmlsbGUgU3lyamFsYSIgYW5kICJCcmlhbiBTdGFya2V5Ii4KTW92ZWQgdGhlIHByb3BlcnR5 IGNyZWF0aW9uIHRvIGRybV9jb2xvcl9tZ210LmMgZmlsZSB0byBjb25zb2xpZGF0ZQphbGwgY29s b3Igb3BlcmF0aW9ucyBhdCBvbmUgcGxhY2UuCgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogQWxleGFuZHJ1IEdoZW9yZ2hlIDxh bGV4YW5kcnUtY29zbWluLmdoZW9yZ2hlQGFybS5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi9ncHUv ZHJtLWttcy5yc3QgICAgICAgfCA5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICB8IDEzICsrKysrKwogZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgfCAgNiArKysKIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fY29sb3JfbWdtdC5jICAgIHwgNDQgKysrKysrKysrKysrKysrKy0tCiBpbmNsdWRlL2Ry bS9kcm1fcGxhbmUuaCAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysKIDUgZmlsZXMgY2hhbmdl ZCwgMTc0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1l bnRhdGlvbi9ncHUvZHJtLWttcy5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdApp bmRleCBmOGY1YmYxLi4yNTNkNTQ2IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2dwdS9kcm0t a21zLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9kcm0ta21zLnJzdApAQCAtNTUxLDEyICs1 NTEsMTAyIEBAIFBsYW5lIENvbXBvc2l0aW9uIFByb3BlcnRpZXMKIENvbG9yIE1hbmFnZW1lbnQg UHJvcGVydGllcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKK0JlbG93IGlzIGhvdyBh IHR5cGljYWwgaGFyZHdhcmUgcGlwZWxpbmUgZm9yIGNvbG9yCit3aWxsIGxvb2sgbGlrZToKKwor Li4ga2VybmVsLXJlbmRlcjo6IERPVAorICAgOmFsdDogRGlzcGxheSBDb2xvciBQaXBlbGluZQor ICAgOmNhcHRpb246IERpc3BsYXkgQ29sb3IgUGlwZWxpbmUgT3ZlcnZpZXcKKworICAgZGlncmFw aCAiS01TIiB7CisgICAgICBub2RlIFtzaGFwZT1ib3hdCisKKyAgICAgIHN1YmdyYXBoIGNsdXN0 ZXJfc3RhdGljIHsKKyAgICAgICAgICBzdHlsZT1kYXNoZWQKKyAgICAgICAgICBsYWJlbD0iRGlz cGxheSBDb2xvciBIYXJkd2FyZSBCbG9ja3MiCisKKyAgICAgICAgICBub2RlIFtiZ2NvbG9yPWdy ZXkgc3R5bGU9ZmlsbGVkXQorICAgICAgICAgICJQbGFuZSBEZWdhbW1hIEEiIC0+ICJQbGFuZSBD U0MvQ1RNIEEiCisgICAgICAgICAgIlBsYW5lIENTQy9DVE0gQSIgLT4gIlBsYW5lIEdhbW1hIEEi CisgICAgICAgICAgIlBpcGUgQmxlbmRlciIgW2NvbG9yPWxpZ2h0Ymx1ZSxzdHlsZT1maWxsZWQs IHdpZHRoPTUuMjUsIGhlaWdodD0wLjc1XTsKKyAgICAgICAgICAiUGxhbmUgR2FtbWEgQSIgLT4g IlBpcGUgQmxlbmRlciIKKwkgICJQaXBlIEJsZW5kZXIiIC0+ICJQaXBlIERlR2FtbWEiCisgICAg ICAgICAgIlBpcGUgRGVHYW1tYSIgLT4gIlBpcGUgQ1NDL0NUTSIKKyAgICAgICAgICAiUGlwZSBD U0MvQ1RNIiAtPiAiUGlwZSBHYW1tYSIKKyAgICAgICAgICAiUGlwZSBHYW1tYSIgLT4gIlBpcGUg T3V0cHV0IgorICAgICAgfQorCisgICAgICBzdWJncmFwaCBjbHVzdGVyX3N0YXRpYyB7CisgICAg ICAgICAgc3R5bGU9ZGFzaGVkCisKKyAgICAgICAgICBub2RlIFtzaGFwZT1ib3hdCisgICAgICAg ICAgIlBsYW5lIERlZ2FtbWEgQiIgLT4gIlBsYW5lIENTQy9DVE0gQiIKKyAgICAgICAgICAiUGxh bmUgQ1NDL0NUTSBCIiAtPiAiUGxhbmUgR2FtbWEgQiIKKyAgICAgICAgICAiUGxhbmUgR2FtbWEg QiIgLT4gIlBpcGUgQmxlbmRlciIKKyAgICAgIH0KKworICAgICAgc3ViZ3JhcGggY2x1c3Rlcl9z dGF0aWMgeworICAgICAgICAgIHN0eWxlPWRhc2hlZAorCisgICAgICAgICAgbm9kZSBbc2hhcGU9 Ym94XQorICAgICAgICAgICJQbGFuZSBEZWdhbW1hIEMiIC0+ICJQbGFuZSBDU0MvQ1RNIEMiCisg ICAgICAgICAgIlBsYW5lIENTQy9DVE0gQyIgLT4gIlBsYW5lIEdhbW1hIEMiCisgICAgICAgICAg IlBsYW5lIEdhbW1hIEMiIC0+ICJQaXBlIEJsZW5kZXIiCisgICAgICB9CisKKyAgICAgIHN1Ymdy YXBoIGNsdXN0ZXJfZmIgeworICAgICAgICAgIHN0eWxlPWRhc2hlZAorICAgICAgICAgIGxhYmVs PSJSQU0iCisKKyAgICAgICAgICBub2RlIFtzaGFwZT1ib3ggd2lkdGg9MS43IGhlaWdodD0wLjJd CisKKyAgICAgICAgICAiRkIgMSIgLT4gIlBsYW5lIERlZ2FtbWEgQSIKKyAgICAgICAgICAiRkIg MiIgLT4gIlBsYW5lIERlZ2FtbWEgQiIKKyAgICAgICAgICAiRkIgMyIgLT4gIlBsYW5lIERlZ2Ft bWEgQyIKKyAgICAgIH0KKyAgIH0KKworSW4gcmVhbCB3b3JsZCB1c2VjYXNlcywKKworMS4gUGxh bmUgRGVnYW1tYSBjYW4gYmUgdXNlZCB0byBsaW5lYXJpemUgYSBub24gbGluZWFyIGdhbW1hCitl bmNvZGVkIGZyYW1lYnVmZmVyLiBUaGlzIGlzIG5lZWRlZCB0byBkbyBhbnkgbGluZWFyIG1hdGgg bGlrZQorY29sb3Igc3BhY2UgY29udmVyc2lvbi4gRm9yIGV4LCBsaW5lYXJpemUgZnJhbWVzIGVu Y29kZWQgaW4gU1JHQgorb3IgYnkgSERSIGN1cnZlLgorCisyLiBMYXRlciBQbGFuZSBDVE0gYmxv Y2sgY2FuIGNvbnZlcnQgdGhlIGNvbnRlbnQgdG8gc29tZSBkaWZmZXJlbnQKK2NvbG9yc3BhY2Uu IEZvciBleCwgU1JHQiB0byBCVDIwMjAgZXRjLgorCiszLiBQbGFuZSBHYW1tYSBibG9jayBjYW4g YmUgdXNlZCBsYXRlciB0byByZS1hcHBseSB0aGUgbm9uLWxpbmVhcgorY3VydmUuIFRoaXMgY2Fu IGFsc28gYmUgdXNlZCB0byBhcHBseSBUb25lIE1hcHBpbmcgZm9yIEhEUiB1c2VjYXNlcy4KKwor QWxsIHRoZSBsYXllcnMgb3IgZnJhbWVidWZmZXJzIG5lZWQgdG8gYmUgY29udmVydGVkIHRvIHNh bWUgY29sb3IKK3NwYWNlIGFuZCBmb3JtYXQgYmVmb3JlIGJsZW5kaW5nLiBUaGUgcGxhbmUgY29s b3IgaGFyZHdhcmUgYmxvY2tzCitjYW4gaGVscCB3aXRoIHRoaXMuIE9uY2UgdGhlIERhdGEgaXMg YmxlbmRlZCwgc2ltaWxhciBjb2xvciBwcm9jZXNzaW5nCitjYW4gYmUgZG9uZSBvbiBibGVuZGVk IG91dHB1dCB1c2luZyBwaXBlIGNvbG9yIGhhcmR3YXJlIGJsb2Nrcy4KKworRFJNIFByb3BlcnRp ZXMgaGF2ZSBiZWVuIGNyZWF0ZWQgdG8gZGVmaW5lIGFuZCBleHBvc2UgYWxsIHRoZXNlCitoYXJk d2FyZSBibG9ja3MgdG8gdXNlcnNwYWNlLiBBIHVzZXJzcGFjZSBhcHBsaWNhdGlvbiAoY29tcG9z aXRvcgorb3IgYW55IGNvbG9yIGFwcCkgY2FuIHVzZSB0aGVzZSBpbnRlcmZhY2VzIGFuZCBkZWZp bmUgcG9saWNpZXMgdG8KK2VmZmljaWVudGx5IHVzZSB0aGUgZGlzcGxheSBoYXJkd2FyZSBmb3Ig c3VjaCBjb2xvciBvcGVyYXRpb25zLgorCitQaXBlIENvbG9yIE1hbmFnZW1lbnQgUHJvcGVydGll cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKIC4uIGtlcm5lbC1kb2M6OiBk cml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwogICAgOmRvYzogb3ZlcnZpZXcKIAogLi4g a2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCiAgICA6ZXhwb3J0 OgogCitQbGFuZSBDb2xvciBNYW5hZ2VtZW50IFByb3BlcnRpZXMKKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorCisuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9ncHUvZHJtL2RybV9j b2xvcl9tZ210LmMKKyAgIDpkb2M6IFBsYW5lIENvbG9yIFByb3BlcnRpZXMKKworLi4ga2VybmVs LWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9kcm1fY29sb3JfbWdtdC5jCisgICA6ZG9jOiBleHBvcnQK KwogVGlsZSBHcm91cCBQcm9wZXJ0eQogLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYwppbmRleCBkMDQ3OGFiLi5lNzE2NjE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTg1Nyw2 ICs4NTcsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ ZGV2OwogCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmln OworCWJvb2wgcmVwbGFjZWQgPSBmYWxzZTsKKwlpbnQgcmV0OwogCiAJaWYgKHByb3BlcnR5ID09 IGNvbmZpZy0+cHJvcF9mYl9pZCkgewogCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGRy bV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBOVUxMLCB2YWwpOwpAQCAtOTEwLDYgKzkxMiwxMyBA QCBzdGF0aWMgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAogCQlzdGF0ZS0+Y29sb3JfZW5jb2RpbmcgPSB2YWw7CiAJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVydHkpIHsKIAkJc3RhdGUtPmNvbG9y X3JhbmdlID0gdmFsOworCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUtPmRlZ2FtbWFfbHV0 X3Byb3BlcnR5KSB7CisJCXJldCA9IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zy b21faWQoZGV2LAorCQkJCQkmc3RhdGUtPmRlZ2FtbWFfbHV0LAorCQkJCQl2YWwsIC0xLCBzaXpl b2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpLAorCQkJCQkmcmVwbGFjZWQpOworCQlzdGF0ZS0+Y29s b3JfbWdtdF9jaGFuZ2VkIHw9IHJlcGxhY2VkOworCQlyZXR1cm4gcmV0OwogCX0gZWxzZSBpZiAo cGxhbmUtPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7CiAJCXJldHVybiBwbGFuZS0+ZnVu Y3MtPmF0b21pY19zZXRfcHJvcGVydHkocGxhbmUsIHN0YXRlLAogCQkJCXByb3BlcnR5LCB2YWwp OwpAQCAtOTgwLDYgKzk4OSw5IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJv cGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCSp2YWwgPSBzdGF0ZS0+Y29sb3JfZW5j b2Rpbmc7CiAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVy dHkpIHsKIAkJKnZhbCA9IHN0YXRlLT5jb2xvcl9yYW5nZTsKKwl9IGVsc2UgaWYgKHByb3BlcnR5 ID09IHBsYW5lLT5kZWdhbW1hX2x1dF9wcm9wZXJ0eSkgeworCQkqdmFsID0gKHN0YXRlLT5kZWdh bW1hX2x1dCkgPworCQkJc3RhdGUtPmRlZ2FtbWFfbHV0LT5iYXNlLmlkIDogMDsKIAl9IGVsc2Ug aWYgKHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewogCQlyZXR1cm4gcGxhbmUt PmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KHBsYW5lLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7 CiAJfSBlbHNlIHsKQEAgLTExMjAsNiArMTEzMiw3IEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNf cGxhbmVfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLAogCQkgICBkcm1fZ2V0X2Nv bG9yX2VuY29kaW5nX25hbWUoc3RhdGUtPmNvbG9yX2VuY29kaW5nKSk7CiAJZHJtX3ByaW50Zihw LCAiXHRjb2xvci1yYW5nZT0lc1xuIiwKIAkJICAgZHJtX2dldF9jb2xvcl9yYW5nZV9uYW1lKHN0 YXRlLT5jb2xvcl9yYW5nZSkpOworCWRybV9wcmludGYocCwgIlx0Y29sb3JfbWdtdF9jaGFuZ2Vk PSVkXG4iLCBzdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkKTsKIAogCWlmIChwbGFuZS0+ZnVuY3Mt PmF0b21pY19wcmludF9zdGF0ZSkKIAkJcGxhbmUtPmZ1bmNzLT5hdG9taWNfcHJpbnRfc3RhdGUo cCwgc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwppbmRleCAyYzIzYTQ4Li4y MDMxMzdlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMzYxNCw2ICszNjE0 LDEwIEBAIHZvaWQgX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAlzdGF0ZS0+ZmVuY2UgPSBOVUxMOwogCXN0YXRlLT5j b21taXQgPSBOVUxMOworCisJaWYgKHN0YXRlLT5kZWdhbW1hX2x1dCkKKwkJZHJtX3Byb3BlcnR5 X2Jsb2JfZ2V0KHN0YXRlLT5kZWdhbW1hX2x1dCk7CisJc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdl ZCA9IGZhbHNlOwogfQogRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1 cGxpY2F0ZV9zdGF0ZSk7CiAKQEAgLTM2NTgsNiArMzY2Miw4IEBAIHZvaWQgX19kcm1fYXRvbWlj X2hlbHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRl KQogCiAJaWYgKHN0YXRlLT5jb21taXQpCiAJCWRybV9jcnRjX2NvbW1pdF9wdXQoc3RhdGUtPmNv bW1pdCk7CisKKwlkcm1fcHJvcGVydHlfYmxvYl9wdXQoc3RhdGUtPmRlZ2FtbWFfbHV0KTsKIH0K IEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kZXN0cm95X3N0YXRlKTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwppbmRleCAxYmRjYzFhLi5kOGE5ZThiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2NvbG9yX21nbXQuYwpAQCAtMjksMTEgKzI5LDExIEBACiAvKioKICAqIERPQzogb3Zl cnZpZXcKICAqCi0gKiBDb2xvciBtYW5hZ2VtZW50IG9yIGNvbG9yIHNwYWNlIGFkanVzdG1lbnRz IGlzIHN1cHBvcnRlZCB0aHJvdWdoIGEgc2V0IG9mIDUKLSAqIHByb3BlcnRpZXMgb24gdGhlICZk cm1fY3J0YyBvYmplY3QuIFRoZXkgYXJlIHNldCB1cCBieSBjYWxsaW5nCisgKiBQaXBlIENvbG9y IG1hbmFnZW1lbnQgb3IgY29sb3Igc3BhY2UgYWRqdXN0bWVudHMgaXMgc3VwcG9ydGVkIHRocm91 Z2ggYQorICogc2V0IG9mIDUgcHJvcGVydGllcyBvbiB0aGUgJmRybV9jcnRjIG9iamVjdC4gVGhl eSBhcmUgc2V0IHVwIGJ5IGNhbGxpbmcKICAqIGRybV9jcnRjX2VuYWJsZV9jb2xvcl9tZ210KCku CiAgKgotICogIkRFR0FNTUFfTFVU4oCdOgorICogIkRFR0FNTUFfTFVUCiAgKglCbG9iIHByb3Bl cnR5IHRvIHNldCB0aGUgZGVnYW1tYSBsb29rdXAgdGFibGUgKExVVCkgbWFwcGluZyBwaXhlbCBk YXRhCiAgKglmcm9tIHRoZSBmcmFtZWJ1ZmZlciBiZWZvcmUgaXQgaXMgZ2l2ZW4gdG8gdGhlIHRy YW5zZm9ybWF0aW9uIG1hdHJpeC4KICAqCVRoZSBkYXRhIGlzIGludGVycHJldGVkIGFzIGFuIGFy cmF5IG9mICZzdHJ1Y3QgZHJtX2NvbG9yX2x1dCBlbGVtZW50cy4KQEAgLTQ5MSwzICs0OTEsNDEg QEAgaW50IGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0ZV9j b2xvcl9wcm9wZXJ0aWVzKTsKKworLyoqCisgKiBET0M6IFBsYW5lIENvbG9yIFByb3BlcnRpZXMK KyAqCisgKiBQbGFuZSBDb2xvciBtYW5hZ2VtZW50IG9yIGNvbG9yIHNwYWNlIGFkanVzdG1lbnRz IGlzIHN1cHBvcnRlZAorICogdGhyb3VnaCBhIHNldCBvZiA1IHByb3BlcnRpZXMgb24gdGhlICZk cm1fcGxhbmUgb2JqZWN0LgorICoKKyAqIGRlZ2FtbWFfbHV0X3Byb3BlcnR5OgorICogICAgIEJs b2IgcHJvcGVydHkgd2hpY2ggYWxsb3dzIGEgdXNlcnNwYWNlIHRvIHByb3ZpZGUgTFVUIHZhbHVl cworICogICAgIHRvIGFwcGx5IGRlZ2FtbWEgY3VydmUgdXNpbmcgdGhlIGgvdyBwbGFuZSBkZWdh bW1hIHByb2Nlc3NpbmcKKyAqICAgICBlbmdpbmUsIHRoZXJlYnkgbWFraW5nIHRoZSBjb250ZW50 IGFzIGxpbmVhciBmb3IgZnVydGhlciBjb2xvcgorICogICAgIHByb2Nlc3NpbmcuCisgKgorICog ZGVnYW1tYV9sdXRfc2l6ZV9wcm9wZXJ0eToKKyAqICAgICBSYW5nZSBQcm9wZXJ0eSB0byBpbmRp Y2F0ZSBzaXplIG9mIHRoZSBwbGFuZSBkZWdhbW1hIExVVC4KKyAqLworaW50IGRybV9wbGFuZV9j b2xvcl9jcmVhdGVfcHJvcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKQoreworCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7CisKKwlwcm9wID0g ZHJtX3Byb3BlcnR5X2NyZWF0ZShkZXYsCisJCQlEUk1fTU9ERV9QUk9QX0JMT0IsCisJCQkiUExB TkVfREVHQU1NQV9MVVQiLCAwKTsKKwlpZiAoIXByb3ApCisJCXJldHVybiAtRU5PTUVNOworCXBs YW5lLT5kZWdhbW1hX2x1dF9wcm9wZXJ0eSA9IHByb3A7CisKKwlwcm9wID0gZHJtX3Byb3BlcnR5 X2NyZWF0ZV9yYW5nZShkZXYsCisJCQlEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSwKKwkJCSJQTEFO RV9ERUdBTU1BX0xVVF9TSVpFIiwgMCwgVUlOVF9NQVgpOworCWlmICghcHJvcCkKKwkJcmV0dXJu IC1FTk9NRU07CisJcGxhbmUtPmRlZ2FtbWFfbHV0X3NpemVfcHJvcGVydHkgPSBwcm9wOworCisJ cmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9jb2xvcl9jcmVhdGVfcHJvcCk7 CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaCBiL2luY2x1ZGUvZHJtL2RybV9w bGFuZS5oCmluZGV4IDE2ZjViNjY2Li43ZjBkOTYxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9k cm1fcGxhbmUuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaApAQCAtMTgyLDYgKzE4Miwx NCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlIHsKIAkgKi8KIAlib29sIHZpc2libGU7CiAKKwkv KiBAZGVnYW1tYV9sdXQ6CisJICoKKwkgKiBMb29rdXAgdGFibGUgZm9yIGNvbnZlcnRpbmcgZnJh bWVidWZmZXIgcGl4ZWwgZGF0YSBiZWZvcmUgYXBwbHkgdGhlCisJICogY29sb3IgY29udmVyc2lv biBtYXRyaXggQGN0bS4gU2VlIGRybV9wbGFuZV9lbmFibGVfY29sb3JfbWdtdCgpLiBUaGUKKwkg KiBibG9iIChpZiBub3QgTlVMTCkgaXMgYW4gYXJyYXkgb2YgJnN0cnVjdCBkcm1fY29sb3JfbHV0 X2V4dC4KKwkgKi8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0OworCiAJ LyoqCiAJICogQGNvbW1pdDogVHJhY2tzIHRoZSBwZW5kaW5nIGNvbW1pdCB0byBwcmV2ZW50IHVz ZS1hZnRlci1mcmVlIGNvbmRpdGlvbnMsCiAJICogYW5kIGZvciBhc3luYyBwbGFuZSB1cGRhdGVz LgpAQCAtMTkyLDYgKzIwMCw4IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewogCiAJLyoqIEBz dGF0ZTogYmFja3BvaW50ZXIgdG8gZ2xvYmFsIGRybV9hdG9taWNfc3RhdGUgKi8KIAlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CisKKwl1OCBjb2xvcl9tZ210X2NoYW5nZWQgOiAxOwog fTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX3JlY3QKQEAgLTY5Miw2ICs3MDIsMTggQEAg c3RydWN0IGRybV9wbGFuZSB7CiAJICogU2VlIGRybV9wbGFuZV9jcmVhdGVfY29sb3JfcHJvcGVy dGllcygpLgogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKmNvbG9yX3JhbmdlX3Byb3BlcnR5 OworCisJLyoqCisJICogQGRlZ2FtbWFfbHV0X3Byb3BlcnR5OiBPcHRpb25hbCBQbGFuZSBwcm9w ZXJ0eSB0byBzZXQgdGhlIExVVAorCSAqIHVzZWQgdG8gY29udmVydCB0aGUgZnJhbWVidWZmZXIn cyBjb2xvcnMgdG8gbGluZWFyIGdhbW1hLgorCSAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmRl Z2FtbWFfbHV0X3Byb3BlcnR5OworCisJLyoqCisJICogQGRlZ2FtbWFfbHV0X3NpemVfcHJvcGVy dHk6IE9wdGlvbmFsIFBsYW5lIHByb3BlcnR5IGZvciB0aGUKKwkgKiBzaXplIG9mIHRoZSBkZWdh bW1hIExVVCBhcyBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciAocmVhZC1vbmx5KS4KKwkgKi8KKwlz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpkZWdhbW1hX2x1dF9zaXplX3Byb3BlcnR5OwogfTsKIAogI2Rl ZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcm1fcGxhbmUsIGJh c2UpCkBAIC03NDEsNiArNzYzLDggQEAgc3RhdGljIGlubGluZSB1MzIgZHJtX3BsYW5lX21hc2so Y29uc3Qgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiBpbnQgZHJtX21vZGVfcGxhbmVfc2V0X29i al9wcm9wKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAgICAgICBzdHJ1Y3QgZHJtX3By b3BlcnR5ICpwcm9wZXJ0eSwKIAkJCQkgICAgICAgdWludDY0X3QgdmFsdWUpOworaW50IGRybV9w bGFuZV9jb2xvcl9jcmVhdGVfcHJvcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCXN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lKTsKIAogLyoqCiAgKiBkcm1fcGxhbmVfZmluZCAtIGZpbmQgYSAm ZHJtX3BsYW5lCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==