From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v3 2/5] drm/i915: add component support Date: Tue, 9 Dec 2014 18:15:54 +0200 Message-ID: <1418141755-22672-2-git-send-email-imre.deak@intel.com> References: <1418141755-22672-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1418141755-22672-1-git-send-email-imre.deak@intel.com> In-Reply-To: <1418118078-3676-2-git-send-email-imre.deak@intel.com> References: <1418118078-3676-2-git-send-email-imre.deak@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, alsa-devel@alsa-project.org, Takashi Iwai Cc: Jani Nikula , Daniel Vetter List-Id: alsa-devel@alsa-project.org UmVnaXN0ZXIgYSBjb21wb25lbnQgdG8gYmUgdXNlZCB0byBpbnRlcmZhY2Ugd2l0aCB0aGUgc25k X2hkYV9pbnRlbApkcml2ZXIuIFRoaXMgaXMgbWVhbnQgdG8gcmVwbGFjZSB0aGUgc2FtZSBpbnRl cmZhY2UgdGhhdCBpcyBjdXJyZW50bHkKYmFzZWQgb24gbW9kdWxlIHN5bWJvbCBsb29rdXAuCgp2 MjoKLSBjaGFuZ2Ugcm9sZXMgYmV0d2VlbiB0aGUgaGRhIGFuZCBpOTE1IGNvbXBvbmVudHMgKERh bmllbCkKLSBhZGQgdGhlIGltcGxlbWVudGF0aW9uIHRvIGEgbmV3IGZpbGUgKEphbmkpCi0gdXNl IGJldHRlciBuYW1lc3BhY2luZyAoSmFuaSkKdjM6Ci0gbW92ZSB0aGUgaW1wbGVtZW50YXRpb24g dG8gaW50ZWxfYXVkaW8uYyAoRGFuaWVsKQotIHJlbmFtZSBkaXNwbGF5X2NvbXBvbmVudCB0byBh dWRpb19jb21wb25lbnQgKERhbmllbCkKLSBhZGQga2VybmVsZG9jIChEYW5pZWwpCgpTaWduZWQt b2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9jb21wb25lbnQuYyB8ICAyNyArKysrKysrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZG1hLmMgICAgICAgfCAgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggICAgICAgfCAgIDMgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8u YyAgICB8IDExMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgIHwgICAyICsKIGluY2x1ZGUvZHJtL2k5MTVfY29t cG9uZW50LmggICAgICAgICAgfCAgMzggKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE4 NCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9jb21wb25lbnQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2k5MTVfY29t cG9uZW50LmgKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NvbXBvbmVu dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jb21wb25lbnQuYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWRkMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9jb21wb25lbnQuYwpAQCAtMCwwICsxLDI3IEBACisvKgorICog Q29weXJpZ2h0IMKpIDIwMTQgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlz IGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcg YQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24g ZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhv dXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBl cm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcg dGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRI RSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICog VEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s IERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ TkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVu dC5oPgorI2luY2x1ZGUgPGRybS9pOTE1X2NvbXBvbmVudC5oPgorI2luY2x1ZGUgImludGVsX2Ry di5oIgorCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwppbmRleCA4ODdkODhmLi5mNjMzNGQwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZG1hLmMKQEAgLTgzMCw2ICs4MzAsOCBAQCBpbnQgaTkxNV9kcml2ZXJf bG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCiAJaW50 ZWxfcnVudGltZV9wbV9lbmFibGUoZGV2X3ByaXYpOwogCisJaTkxNV9hdWRpb19jb21wb25lbnRf aW5pdChkZXZfcHJpdik7CisKIAlyZXR1cm4gMDsKIAogb3V0X3Bvd2VyX3dlbGw6CkBAIC04NzAs NiArODcyLDggQEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CiAJaW50IHJldDsKIAorCWk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAoZGV2X3ByaXYpOwor CiAJcmV0ID0gaTkxNV9nZW1fc3VzcGVuZChkZXYpOwogCWlmIChyZXQpIHsKIAkJRFJNX0VSUk9S KCJmYWlsZWQgdG8gaWRsZSBoYXJkd2FyZTogJWRcbiIsIHJldCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAppbmRleCAwOTYxZDdmLi4zYzJkOWM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTE3MTMsNiArMTcxMyw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgZHJt X3Byb3BlcnR5ICpicm9hZGNhc3RfcmdiX3Byb3BlcnR5OwogCXN0cnVjdCBkcm1fcHJvcGVydHkg KmZvcmNlX2F1ZGlvX3Byb3BlcnR5OwogCisJLyogaGRhL2k5MTUgYXVkaW8gY29tcG9uZW50ICov CisJYm9vbCBhdWRpb19jb21wb25lbnRfcmVnaXN0ZXJlZDsKKwogCXVpbnQzMl90IGh3X2NvbnRl eHRfc2l6ZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGNvbnRleHRfbGlzdDsKIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F1ZGlvLmMKaW5kZXggMmM3ZWQ1Yy4uZWU0MWI4OCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9hdWRpby5jCkBAIC0yMiw2ICsyMiw5IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tl cm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGRybS9pOTE1 X2NvbXBvbmVudC5oPgorI2luY2x1ZGUgImludGVsX2Rydi5oIgogCiAjaW5jbHVkZSA8ZHJtL2Ry bVAuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KQEAgLTQ2MSwzICs0NjQsMTEwIEBAIHZv aWQgaW50ZWxfaW5pdF9hdWRpbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlkZXZfcHJpdi0+ ZGlzcGxheS5hdWRpb19jb2RlY19kaXNhYmxlID0gaWxrX2F1ZGlvX2NvZGVjX2Rpc2FibGU7CiAJ fQogfQorCitzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0 IGRldmljZSAqZGV2KQoreworCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl90b19pOTE1KGRl diksIFBPV0VSX0RPTUFJTl9BVURJTyk7Cit9CisKK3N0YXRpYyB2b2lkIGk5MTVfYXVkaW9fY29t cG9uZW50X3B1dF9wb3dlcihzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJaW50ZWxfZGlzcGxheV9w b3dlcl9wdXQoZGV2X3RvX2k5MTUoZGV2KSwgUE9XRVJfRE9NQUlOX0FVRElPKTsKK30KKworLyog R2V0IENEQ0xLIGluIGtIeiAgKi8KK3N0YXRpYyBpbnQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0 X2NkY2xrX2ZyZXEoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldl90b19pOTE1KGRldik7CisJaW50IHJldDsKKworCWlmIChXQVJO X09OX09OQ0UoIUhBU19EREkoZGV2X3ByaXYpKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpbnRl bF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKKwlyZXQg PSBpbnRlbF9kZGlfZ2V0X2NkY2xrX2ZyZXEoZGV2X3ByaXYpOworCWludGVsX2Rpc3BsYXlfcG93 ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pOworCisJcmV0dXJuIHJldDsKK30K Kworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgaTkxNV9hdWRp b19jb21wb25lbnRfb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkuZ2V0X3Bvd2Vy CT0gaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyLAorCS5wdXRfcG93ZXIJPSBpOTE1X2F1 ZGlvX2NvbXBvbmVudF9wdXRfcG93ZXIsCisJLmdldF9jZGNsa19mcmVxCT0gaTkxNV9hdWRpb19j b21wb25lbnRfZ2V0X2NkY2xrX2ZyZXEsCit9OworCitzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29t cG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqaTkxNV9kZXYsCisJCQkJICAgICBzdHJ1Y3QgZGV2 aWNlICpoZGFfZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVu dCAqYWNvbXAgPSBkYXRhOworCisJaWYgKFdBUk5fT04oYWNvbXAtPm9wcyB8fCBhY29tcC0+ZGV2 KSkKKwkJcmV0dXJuIC1FRVhJU1Q7CisKKwlhY29tcC0+b3BzID0gJmk5MTVfYXVkaW9fY29tcG9u ZW50X29wczsKKwlhY29tcC0+ZGV2ID0gaTkxNV9kZXY7CisKKwlyZXR1cm4gMDsKK30KKworc3Rh dGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmk5MTVf ZGV2LAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpoZGFfZGV2LCB2b2lkICpkYXRhKQoreworCXN0cnVj dCBpOTE1X2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkYXRhOworCisJYWNvbXAtPm9wcyA9IE5V TEw7CisJYWNvbXAtPmRldiA9IE5VTEw7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9u ZW50X29wcyBpOTE1X2F1ZGlvX2NvbXBvbmVudF9iaW5kX29wcyA9IHsKKwkuYmluZAk9IGk5MTVf YXVkaW9fY29tcG9uZW50X2JpbmQsCisJLnVuYmluZAk9IGk5MTVfYXVkaW9fY29tcG9uZW50X3Vu YmluZCwKK307CisKKy8qKgorICogaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdCAtIGluaXRpYWxp emUgYW5kIHJlZ2lzdGVyIHRoZSBhdWRpbyBjb21wb25lbnQKKyAqIEBkZXZfcHJpdjogaTkxNSBk ZXZpY2UgaW5zdGFuY2UKKyAqCisgKiBUaGlzIHdpbGwgcmVnaXN0ZXIgd2l0aCB0aGUgY29tcG9u ZW50IGZyYW1ld29yayBhIGNoaWxkIGNvbXBvbmVudCB3aGljaAorICogd2lsbCBiaW5kIGR5bmFt aWNhbGx5IHRvIHRoZSBzbmRfaGRhX2ludGVsIGRyaXZlcidzIGNvcnJlc3BvbmRpbmcgbWFzdGVy CisgKiBjb21wb25lbnQgd2hlbiB0aGUgbGF0dGVyIGlzIHJlZ2lzdGVyZWQuIER1cmluZyBiaW5k aW5nIHRoZSBjaGlsZAorICogaW5pdGlhbGl6ZXMgYW4gaW5zdGFuY2Ugb2Ygc3RydWN0IGk5MTVf YXVkaW9fY29tcG9uZW50IHdoaWNoIGl0IHJlY2VpdmVzCisgKiBmcm9tIHRoZSBtYXN0ZXIuIFRo ZSBtYXN0ZXIgY2FuIHRoZW4gc3RhcnQgdG8gdXNlIHRoZSBpbnRlcmZhY2UgZGVmaW5lZCBieQor ICogdGhpcyBzdHJ1Y3QuIEVhY2ggc2lkZSBjYW4gYnJlYWsgdGhlIGJpbmRpbmcgYXQgYW55IHBv aW50IGJ5IGRlcmVnaXN0ZXJpbmcKKyAqIGl0cyBvd24gY29tcG9uZW50IGFmdGVyIHdoaWNoIGVh Y2ggc2lkZSdzIGNvbXBvbmVudCB1bmJpbmQgY2FsbGJhY2sgaXMKKyAqIGNhbGxlZC4KKyAqCisg KiBXZSBpZ25vcmUgYW55IGVycm9yIGR1cmluZyByZWdpc3RyYXRpb24gYW5kIGNvbnRpbnVlIHdp dGggcmVkdWNlZAorICogZnVuY3Rpb25hbGl0eSAoaS5lLiB3aXRob3V0IEhETUkgYXVkaW8pLgor ICovCit2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQoreworCWludCByZXQ7CisKKwlyZXQgPSBjb21wb25lbnRfYWRkKGRldl9w cml2LT5kZXYtPmRldiwgJmk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKTsKKwlpZiAocmV0 IDwgMCkgeworCQlEUk1fRVJST1IoImZhaWxlZCB0byBhZGQgYXVkaW8gY29tcG9uZW50ICglZClc biIsIHJldCk7CisJCS8qIGNvbnRpbnVlIHdpdGggcmVkdWNlZCBmdW5jdGlvbmFsaXR5ICovCisJ CXJldHVybjsKKwl9CisKKwlkZXZfcHJpdi0+YXVkaW9fY29tcG9uZW50X3JlZ2lzdGVyZWQgPSB0 cnVlOworfQorCisvKioKKyAqIGk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAgLSBkZXJlZ2lz dGVyIHRoZSBhdWRpbyBjb21wb25lbnQKKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgaW5zdGFu Y2UKKyAqCisgKiBEZXJlZ2lzdGVycyB0aGUgYXVkaW8gY29tcG9uZW50LCBicmVha2luZyBhbnkg ZXhpc3RpbmcgYmluZGluZyB0byB0aGUKKyAqIGNvcnJlc3BvbmRpbmcgc25kX2hkYV9pbnRlbCBk cml2ZXIncyBtYXN0ZXIgY29tcG9uZW50LgorICovCit2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50 X2NsZWFudXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWlmICghZGV2 X3ByaXYtPmF1ZGlvX2NvbXBvbmVudF9yZWdpc3RlcmVkKQorCQlyZXR1cm47CisKKwljb21wb25l bnRfZGVsKGRldl9wcml2LT5kZXYtPmRldiwgJmk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3Bz KTsKKwlkZXZfcHJpdi0+YXVkaW9fY29tcG9uZW50X3JlZ2lzdGVyZWQgPSBmYWxzZTsKK30KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggNjFhODhmYS4uNjE3MDFhNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKQEAgLTg3Myw2ICs4NzMsOCBAQCB2b2lkIGludGVsX2ZiX29ial9mbHVz aChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29sIHJldGlyZSk7CiB2b2lkIGlu dGVsX2luaXRfYXVkaW8oc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX2F1ZGlv X2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7CiB2b2lkIGludGVs X2F1ZGlvX2NvZGVjX2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwordm9p ZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cit2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIAogLyogaW50ZWxfZGlzcGxheS5jICovCiBib29sIGludGVs X2hhc19wZW5kaW5nX2ZiX3VucGluKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaCBiL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9u ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UyZjIyZQotLS0gL2Rl di9udWxsCisrKyBiL2luY2x1ZGUvZHJtL2k5MTVfY29tcG9uZW50LmgKQEAgLTAsMCArMSwzOCBA QAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE0IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisg KiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisg KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAo aW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAq CisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQg U0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig QU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpZm5kZWYgX0k5MTVf Q09NUE9ORU5UX0hfCisjZGVmaW5lIF9JOTE1X0NPTVBPTkVOVF9IXworCitzdHJ1Y3QgaTkxNV9h dWRpb19jb21wb25lbnQgeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKworCWNvbnN0IHN0cnVjdCBp OTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgeworCQlzdHJ1Y3QgbW9kdWxlICpvd25lcjsKKwkJdm9p ZCAoKmdldF9wb3dlcikoc3RydWN0IGRldmljZSAqKTsKKwkJdm9pZCAoKnB1dF9wb3dlcikoc3Ry dWN0IGRldmljZSAqKTsKKwkJaW50ICgqZ2V0X2NkY2xrX2ZyZXEpKHN0cnVjdCBkZXZpY2UgKik7 CisJfSAqb3BzOworfTsKKworI2VuZGlmIC8qIF9JOTE1X0NPTVBPTkVOVF9IXyAqLwotLSAKMS44 LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==