From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Stultz Subject: [PATCH 1/2 v4] drm/bridge: adv7511: Add Audio support. Date: Fri, 16 Sep 2016 16:17:51 -0700 Message-ID: <1474067872-32699-2-git-send-email-john.stultz@linaro.org> References: <1474067872-32699-1-git-send-email-john.stultz@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-x231.google.com (mail-pa0-x231.google.com [IPv6:2607:f8b0:400e:c03::231]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2DA416E083 for ; Fri, 16 Sep 2016 23:17:58 +0000 (UTC) Received: by mail-pa0-x231.google.com with SMTP id oz2so25467247pac.2 for ; Fri, 16 Sep 2016 16:17:58 -0700 (PDT) In-Reply-To: <1474067872-32699-1-git-send-email-john.stultz@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: lkml Cc: Guodong Xu , dri-devel@lists.freedesktop.org, Jose Abreu , Wolfram Sang , Mark Brown , Laurent Pinchart , Zhangfei Gao , Andy Green , Srinivas Kandagatla , Dave Long List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgdG8gQXVkaW8gZm9yIGJvdGggYWR2NzUxMSBhbmQgYWR2 NzUzMwpicmlkZ2UgY2hpcHMuCgpUaGlzIHBhdGNoIHdhcyBvcmlnaW5hbGx5IGZyb20gWzFdIGJ5 IExhcnMtUGV0ZXIgQ2xhdXNlbiA8bGFyc0BtZXRhZm9vLmRlPgphbmQgd2FzIGFkYXB0ZWQgYnkg QXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4gYW5kClNyaW5pdmFzIEthbmRh Z2F0bGEgPHNyaW5pdmFzLmthbmRhZ2F0bGFAbGluYXJvLm9yZz4uCgpUaGVuIEkgaGVhdmlseSBy ZXdvcmtlZCBpdCB0byB1c2UgdGhlIGhkbWktY29kZWMgZHJpdmVyLiBBbmQgYWxzbwpmb2xkZWQg aW4gc29tZSBhdWRpbyBwYWNrZXQgaW5pdGlhbGl6YXRpb24gZG9uZSBieSBBbmR5IEdyZWVuCjxh bmR5LmdyZWVuQGxpbmFyby5vcmc+LiBTbyBjcmVkaXQgdG8gdGhlbSwgYnV0IGJsYW1lIHRvIG1l LgoKWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmFsb2dkZXZpY2VzaW5jL2xpbnV4L2Jsb2IveGNv bW1fenlucS9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTFfYXVkaW8uYwoKQ2M6IERhdmlkIEFp cmxpZSA8YWlybGllZEBsaW51eC5pZT4KQ2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1 cm9yYS5vcmc+CkNjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25i b2FyZC5jb20+CkNjOiBXb2xmcmFtIFNhbmcgPHdzYStyZW5lc2FzQHNhbmctZW5naW5lZXJpbmcu Y29tPgpDYzogU3Jpbml2YXMgS2FuZGFnYXRsYSA8c3Jpbml2YXMua2FuZGFnYXRsYUBsaW5hcm8u b3JnPgpDYzogIlZpbGxlIFN5cmrDpGzDpCIgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t PgpDYzogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AZnJlZS1lbGVjdHJvbnMuY29t PgpDYzogQW5keSBHcmVlbiA8YW5keUB3YXJtY2F0LmNvbT4KQ2M6IERhdmUgTG9uZyA8ZGF2ZS5s b25nQGxpbmFyby5vcmc+CkNjOiBHdW9kb25nIFh1IDxndW9kb25nLnh1QGxpbmFyby5vcmc+CkNj OiBaaGFuZ2ZlaSBHYW8gPHpoYW5nZmVpLmdhb0BsaW5hcm8ub3JnPgpDYzogTWFyayBCcm93biA8 YnJvb25pZUBrZXJuZWwub3JnPgpDYzogTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1ldGFmb28u ZGU+CkNjOiBKb3NlIEFicmV1IDxqb2FicmV1QHN5bm9wc3lzLmNvbT4KQ2M6IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKQWNrZWQtYnk6IExhcnMtUGV0ZXIgQ2xhdXNlbiA8bGFyc0Bt ZXRhZm9vLmRlPgpTaWduZWQtb2ZmLWJ5OiBKb2huIFN0dWx0eiA8am9obi5zdHVsdHpAbGluYXJv Lm9yZz4KLS0tCnY0OgoqIEtjb25maWcgdHdlYWtzIHN1Z2dlc3RlZCBieSBMYXJzLVBldGVyIENs YXVzZW4KdjM6CiogQWxsb3dlZCBhdWRpbyBzdXBwb3J0IHRvIGJlIGNvbmZpZ3VyZWQgaW4gb3Ig b3V0LCBhcyBzdWdnZXN0ZWQgYnkgTGF1cmVudAoqIE1pbm9yIGNsZWFudXBzIHN1Z2dlc3RlZCBi eSBMYXVyZW50CiogRm9sZGVkIGluIEFuZHkncyBhdWRpbyBwYWNrZXQgaW5pdGlhbGl6YXRpb24g cGF0Y2gsIGFzIHN1Z2dlc3RlZCBieSBBcmNoaXQKIApkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvS2NvbmZpZyAgICAgICAgIHwgICA4ICsKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2 NzUxMS9NYWtlZmlsZSAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3 NTExL2Fkdjc1MTEuaCAgICAgICB8ICAxNiArKwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3 NTExL2Fkdjc1MTFfYXVkaW8uYyB8IDIxMyArKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyAgIHwgICA0ICsKIDUgZmls ZXMgY2hhbmdlZCwgMjQyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9hdWRpby5jCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2Fkdjc1MTEvS2NvbmZpZwppbmRleCBkMmIwNDk5Li4yZmVkNTY3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2Fkdjc1MTEvS2NvbmZpZwpAQCAtNiw2ICs2LDE0IEBAIGNvbmZpZyBEUk1fSTJD X0FEVjc1MTEKIAloZWxwCiAJICBTdXBwb3J0IGZvciB0aGUgQW5hbG9nIERldmljZSBBRFY3NTEx KFcpIGFuZCBBRFY3NTEzIEhETUkgZW5jb2RlcnMuCiAKK2NvbmZpZyBEUk1fSTJDX0FEVjc1MTFf QVVESU8KKwlib29sICJBRFY3NTExIEhETUkgQXVkaW8gZHJpdmVyIgorCWRlcGVuZHMgb24gRFJN X0kyQ19BRFY3NTExICYmIFNORF9TT0MKKwlzZWxlY3QgU05EX1NPQ19IRE1JX0NPREVDCisJaGVs cAorCSAgU3VwcG9ydCB0aGUgQURWNzUxMSBIRE1JIEF1ZGlvIGludGVyZmFjZS4gVGhpcyBpcyB1 c2VkIGluCisJICBjb25qdW5jdGlvbiB3aXRoIHRoZSBBVjc1MTEgIEhETUkgZHJpdmVyLgorCiBj b25maWcgRFJNX0kyQ19BRFY3NTMzCiAJYm9vbCAiQURWNzUzMyBlbmNvZGVyIgogCWRlcGVuZHMg b24gRFJNX0kyQ19BRFY3NTExCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvTWFrZWZpbGUK aW5kZXggOTAxOTMyNy4uNWJhNjc1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9hZHY3NTExL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9N YWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKIGFkdjc1MTEteSA6PSBhZHY3NTExX2Rydi5vCithZHY3 NTExLSQoQ09ORklHX0RSTV9JMkNfQURWNzUxMV9BVURJTykgKz0gYWR2NzUxMV9hdWRpby5vCiBh ZHY3NTExLSQoQ09ORklHX0RSTV9JMkNfQURWNzUzMykgKz0gYWR2NzUzMy5vCiBvYmotJChDT05G SUdfRFJNX0kyQ19BRFY3NTExKSArPSBhZHY3NTExLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmggYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvYWR2NzUxMS5oCmluZGV4IDE2MWM5MjMuLjk5MmQ3NmMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEuaApAQCAtMzA5LDYgKzMwOSw4IEBAIHN0cnVjdCBhZHY3 NTExIHsKIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBjdXJyX21vZGU7CiAKIAl1bnNpZ25lZCBp bnQgZl90bWRzOworCXVuc2lnbmVkIGludCBmX2F1ZGlvOworCXVuc2lnbmVkIGludCBhdWRpb19z b3VyY2U7CiAKIAl1bnNpZ25lZCBpbnQgY3VycmVudF9lZGlkX3NlZ21lbnQ7CiAJdWludDhfdCBl ZGlkX2J1ZlsyNTZdOwpAQCAtMzM0LDYgKzMzNiw3IEBAIHN0cnVjdCBhZHY3NTExIHsKIAlib29s IHVzZV90aW1pbmdfZ2VuOwogCiAJZW51bSBhZHY3NTExX3R5cGUgdHlwZTsKKwlzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICphdWRpb19wZGV2OwogfTsKIAogI2lmZGVmIENPTkZJR19EUk1fSTJDX0FE Vjc1MzMKQEAgLTM4OSw0ICszOTIsMTcgQEAgc3RhdGljIGlubGluZSBpbnQgYWR2NzUzM19wYXJz ZV9kdChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLCBzdHJ1Y3QgYWR2NzUxMSAqYWR2KQogfQogI2Vu ZGlmCiAKKyNpZmRlZiBDT05GSUdfRFJNX0kyQ19BRFY3NTExX0FVRElPCitpbnQgYWR2NzUxMV9h dWRpb19pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpOwor dm9pZCBhZHY3NTExX2F1ZGlvX2V4aXQoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpOworI2Vsc2Ug LypDT05GSUdfRFJNX0kyQ19BRFY3NTExX0FVRElPICovCitzdGF0aWMgaW5saW5lIGludCBhZHY3 NTExX2F1ZGlvX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUx MSkKK3sKKwlyZXR1cm4gMDsKK30KK3N0YXRpYyBpbmxpbmUgdm9pZCBhZHY3NTExX2F1ZGlvX2V4 aXQoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpCit7Cit9CisjZW5kaWYgLyogQ09ORklHX0RSTV9J MkNfQURWNzUxMV9BVURJTyAqLworCiAjZW5kaWYgLyogX19EUk1fSTJDX0FEVjc1MTFfSF9fICov CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9hdWRp by5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfYXVkaW8uYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2UyOWE1Ci0tLSAvZGV2L251bGwKKysr IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfYXVkaW8uYwpAQCAtMCww ICsxLDIxMyBAQAorLyoKKyAqIEFuYWxvZyBEZXZpY2VzIEFEVjc1MTEgSERNSSB0cmFuc21pdHRl ciBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAxMiBBbmFsb2cgRGV2aWNlcyBJbmMuCisgKiBD b3B5cmlnaHQgKGMpIDIwMTYsIExpbmFybyBMaW1pdGVkCisgKgorICogTGljZW5zZWQgdW5kZXIg dGhlIEdQTC0yLgorICovCisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291 bmQvaGRtaS1jb2RlYy5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5k L3NvYy5oPgorCisjaW5jbHVkZSAiYWR2NzUxMS5oIgorCitzdGF0aWMgdm9pZCBhZHY3NTExX2Nh bGNfY3RzX24odW5zaWduZWQgaW50IGZfdG1kcywgdW5zaWduZWQgaW50IGZzLAorCQkJICAgICAg IHVuc2lnbmVkIGludCAqY3RzLCB1bnNpZ25lZCBpbnQgKm4pCit7CisJc3dpdGNoIChmcykgewor CWNhc2UgMzIwMDA6CisJCSpuID0gNDA5NjsKKwkJYnJlYWs7CisJY2FzZSA0NDEwMDoKKwkJKm4g PSA2MjcyOworCQlicmVhazsKKwljYXNlIDQ4MDAwOgorCQkqbiA9IDYxNDQ7CisJCWJyZWFrOwor CX0KKworCSpjdHMgPSAoKGZfdG1kcyAqICpuKSAvICgxMjggKiBmcykpICogMTAwMDsKK30KKwor c3RhdGljIGludCBhZHY3NTExX3VwZGF0ZV9jdHNfbihzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSkK K3sKKwl1bnNpZ25lZCBpbnQgY3RzID0gMDsKKwl1bnNpZ25lZCBpbnQgbiA9IDA7CisKKwlhZHY3 NTExX2NhbGNfY3RzX24oYWR2NzUxMS0+Zl90bWRzLCBhZHY3NTExLT5mX2F1ZGlvLCAmY3RzLCAm bik7CisKKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19OMCwgKG4g Pj4gMTYpICYgMHhmKTsKKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JF R19OMSwgKG4gPj4gOCkgJiAweGZmKTsKKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBB RFY3NTExX1JFR19OMiwgbiAmIDB4ZmYpOworCisJcmVnbWFwX3dyaXRlKGFkdjc1MTEtPnJlZ21h cCwgQURWNzUxMV9SRUdfQ1RTX01BTlVBTDAsCisJCSAgICAgKGN0cyA+PiAxNikgJiAweGYpOwor CXJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0NUU19NQU5VQUwxLAor CQkgICAgIChjdHMgPj4gOCkgJiAweGZmKTsKKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFw LCBBRFY3NTExX1JFR19DVFNfTUFOVUFMMiwKKwkJICAgICBjdHMgJiAweGZmKTsKKworCXJldHVy biAwOworfQorCitpbnQgYWR2NzUxMV9oZG1pX2h3X3BhcmFtcyhzdHJ1Y3QgZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCisJCQkJc3RydWN0IGhkbWlfY29kZWNfZGFpZm10ICpmbXQsCisJCQkJc3Ry dWN0IGhkbWlfY29kZWNfcGFyYW1zICpocGFybXMpCit7CisJc3RydWN0IGFkdjc1MTEgKmFkdjc1 MTEgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgYXVkaW9fc291cmNlLCBp MnNfZm9ybWF0ID0gMDsKKwl1bnNpZ25lZCBpbnQgaW52ZXJ0X2Nsb2NrOworCXVuc2lnbmVkIGlu dCByYXRlOworCXVuc2lnbmVkIGludCBsZW47CisKKwlzd2l0Y2ggKGhwYXJtcy0+c2FtcGxlX3Jh dGUpIHsKKwljYXNlIDMyMDAwOgorCQlyYXRlID0gQURWNzUxMV9TQU1QTEVfRlJFUV8zMjAwMDsK KwkJYnJlYWs7CisJY2FzZSA0NDEwMDoKKwkJcmF0ZSA9IEFEVjc1MTFfU0FNUExFX0ZSRVFfNDQx MDA7CisJCWJyZWFrOworCWNhc2UgNDgwMDA6CisJCXJhdGUgPSBBRFY3NTExX1NBTVBMRV9GUkVR XzQ4MDAwOworCQlicmVhazsKKwljYXNlIDg4MjAwOgorCQlyYXRlID0gQURWNzUxMV9TQU1QTEVf RlJFUV84ODIwMDsKKwkJYnJlYWs7CisJY2FzZSA5NjAwMDoKKwkJcmF0ZSA9IEFEVjc1MTFfU0FN UExFX0ZSRVFfOTYwMDA7CisJCWJyZWFrOworCWNhc2UgMTc2NDAwOgorCQlyYXRlID0gQURWNzUx MV9TQU1QTEVfRlJFUV8xNzY0MDA7CisJCWJyZWFrOworCWNhc2UgMTkyMDAwOgorCQlyYXRlID0g QURWNzUxMV9TQU1QTEVfRlJFUV8xOTIwMDA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVy biAtRUlOVkFMOworCX0KKworCXN3aXRjaCAoaHBhcm1zLT5zYW1wbGVfd2lkdGgpIHsKKwljYXNl IDE2OgorCQlsZW4gPSBBRFY3NTExX0kyU19TQU1QTEVfTEVOXzE2OworCQlicmVhazsKKwljYXNl IDE4OgorCQlsZW4gPSBBRFY3NTExX0kyU19TQU1QTEVfTEVOXzE4OworCQlicmVhazsKKwljYXNl IDIwOgorCQlsZW4gPSBBRFY3NTExX0kyU19TQU1QTEVfTEVOXzIwOworCQlicmVhazsKKwljYXNl IDI0OgorCQlsZW4gPSBBRFY3NTExX0kyU19TQU1QTEVfTEVOXzI0OworCQlicmVhazsKKwlkZWZh dWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlzd2l0Y2ggKGZtdC0+Zm10KSB7CisJY2Fz ZSBIRE1JX0kyUzoKKwkJYXVkaW9fc291cmNlID0gQURWNzUxMV9BVURJT19TT1VSQ0VfSTJTOwor CQlpMnNfZm9ybWF0ID0gQURWNzUxMV9JMlNfRk9STUFUX0kyUzsKKwkJYnJlYWs7CisJY2FzZSBI RE1JX1JJR0hUX0o6CisJCWF1ZGlvX3NvdXJjZSA9IEFEVjc1MTFfQVVESU9fU09VUkNFX0kyUzsK KwkJaTJzX2Zvcm1hdCA9IEFEVjc1MTFfSTJTX0ZPUk1BVF9SSUdIVF9KOworCQlicmVhazsKKwlj YXNlIEhETUlfTEVGVF9KOgorCQlhdWRpb19zb3VyY2UgPSBBRFY3NTExX0FVRElPX1NPVVJDRV9J MlM7CisJCWkyc19mb3JtYXQgPSBBRFY3NTExX0kyU19GT1JNQVRfTEVGVF9KOworCQlicmVhazsK KwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpbnZlcnRfY2xvY2sgPSBmbXQt PmJpdF9jbGtfaW52OworCisJcmVnbWFwX3VwZGF0ZV9iaXRzKGFkdjc1MTEtPnJlZ21hcCwgQURW NzUxMV9SRUdfQVVESU9fU09VUkNFLCAweDcwLAorCQkJICAgYXVkaW9fc291cmNlIDw8IDQpOwor CXJlZ21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0FVRElPX0NP TkZJRywgQklUKDYpLAorCQkJICAgaW52ZXJ0X2Nsb2NrIDw8IDYpOworCXJlZ21hcF91cGRhdGVf Yml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0kyU19DT05GSUcsIDB4MDMsCisJCQkg ICBpMnNfZm9ybWF0KTsKKworCWFkdjc1MTEtPmF1ZGlvX3NvdXJjZSA9IGF1ZGlvX3NvdXJjZTsK KworCWFkdjc1MTEtPmZfYXVkaW8gPSBocGFybXMtPnNhbXBsZV9yYXRlOworCisJYWR2NzUxMV91 cGRhdGVfY3RzX24oYWR2NzUxMSk7CisKKwlyZWdtYXBfdXBkYXRlX2JpdHMoYWR2NzUxMS0+cmVn bWFwLCBBRFY3NTExX1JFR19BVURJT19DRkczLAorCQkJICAgQURWNzUxMV9BVURJT19DRkczX0xF Tl9NQVNLLCBsZW4pOworCXJlZ21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1 MTFfUkVHX0kyQ19GUkVRX0lEX0NGRywKKwkJCSAgIEFEVjc1MTFfSTJDX0ZSRVFfSURfQ0ZHX1JB VEVfTUFTSywgcmF0ZSA8PCA0KTsKKwlyZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCAweDcz LCAweDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXVkaW9fc3RhcnR1cChzdHJ1 Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEg PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCXJlZ21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5y ZWdtYXAsIEFEVjc1MTFfUkVHX0FVRElPX0NPTkZJRywKKwkJCQlCSVQoNyksIDApOworCisJLyog aGlkZSBBdWRpbyBpbmZvZnJhbWUgdXBkYXRlcyAqLworCXJlZ21hcF91cGRhdGVfYml0cyhhZHY3 NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0lORk9GUkFNRV9VUERBVEUsCisJCQkJQklUKDUpLCBC SVQoNSkpOworCS8qIGVuYWJsZSBOL0NUUywgZW5hYmxlIEF1ZGlvIHNhbXBsZSBwYWNrZXRzICov CisJcmVnbWFwX3VwZGF0ZV9iaXRzKGFkdjc1MTEtPnJlZ21hcCwgQURWNzUxMV9SRUdfUEFDS0VU X0VOQUJMRTEsCisJCQkJQklUKDUpLCBCSVQoNSkpOworCS8qIGVuYWJsZSBOL0NUUyAqLworCXJl Z21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX1BBQ0tFVF9FTkFC TEUxLAorCQkJCUJJVCg2KSwgQklUKDYpKTsKKwkvKiBub3QgY29weXJpZ2h0ZWQgKi8KKwlyZWdt YXBfdXBkYXRlX2JpdHMoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19BVURJT19DRkcxLAor CQkJCUJJVCg1KSwgQklUKDUpKTsKKwkvKiBlbmFibGUgYXVkaW8gaW5mb2ZyYW1lcyAqLworCXJl Z21hcF91cGRhdGVfYml0cyhhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX1BBQ0tFVF9FTkFC TEUxLAorCQkJCUJJVCgzKSwgQklUKDMpKTsKKwkvKiBBViBtdXRlIGRpc2FibGUgKi8KKwlyZWdt YXBfdXBkYXRlX2JpdHMoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19HQygwKSwKKwkJCQlC SVQoNykgfCBCSVQoNiksIEJJVCg3KSk7CisJLyogdXNlIEF1ZGlvIGluZm9mcmFtZSB1cGRhdGVk IGluZm8gKi8KKwlyZWdtYXBfdXBkYXRlX2JpdHMoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JF R19HQygxKSwKKwkJCQlCSVQoNSksIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBh dWRpb19zaHV0ZG93bihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7Cit9CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgaGRtaV9jb2RlY19vcHMgYWR2NzUxMV9jb2RlY19vcHMgPSB7CisJ Lmh3X3BhcmFtcwk9IGFkdjc1MTFfaGRtaV9od19wYXJhbXMsCisJLmF1ZGlvX3NodXRkb3duID0g YXVkaW9fc2h1dGRvd24sCisJLmF1ZGlvX3N0YXJ0dXAJPSBhdWRpb19zdGFydHVwLAorfTsKKwor c3RhdGljIHN0cnVjdCBoZG1pX2NvZGVjX3BkYXRhIGNvZGVjX2RhdGEgPSB7CisJLm9wcyA9ICZh ZHY3NTExX2NvZGVjX29wcywKKwkubWF4X2kyc19jaGFubmVscyA9IDIsCisJLmkycyA9IDEsCit9 OworCitpbnQgYWR2NzUxMV9hdWRpb19pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGFk djc1MTEgKmFkdjc1MTEpCit7CisJYWR2NzUxMS0+YXVkaW9fcGRldiA9IHBsYXRmb3JtX2Rldmlj ZV9yZWdpc3Rlcl9kYXRhKGRldiwKKwkJCQkJSERNSV9DT0RFQ19EUlZfTkFNRSwKKwkJCQkJUExB VEZPUk1fREVWSURfQVVUTywKKwkJCQkJJmNvZGVjX2RhdGEsCisJCQkJCXNpemVvZihjb2RlY19k YXRhKSk7CisJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhhZHY3NTExLT5hdWRpb19wZGV2KTsKK30K Kwordm9pZCBhZHY3NTExX2F1ZGlvX2V4aXQoc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpCit7CisJ aWYgKGFkdjc1MTEtPmF1ZGlvX3BkZXYpIHsKKwkJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIo YWR2NzUxMS0+YXVkaW9fcGRldik7CisJCWFkdjc1MTEtPmF1ZGlvX3BkZXYgPSBOVUxMOworCX0K K30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMKaW5kZXgg ZWM4ZmIyZS4uZDBiMGM2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3 NTExL2Fkdjc1MTFfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fk djc1MTFfZHJ2LmMKQEAgLTEwMzcsNiArMTAzNyw4IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQp CiAJCWdvdG8gZXJyX3VucmVnaXN0ZXJfY2VjOwogCX0KIAorCWFkdjc1MTFfYXVkaW9faW5pdChk ZXYsIGFkdjc1MTEpOworCiAJcmV0dXJuIDA7CiAKIGVycl91bnJlZ2lzdGVyX2NlYzoKQEAgLTEw NTgsNiArMTA2MCw4IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9yZW1vdmUoc3RydWN0IGkyY19jbGll bnQgKmkyYykKIAogCWRybV9icmlkZ2VfcmVtb3ZlKCZhZHY3NTExLT5icmlkZ2UpOwogCisJYWR2 NzUxMV9hdWRpb19leGl0KGFkdjc1MTEpOworCiAJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGFkdjc1 MTEtPmkyY19lZGlkKTsKIAogCWtmcmVlKGFkdjc1MTEtPmVkaWQpOwotLSAKMS45LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=