From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hyun Kwon Subject: [PATCH v3 7/8] drm: xlnx: zynqmp_disp: Add drm properties Date: Mon, 15 Jan 2018 17:57:10 -0800 Message-ID: <1516067831-11382-7-git-send-email-hyun.kwon@xilinx.com> References: <1516067831-11382-1-git-send-email-hyun.kwon@xilinx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1516067831-11382-1-git-send-email-hyun.kwon@xilinx.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Laurent Pinchart , Michal Simek , Hyun Kwon , Daniel Vetter List-Id: devicetree@vger.kernel.org QWRkIGRybSBwcm9wZXJ0aWVzIGZvciBnbG9iYWwgYWxwaGEsIG91dHB1dCBjb2xvciwgYmFja2dy b3VuZCBjb2xvciwKYW5kIHRlc3QgcGF0dGVybiBnZW5lcmF0aW9uLgoKU2lnbmVkLW9mZi1ieTog SHl1biBLd29uIDxoeXVuLmt3b25AeGlsaW54LmNvbT4KLS0tCnYyCi0gU3BsaXQgZnJvbSB0aGUg b3JpZ2luYWwgcGF0Y2gKLSBTb21lIHByb3BzIGFyZSBpbXBvcnRhbnQgZmVhdHVyZSB0byBiZSBp bmNsdWRlZAotLS0KLS0tCiBkcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZGlzcC5jIHwgMTkx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAx OTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFt cF9kaXNwLmMgYi9kcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfZGlzcC5jCmluZGV4IDY1NTE5 Y2EuLjMzMDg3NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9kaXNw LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3hsbngvenlucW1wX2Rpc3AuYwpAQCAtNDEzLDEyICs0 MTMsMTkgQEAgc3RydWN0IHp5bnFtcF9kaXNwX2F1ZCB7CiAgKiBAYXZfYnVmOiBBViBidWZmZXIg bWFuYWdlciBibG9jawogICogQGF1ZDpBdWRpbyBibG9jawogICogQGxheWVyczogbGF5ZXJzCisg KiBAZ19hbHBoYV9wcm9wOiBnbG9iYWwgYWxwaGEgcHJvcGVydHkKICAqIEBhbHBoYTogY3VycmVu dCBnbG9iYWwgYWxwaGEgdmFsdWUKKyAqIEBnX2FscGhhX2VuX3Byb3A6IHRoZSBnbG9iYWwgYWxw aGEgZW5hYmxlIHByb3BlcnR5CiAgKiBAYWxwaGFfZW46IGZsYWcgaWYgdGhlIGdsb2JhbCBhbHBo YSBpcyBlbmFibGVkCisgKiBAY29sb3JfcHJvcDogb3V0cHV0IGNvbG9yIGZvcm1hdCBwcm9wZXJ0 eQogICogQGNvbG9yOiBjdXJyZW50IG91dHB1dCBjb2xvciB2YWx1ZQorICogQGJnX2MwX3Byb3A6 IDFzdCBjb21wb25lbnQgb2YgYmFja2dyb3VuZCBjb2xvciBwcm9wZXJ0eQogICogQGJnX2MwOiBj dXJyZW50IHZhbHVlIG9mIDFzdCBiYWNrZ3JvdW5kIGNvbG9yIGNvbXBvbmVudAorICogQGJnX2Mx X3Byb3A6IDJuZCBjb21wb25lbnQgb2YgYmFja2dyb3VuZCBjb2xvciBwcm9wZXJ0eQogICogQGJn X2MxOiBjdXJyZW50IHZhbHVlIG9mIDJuZCBiYWNrZ3JvdW5kIGNvbG9yIGNvbXBvbmVudAorICog QGJnX2MyX3Byb3A6IDNyZCBjb21wb25lbnQgb2YgYmFja2dyb3VuZCBjb2xvciBwcm9wZXJ0eQog ICogQGJnX2MyOiBjdXJyZW50IHZhbHVlIG9mIDNyZCBiYWNrZ3JvdW5kIGNvbG9yIGNvbXBvbmVu dAorICogQHRwZ19wcm9wOiBUZXN0IFBhdHRlcm4gR2VuZXJhdGlvbiBtb2RlIHByb3BlcnR5CiAg KiBAdHBnX29uOiBjdXJyZW50IFRQRyBtb2RlIHN0YXRlCiAgKiBAZXZlbnQ6IHBlbmRpbmcgdmJs YW5rIGV2ZW50IHJlcXVlc3QKICAqIEBfcHNfcGNsazogUGl4ZWwgY2xvY2sgZnJvbSBQUwpAQCAt NDQyLDEyICs0NDksMTkgQEAgc3RydWN0IHp5bnFtcF9kaXNwIHsKICAgICAgICBzdHJ1Y3Qgenlu cW1wX2Rpc3BfYXZfYnVmIGF2X2J1ZjsKICAgICAgICBzdHJ1Y3QgenlucW1wX2Rpc3BfYXVkIGF1 ZDsKICAgICAgICBzdHJ1Y3QgenlucW1wX2Rpc3BfbGF5ZXIgbGF5ZXJzW1pZTlFNUF9ESVNQX05V TV9MQVlFUlNdOworICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKmdfYWxwaGFfcHJvcDsKICAg ICAgICB1MzIgYWxwaGE7CisgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqZ19hbHBoYV9lbl9w cm9wOwogICAgICAgIGJvb2wgYWxwaGFfZW47CisgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAq Y29sb3JfcHJvcDsKICAgICAgICB1bnNpZ25lZCBpbnQgY29sb3I7CisgICAgICAgc3RydWN0IGRy bV9wcm9wZXJ0eSAqYmdfYzBfcHJvcDsKICAgICAgICB1MzIgYmdfYzA7CisgICAgICAgc3RydWN0 IGRybV9wcm9wZXJ0eSAqYmdfYzFfcHJvcDsKICAgICAgICB1MzIgYmdfYzE7CisgICAgICAgc3Ry dWN0IGRybV9wcm9wZXJ0eSAqYmdfYzJfcHJvcDsKICAgICAgICB1MzIgYmdfYzI7CisgICAgICAg c3RydWN0IGRybV9wcm9wZXJ0eSAqdHBnX3Byb3A7CiAgICAgICAgYm9vbCB0cGdfb247CiAgICAg ICAgc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7CiAgICAgICAgLyogRG9u J3Qgb3BlcmF0ZSBkaXJlY3RseSBvbiBfcHNfICovCkBAIC0xNjIxLDYgKzE2MzUsMjEgQEAgc3Rh dGljIGludCB6eW5xbXBfZGlzcF9sYXllcl9zZXRfdHBnKHN0cnVjdCB6eW5xbXBfZGlzcCAqZGlz cCwKIH0KCiAvKioKKyAqIHp5bnFtcF9kaXNwX2dldF90cGcgLSBHZXQgdGhlIFRQRyBtb2RlIHN0 YXR1cworICogQGRpc3A6IERpc3BsYXkgc3Vic3lzdGVtCisgKiBAbGF5ZXI6IFZpZGVvIGxheWVy CisgKgorICogUmV0dXJuIGlmIHRoZSBUUEcgaXMgZW5hYmxlZCBvciBub3QuCisgKgorICogUmV0 dXJuOiB0cnVlIGlmIFRQRyBpcyBvbiwgb3RoZXJ3aXNlIGZhbHNlCisgKi8KK3N0YXRpYyBib29s IHp5bnFtcF9kaXNwX2xheWVyX2dldF90cGcoc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB6eW5xbXBfZGlzcF9sYXll ciAqbGF5ZXIpCit7CisgICAgICAgcmV0dXJuIGRpc3AtPnRwZ19vbjsKK30KKworLyoqCiAgKiB6 eW5xbXBfZGlzcF9nZXRfZm10IC0gR2V0IHRoZSBzdXBwb3J0ZWQgRFJNIGZvcm1hdHMgb2YgdGhl IGxheWVyCiAgKiBAZGlzcDogRGlzcGxheSBzdWJzeXN0ZW0KICAqIEBsYXllcjogbGF5ZXIgdG8g Z2V0IHRoZSBmb3JtYXRzCkBAIC0xOTM3LDYgKzE5NjYsMTkgQEAgc3RhdGljIHZvaWQgenlucW1w X2Rpc3Bfc2V0X2FscGhhKHN0cnVjdCB6eW5xbXBfZGlzcCAqZGlzcCwgdTMyIGFscGhhKQogfQoK IC8qKgorICogenlucW1wX2Rpc3BfZ2V0X2FscGhhIC0gR2V0IHRoZSBhbHBoYSB2YWx1ZQorICog QGRpc3A6IERpc3BsYXkgc3Vic3lzdGVtCisgKgorICogR2V0IHRoZSBhbHBoYSB2YWx1ZSBmb3Ig YmxlbmRpbmcuCisgKgorICogUmV0dXJuOiBjdXJyZW50IGFscGhhIHZhbHVlLgorICovCitzdGF0 aWMgdTMyIHp5bnFtcF9kaXNwX2dldF9hbHBoYShzdHJ1Y3QgenlucW1wX2Rpc3AgKmRpc3ApCit7 CisgICAgICAgcmV0dXJuIGRpc3AtPmFscGhhOworfQorCisvKioKICAqIHp5bnFtcF9kaXNwX3Nl dF9nX2FscGhhIC0gRW5hYmxlL2Rpc2FibGUgdGhlIGdsb2JhbCBhbHBoYSBibGVuZGluZwogICog QGRpc3A6IERpc3BsYXkgc3Vic3lzdGVtCiAgKiBAZW5hYmxlOiBmbGFnIHRvIGVuYWJsZSBvciBk aXNhYmxlIGFscGhhIGJsZW5kaW5nCkBAIC0xOTUwLDYgKzE5OTIsMTkgQEAgc3RhdGljIHZvaWQg enlucW1wX2Rpc3Bfc2V0X2dfYWxwaGEoc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwLCBib29sIGVu YWJsZSkKIH0KCiAvKioKKyAqIHp5bnFtcF9kaXNwX2dldF9nX2FscGhhIC0gR2V0IHRoZSBnbG9i YWwgYWxwaGEgc3RhdHVzCisgKiBAZGlzcDogRGlzcGxheSBzdWJzeXN0ZW0KKyAqCisgKiBHZXQg dGhlIGdsb2JhbCBhbHBoYSBzdGF0dWUuCisgKgorICogUmV0dXJuOiB0cnVlIGlmIGdsb2JhbCBh bHBoYSBpcyBlbmFibGVkLCBvciBmYWxzZS4KKyAqLworc3RhdGljIGJvb2wgenlucW1wX2Rpc3Bf Z2V0X2dfYWxwaGEoc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwKQoreworICAgICAgIHJldHVybiBk aXNwLT5hbHBoYV9lbjsKK30KKworLyoqCiAgKiB6eW5xbXBfZGlzcF9lbmFibGUgLSBFbmFibGUg dGhlIERpc3BsYXkgc3Vic3lzdGVtCiAgKiBAZGlzcDogRGlzcGxheSBzdWJzeXN0ZW0KICAqCkBA IC0yMTcyLDkgKzIyMjcsNTQgQEAgc3RhdGljIHZvaWQgenlucW1wX2Rpc3BfcGxhbmVfZGVzdHJv eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKICAgICAgICBkcm1fcGxhbmVfY2xlYW51cChwbGFu ZSk7CiB9Cgorc3RhdGljIGludAorenlucW1wX2Rpc3BfcGxhbmVfYXRvbWljX3NldF9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdTY0IHZh bCkKK3sKKyAgICAgICBzdHJ1Y3QgenlucW1wX2Rpc3BfbGF5ZXIgKmxheWVyID0gcGxhbmVfdG9f bGF5ZXIocGxhbmUpOworICAgICAgIHN0cnVjdCB6eW5xbXBfZGlzcCAqZGlzcCA9IGxheWVyLT5k aXNwOworICAgICAgIGludCByZXQgPSAwOworCisgICAgICAgaWYgKHByb3BlcnR5ID09IGRpc3At PmdfYWxwaGFfcHJvcCkKKyAgICAgICAgICAgICAgIHp5bnFtcF9kaXNwX3NldF9hbHBoYShkaXNw LCB2YWwpOworICAgICAgIGVsc2UgaWYgKHByb3BlcnR5ID09IGRpc3AtPmdfYWxwaGFfZW5fcHJv cCkKKyAgICAgICAgICAgICAgIHp5bnFtcF9kaXNwX3NldF9nX2FscGhhKGRpc3AsIHZhbCk7Cisg ICAgICAgZWxzZSBpZiAocHJvcGVydHkgPT0gZGlzcC0+dHBnX3Byb3ApCisgICAgICAgICAgICAg ICByZXQgPSB6eW5xbXBfZGlzcF9sYXllcl9zZXRfdHBnKGRpc3AsIGxheWVyLCB2YWwpOworICAg ICAgIGVsc2UKKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgcmV0dXJu IHJldDsKK30KKworc3RhdGljIGludAorenlucW1wX2Rpc3BfcGxhbmVfYXRvbWljX2dldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0 eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqdmFsKQor eworICAgICAgIHN0cnVjdCB6eW5xbXBfZGlzcF9sYXllciAqbGF5ZXIgPSBwbGFuZV90b19sYXll cihwbGFuZSk7CisgICAgICAgc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwID0gbGF5ZXItPmRpc3A7 CisgICAgICAgaW50IHJldCA9IDA7CisKKyAgICAgICBpZiAocHJvcGVydHkgPT0gZGlzcC0+Z19h bHBoYV9wcm9wKQorICAgICAgICAgICAgICAgKnZhbCA9IHp5bnFtcF9kaXNwX2dldF9hbHBoYShk aXNwKTsKKyAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBkaXNwLT5nX2FscGhhX2VuX3Byb3Ap CisgICAgICAgICAgICAgICAqdmFsID0genlucW1wX2Rpc3BfZ2V0X2dfYWxwaGEoZGlzcCk7Cisg ICAgICAgZWxzZSBpZiAocHJvcGVydHkgPT0gZGlzcC0+dHBnX3Byb3ApCisgICAgICAgICAgICAg ICAqdmFsID0genlucW1wX2Rpc3BfbGF5ZXJfZ2V0X3RwZyhkaXNwLCBsYXllcik7CisgICAgICAg ZWxzZQorICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAgICByZXR1cm4gcmV0 OworfQorCiBzdGF0aWMgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB6eW5xbXBfZGlzcF9wbGFuZV9m dW5jcyA9IHsKICAgICAgICAudXBkYXRlX3BsYW5lICAgICAgICAgICA9IGRybV9hdG9taWNfaGVs cGVyX3VwZGF0ZV9wbGFuZSwKICAgICAgICAuZGlzYWJsZV9wbGFuZSAgICAgICAgICA9IGRybV9h dG9taWNfaGVscGVyX2Rpc2FibGVfcGxhbmUsCisgICAgICAgLmF0b21pY19zZXRfcHJvcGVydHkg ICAgPSB6eW5xbXBfZGlzcF9wbGFuZV9hdG9taWNfc2V0X3Byb3BlcnR5LAorICAgICAgIC5hdG9t aWNfZ2V0X3Byb3BlcnR5ICAgID0genlucW1wX2Rpc3BfcGxhbmVfYXRvbWljX2dldF9wcm9wZXJ0 eSwKICAgICAgICAuZGVzdHJveSAgICAgICAgICAgICAgICA9IHp5bnFtcF9kaXNwX3BsYW5lX2Rl c3Ryb3ksCiAgICAgICAgLnJlc2V0ICAgICAgICAgICAgICAgICAgPSBkcm1fYXRvbWljX2hlbHBl cl9wbGFuZV9yZXNldCwKICAgICAgICAuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9t aWNfaGVscGVyX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSwKQEAgLTIyNDEsNiArMjM0MSwxOCBAQCBz dGF0aWMgaW50IHp5bnFtcF9kaXNwX2NyZWF0ZV9wbGFuZShzdHJ1Y3QgenlucW1wX2Rpc3AgKmRp c3ApCiAgICAgICAgICAgICAgICB0eXBlID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKICAgICAg ICB9CgorICAgICAgIC8qIEF0dGFjaCBwcm9wZXJ0aWVzIHRvIGVhY2ggbGF5ZXJzICovCisgICAg ICAgZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmxheWVyLT5wbGFuZS5iYXNlLCBkaXNwLT5n X2FscGhhX3Byb3AsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWllOUU1QX0RJ U1BfVl9CTEVORF9TRVRfR0xPQkFMX0FMUEhBX01BWCk7CisgICAgICAgZGlzcC0+YWxwaGEgPSBa WU5RTVBfRElTUF9WX0JMRU5EX1NFVF9HTE9CQUxfQUxQSEFfTUFYOworICAgICAgIC8qIEVuYWJs ZSB0aGUgZ2xvYmFsIGFscGhhIGFzIGRlZmF1bHQgKi8KKyAgICAgICBkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmbGF5ZXItPnBsYW5lLmJhc2UsIGRpc3AtPmdfYWxwaGFfZW5fcHJvcCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlKTsKKyAgICAgICBkaXNwLT5hbHBo YV9lbiA9IHRydWU7CisKKyAgICAgICBsYXllciA9ICZkaXNwLT5sYXllcnNbWllOUU1QX0RJU1Bf TEFZRVJfVklEXTsKKyAgICAgICBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmbGF5ZXItPnBs YW5lLmJhc2UsIGRpc3AtPnRwZ19wcm9wLCBmYWxzZSk7CisKICAgICAgICByZXR1cm4gcmV0OwoK IGVycl9wbGFuZToKQEAgLTI0MjksMTAgKzI1NDEsNjAgQEAgc3RhdGljIHZvaWQgenlucW1wX2Rp c3BfY3J0Y19kZXN0cm95KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKICAgICAgICBkcm1fY3J0Y19j bGVhbnVwKGNydGMpOwogfQoKK3N0YXRpYyBpbnQKK3p5bnFtcF9kaXNwX2NydGNfYXRvbWljX3Nl dF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB2YWwpCit7CisgICAg ICAgc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwID0gY3J0Y190b19kaXNwKGNydGMpOworCisgICAg ICAgLyoKKyAgICAgICAgKiBDUlRDIHByb3AgdmFsdWVzIGFyZSBqdXN0IHN0b3JlZCBoZXJlIGFu ZCBhcHBsaWVkIHdoZW4gQ1JUQyBnZXRzCisgICAgICAgICogZW5hYmxlZAorICAgICAgICAqLwor ICAgICAgIGlmIChwcm9wZXJ0eSA9PSBkaXNwLT5jb2xvcl9wcm9wKQorICAgICAgICAgICAgICAg ZGlzcC0+Y29sb3IgPSB2YWw7CisgICAgICAgZWxzZSBpZiAocHJvcGVydHkgPT0gZGlzcC0+Ymdf YzBfcHJvcCkKKyAgICAgICAgICAgICAgIGRpc3AtPmJnX2MwID0gdmFsOworICAgICAgIGVsc2Ug aWYgKHByb3BlcnR5ID09IGRpc3AtPmJnX2MxX3Byb3ApCisgICAgICAgICAgICAgICBkaXNwLT5i Z19jMSA9IHZhbDsKKyAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBkaXNwLT5iZ19jMl9wcm9w KQorICAgICAgICAgICAgICAgZGlzcC0+YmdfYzIgPSB2YWw7CisgICAgICAgZWxzZQorICAgICAg ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAgICByZXR1cm4gMDsKK30KKworc3RhdGlj IGludAorenlucW1wX2Rpc3BfY3J0Y19hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj dCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICp2YWwpCit7CisgICAgICAgc3RydWN0IHp5bnFtcF9k aXNwICpkaXNwID0gY3J0Y190b19kaXNwKGNydGMpOworCisgICAgICAgaWYgKHByb3BlcnR5ID09 IGRpc3AtPmNvbG9yX3Byb3ApCisgICAgICAgICAgICAgICAqdmFsID0gZGlzcC0+Y29sb3I7Cisg ICAgICAgZWxzZSBpZiAocHJvcGVydHkgPT0gZGlzcC0+YmdfYzBfcHJvcCkKKyAgICAgICAgICAg ICAgICp2YWwgPSBkaXNwLT5iZ19jMDsKKyAgICAgICBlbHNlIGlmIChwcm9wZXJ0eSA9PSBkaXNw LT5iZ19jMV9wcm9wKQorICAgICAgICAgICAgICAgKnZhbCA9IGRpc3AtPmJnX2MxOworICAgICAg IGVsc2UgaWYgKHByb3BlcnR5ID09IGRpc3AtPmJnX2MyX3Byb3ApCisgICAgICAgICAgICAgICAq dmFsID0gZGlzcC0+YmdfYzI7CisgICAgICAgZWxzZQorICAgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7CisKKyAgICAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19m dW5jcyB6eW5xbXBfZGlzcF9jcnRjX2Z1bmNzID0gewogICAgICAgIC5kZXN0cm95ICAgICAgICAg ICAgICAgID0genlucW1wX2Rpc3BfY3J0Y19kZXN0cm95LAogICAgICAgIC5zZXRfY29uZmlnICAg ICAgICAgICAgID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZywKICAgICAgICAucGFnZV9m bGlwICAgICAgICAgICAgICA9IGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwKKyAgICAgICAu YXRvbWljX3NldF9wcm9wZXJ0eSAgICA9IHp5bnFtcF9kaXNwX2NydGNfYXRvbWljX3NldF9wcm9w ZXJ0eSwKKyAgICAgICAuYXRvbWljX2dldF9wcm9wZXJ0eSAgICA9IHp5bnFtcF9kaXNwX2NydGNf YXRvbWljX2dldF9wcm9wZXJ0eSwKICAgICAgICAucmVzZXQgICAgICAgICAgICAgICAgICA9IGRy bV9hdG9taWNfaGVscGVyX2NydGNfcmVzZXQsCiAgICAgICAgLmF0b21pY19kdXBsaWNhdGVfc3Rh dGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKICAgICAgICAuYXRv bWljX2Rlc3Ryb3lfc3RhdGUgICA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0 ZSwKQEAgLTI0NDEsMTIgKzI2MDMsMTggQEAgc3RhdGljIHN0cnVjdCBkcm1fY3J0Y19mdW5jcyB6 eW5xbXBfZGlzcF9jcnRjX2Z1bmNzID0gewogc3RhdGljIHZvaWQgenlucW1wX2Rpc3BfY3JlYXRl X2NydGMoc3RydWN0IHp5bnFtcF9kaXNwICpkaXNwKQogewogICAgICAgIHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lID0gJmRpc3AtPmxheWVyc1taWU5RTVBfRElTUF9MQVlFUl9HRlhdLnBsYW5lOwor ICAgICAgIHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiA9ICZkaXNwLT54bG54X2NydGMuY3J0 Yy5iYXNlOwogICAgICAgIGludCByZXQ7CgogICAgICAgIHJldCA9IGRybV9jcnRjX2luaXRfd2l0 aF9wbGFuZXMoZGlzcC0+ZHJtLCAmZGlzcC0+eGxueF9jcnRjLmNydGMsIHBsYW5lLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgJnp5bnFtcF9kaXNwX2NydGNf ZnVuY3MsIE5VTEwpOwogICAgICAgIGRybV9jcnRjX2hlbHBlcl9hZGQoJmRpc3AtPnhsbnhfY3J0 Yy5jcnRjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJnp5bnFtcF9kaXNwX2NydGNfaGVs cGVyX2Z1bmNzKTsKKyAgICAgICBkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eShvYmosIGRpc3At PmNvbG9yX3Byb3AsIDApOworICAgICAgIHp5bnFtcF9kcF9zZXRfY29sb3IoZGlzcC0+ZHBzdWIt PmRwLCB6eW5xbXBfZGlzcF9jb2xvcl9lbnVtWzBdLm5hbWUpOworICAgICAgIGRybV9vYmplY3Rf YXR0YWNoX3Byb3BlcnR5KG9iaiwgZGlzcC0+YmdfYzBfcHJvcCwgMCk7CisgICAgICAgZHJtX29i amVjdF9hdHRhY2hfcHJvcGVydHkob2JqLCBkaXNwLT5iZ19jMV9wcm9wLCAwKTsKKyAgICAgICBk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eShvYmosIGRpc3AtPmJnX2MyX3Byb3AsIDApOwoKICAg ICAgICBkaXNwLT54bG54X2NydGMuZW5hYmxlX3ZibGFuayA9ICZ6eW5xbXBfZGlzcF9lbmFibGVf dmJsYW5rOwogICAgICAgIGRpc3AtPnhsbnhfY3J0Yy5kaXNhYmxlX3ZibGFuayA9ICZ6eW5xbXBf ZGlzcF9kaXNhYmxlX3ZibGFuazsKQEAgLTI0ODIsMTAgKzI2NTAsMjcgQEAgaW50IHp5bnFtcF9k aXNwX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQg KmRhdGEpCiAgICAgICAgc3RydWN0IHp5bnFtcF9kcHN1YiAqZHBzdWIgPSBkZXZfZ2V0X2RydmRh dGEoZGV2KTsKICAgICAgICBzdHJ1Y3QgenlucW1wX2Rpc3AgKmRpc3AgPSBkcHN1Yi0+ZGlzcDsK ICAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gZGF0YTsKKyAgICAgICBpbnQgbnVtOwor ICAgICAgIHU2NCBtYXg7CiAgICAgICAgaW50IHJldDsKCiAgICAgICAgZGlzcC0+ZHJtID0gZHJt OwoKKyAgICAgICBtYXggPSBaWU5RTVBfRElTUF9WX0JMRU5EX1NFVF9HTE9CQUxfQUxQSEFfTUFY OworICAgICAgIGRpc3AtPmdfYWxwaGFfcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZHJtLCAwLCAiYWxwaGEiLCAwLCBtYXgpOworICAgICAgIGRpc3AtPmdfYWxwaGFfZW5fcHJvcCA9 IGRybV9wcm9wZXJ0eV9jcmVhdGVfYm9vbChkcm0sIDAsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnX2FscGhhX2VuIik7CisgICAgICAg bnVtID0gQVJSQVlfU0laRSh6eW5xbXBfZGlzcF9jb2xvcl9lbnVtKTsKKyAgICAgICBkaXNwLT5j b2xvcl9wcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRybSwgMCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvdXRwdXRfY29sb3IiLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgenlucW1w X2Rpc3BfY29sb3JfZW51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG51bSk7CisgICAgICAgbWF4ID0gWllOUU1QX0RJU1BfVl9CTEVORF9CR19N QVg7CisgICAgICAgZGlzcC0+YmdfYzBfcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2Uo ZHJtLCAwLCAiYmdfYzAiLCAwLCBtYXgpOworICAgICAgIGRpc3AtPmJnX2MxX3Byb3AgPSBkcm1f cHJvcGVydHlfY3JlYXRlX3JhbmdlKGRybSwgMCwgImJnX2MxIiwgMCwgbWF4KTsKKyAgICAgICBk aXNwLT5iZ19jMl9wcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShkcm0sIDAsICJiZ19j MiIsIDAsIG1heCk7CisgICAgICAgZGlzcC0+dHBnX3Byb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRl X2Jvb2woZHJtLCAwLCAidHBnIik7CisKICAgICAgICByZXQgPSB6eW5xbXBfZGlzcF9jcmVhdGVf cGxhbmUoZGlzcCk7CiAgICAgICAgaWYgKHJldCkKICAgICAgICAgICAgICAgIHJldHVybiByZXQ7 CkBAIC0yNTAyLDYgKzI2ODcsMTIgQEAgdm9pZCB6eW5xbXBfZGlzcF91bmJpbmQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCgogICAgICAgIHp5 bnFtcF9kaXNwX2Rlc3Ryb3lfY3J0YyhkaXNwKTsKICAgICAgICB6eW5xbXBfZGlzcF9kZXN0cm95 X3BsYW5lKGRpc3ApOworICAgICAgIGRybV9wcm9wZXJ0eV9kZXN0cm95KGRpc3AtPmRybSwgZGlz cC0+YmdfYzJfcHJvcCk7CisgICAgICAgZHJtX3Byb3BlcnR5X2Rlc3Ryb3koZGlzcC0+ZHJtLCBk aXNwLT5iZ19jMV9wcm9wKTsKKyAgICAgICBkcm1fcHJvcGVydHlfZGVzdHJveShkaXNwLT5kcm0s IGRpc3AtPmJnX2MwX3Byb3ApOworICAgICAgIGRybV9wcm9wZXJ0eV9kZXN0cm95KGRpc3AtPmRy bSwgZGlzcC0+Y29sb3JfcHJvcCk7CisgICAgICAgZHJtX3Byb3BlcnR5X2Rlc3Ryb3koZGlzcC0+ ZHJtLCBkaXNwLT5nX2FscGhhX2VuX3Byb3ApOworICAgICAgIGRybV9wcm9wZXJ0eV9kZXN0cm95 KGRpc3AtPmRybSwgZGlzcC0+Z19hbHBoYV9wcm9wKTsKIH0KCiAvKgotLQoyLjcuNAoKVGhpcyBl bWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBpbnRlbmRlZCBmb3IgdGhlIHNvbGUgdXNlIG9m IHRoZSBuYW1lZCByZWNpcGllbnQocykgYW5kIGNvbnRhaW4ocykgY29uZmlkZW50aWFsIGluZm9y bWF0aW9uIHRoYXQgbWF5IGJlIHByb3ByaWV0YXJ5LCBwcml2aWxlZ2VkIG9yIGNvcHlyaWdodGVk IHVuZGVyIGFwcGxpY2FibGUgbGF3LiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBp ZW50LCBkbyBub3QgcmVhZCwgY29weSwgb3IgZm9yd2FyZCB0aGlzIGVtYWlsIG1lc3NhZ2Ugb3Ig YW55IGF0dGFjaG1lbnRzLiBEZWxldGUgdGhpcyBlbWFpbCBtZXNzYWdlIGFuZCBhbnkgYXR0YWNo bWVudHMgaW1tZWRpYXRlbHkuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=