From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephane Viau Subject: [PATCH 10/10] drm/msm/mdp5: Basic support for MDP5 v1.7 (MSM8996) Date: Tue, 15 Sep 2015 08:41:53 -0400 Message-ID: <1442320913-3248-11-git-send-email-sviau@codeaurora.org> References: <1442320913-3248-1-git-send-email-sviau@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1442320913-3248-1-git-send-email-sviau@codeaurora.org> 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 Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyBjaGFuZ2UgYWRkcyB0aGUgYmFzaWMgTURQNSBzdXBwb3J0IGZvciBNU004OTk2LgoKU2ln bmVkLW9mZi1ieTogU3RlcGhhbmUgVmlhdSA8c3ZpYXVAY29kZWF1cm9yYS5vcmc+Ci0tLQogRG9j dW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RybS9tc20vbWRwLnR4dCB8ICAyICsKIGRy aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcuYyAgICAgICAgICAgfCA5NSArKysr KysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2Nm Zy5oICAgICAgICAgICB8ICA5ICsrLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2ttcy5jICAgICAgICAgICB8IDE4ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfa21zLmggICAgICAgICAgIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X3BsYW5lLmMgICAgICAgICB8IDE4ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHBfa21zLmggICAgICAgICAgICAgICAgIHwgIDUgKysKIDcgZmlsZXMgY2hhbmdlZCwgMTM1 IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRp b24vZGV2aWNldHJlZS9iaW5kaW5ncy9kcm0vbXNtL21kcC50eHQgYi9Eb2N1bWVudGF0aW9uL2Rl dmljZXRyZWUvYmluZGluZ3MvZHJtL21zbS9tZHAudHh0CmluZGV4IDk5YmE3NjQuLjAxMTRhODcg MTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kcm0vbXNtL21k cC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RybS9tc20vbWRw LnR4dApAQCAtMjIsNiArMjIsNyBAQCBPcHRpb25hbCBwcm9wZXJ0aWVzOgogICAqICJpb21tdV9j bGsiCiAgICogIm1tYWdpY19jbGsiCiAtIG1tYWdpYy1zdXBwbHk6IHBoYW5kbGUgZm9yIG1tYWdp YyBHRFNDIHJlZ3VsYXRvciB1c2VkIGR1cmluZyBJT01NVSB0cmFuc2xhdGlvbgorLSBpb21tdXM6 IHBoYW5kbGUgZm9yIElPTU1VIHYyIGRldmljZQogCiBFeGFtcGxlOgogCkBAIC00OCw1ICs0OSw2 IEBAIEV4YW1wbGU6CiAJCSAgICA8Jm1tY2MgVFZfU1JDPiwKIAkJICAgIDwmbW1jYyBIRE1JX1RW X0NMSz4sCiAJCSAgICA8Jm1tY2MgTURQX1RWX0NMSz47CisJCWlvbW11cyA9IDwmbWRwX3NtbXUg MD47CiAJfTsKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21k cDVfY2ZnLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY2ZnLmMKaW5kZXgg YTFlMjZmMi4uYmIxMjI1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2NmZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcu YwpAQCAtMjcsNiArMjcsOCBAQCBjb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgbXNtOHg3NHYxX2Nv bmZpZyA9IHsKIAkubWRwID0gewogCQkuY291bnQgPSAxLAogCQkuYmFzZSA9IHsgMHgwMDEwMCB9 LAorCQkuY2FwcyA9IE1EUF9DQVBfU01QIHwKKwkJCTAsCiAJfSwKIAkuc21wID0gewogCQkubW1i X2NvdW50ID0gMjIsCkBAIC05Niw2ICs5OCw4IEBAIGNvbnN0IHN0cnVjdCBtZHA1X2NmZ19odyBt c204eDc0djJfY29uZmlnID0gewogCS5tZHAgPSB7CiAJCS5jb3VudCA9IDEsCiAJCS5iYXNlID0g eyAweDAwMTAwIH0sCisJCS5jYXBzID0gTURQX0NBUF9TTVAgfAorCQkJMCwKIAl9LAogCS5zbXAg PSB7CiAJCS5tbWJfY291bnQgPSAyMiwKQEAgLTE2NSw2ICsxNjksOCBAQCBjb25zdCBzdHJ1Y3Qg bWRwNV9jZmdfaHcgYXBxODA4NF9jb25maWcgPSB7CiAJLm1kcCA9IHsKIAkJLmNvdW50ID0gMSwK IAkJLmJhc2UgPSB7IDB4MDAxMDAgfSwKKwkJLmNhcHMgPSBNRFBfQ0FQX1NNUCB8CisJCQkwLAog CX0sCiAJLnNtcCA9IHsKIAkJLm1tYl9jb3VudCA9IDQ0LApAQCAtMjQyLDYgKzI0OCw4IEBAIGNv bnN0IHN0cnVjdCBtZHA1X2NmZ19odyBtc204eDE2X2NvbmZpZyA9IHsKIAkubWRwID0gewogCQku Y291bnQgPSAxLAogCQkuYmFzZSA9IHsgMHgwMTAwMCB9LAorCQkuY2FwcyA9IE1EUF9DQVBfU01Q IHwKKwkJCTAsCiAJfSwKIAkuc21wID0gewogCQkubW1iX2NvdW50ID0gOCwKQEAgLTMwMSw2ICsz MDksOCBAQCBjb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgbXNtOHg5NF9jb25maWcgPSB7CiAJLm1k cCA9IHsKIAkJLmNvdW50ID0gMSwKIAkJLmJhc2UgPSB7IDB4MDEwMDAgfSwKKwkJLmNhcHMgPSBN RFBfQ0FQX1NNUCB8CisJCQkwLAogCX0sCiAJLnNtcCA9IHsKIAkJLm1tYl9jb3VudCA9IDQ0LApA QCAtMzcwLDcgKzM4MCw4OSBAQCBjb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgbXNtOHg5NF9jb25m aWcgPSB7CiAJCQlbM10gPSBJTlRGX0hETUksCiAJCX0sCiAJfSwKLQkubWF4X2NsayA9IDMyMDAw MDAwMCwKKwkubWF4X2NsayA9IDQwMDAwMDAwMCwKK307CisKK2NvbnN0IHN0cnVjdCBtZHA1X2Nm Z19odyBtc204eDk2X2NvbmZpZyA9IHsKKwkubmFtZSA9ICJtc204eDk2IiwKKwkubWRwID0gewor CQkuY291bnQgPSAxLAorCQkuYmFzZSA9IHsgMHgwMTAwMCB9LAorCQkuY2FwcyA9IE1EUF9DQVBf RFNDIHwKKwkJCU1EUF9DQVBfQ0RNIHwKKwkJCTAsCisJfSwKKwkuY3RsID0geworCQkuY291bnQg PSA1LAorCQkuYmFzZSA9IHsgMHgwMjAwMCwgMHgwMjIwMCwgMHgwMjQwMCwgMHgwMjYwMCwgMHgw MjgwMCB9LAorCQkuZmx1c2hfaHdfbWFzayA9IDB4ZjRmZmZmZmYsCisJfSwKKwkucGlwZV92aWcg PSB7CisJCS5jb3VudCA9IDQsCisJCS5iYXNlID0geyAweDA1MDAwLCAweDA3MDAwLCAweDA5MDAw LCAweDBiMDAwIH0sCisJCS5jYXBzID0gTURQX1BJUEVfQ0FQX0hGTElQCXwKKwkJCU1EUF9QSVBF X0NBUF9WRkxJUAl8CisJCQlNRFBfUElQRV9DQVBfU0NBTEUJfAorCQkJTURQX1BJUEVfQ0FQX0NT Qwl8CisJCQlNRFBfUElQRV9DQVBfREVDSU1BVElPTgl8CisJCQlNRFBfUElQRV9DQVBfU1dfUElY X0VYVAl8CisJCQkwLAorCX0sCisJLnBpcGVfcmdiID0geworCQkuY291bnQgPSA0LAorCQkuYmFz ZSA9IHsgMHgxNTAwMCwgMHgxNzAwMCwgMHgxOTAwMCwgMHgxYjAwMCB9LAorCQkuY2FwcyA9IE1E UF9QSVBFX0NBUF9IRkxJUAl8CisJCQlNRFBfUElQRV9DQVBfVkZMSVAJfAorCQkJTURQX1BJUEVf Q0FQX1NDQUxFCXwKKwkJCU1EUF9QSVBFX0NBUF9ERUNJTUFUSU9OCXwKKwkJCU1EUF9QSVBFX0NB UF9TV19QSVhfRVhUCXwKKwkJCTAsCisJfSwKKwkucGlwZV9kbWEgPSB7CisJCS5jb3VudCA9IDIs CisJCS5iYXNlID0geyAweDI1MDAwLCAweDI3MDAwIH0sCisJCS5jYXBzID0gTURQX1BJUEVfQ0FQ X0hGTElQCXwKKwkJCU1EUF9QSVBFX0NBUF9WRkxJUAl8CisJCQlNRFBfUElQRV9DQVBfU1dfUElY X0VYVAl8CisJCQkwLAorCX0sCisJLmxtID0geworCQkuY291bnQgPSA2LAorCQkuYmFzZSA9IHsg MHg0NTAwMCwgMHg0NjAwMCwgMHg0NzAwMCwgMHg0ODAwMCwgMHg0OTAwMCwgMHg0YTAwMCB9LAor CQkubmJfc3RhZ2VzID0gOCwKKwkJLm1heF93aWR0aCA9IDI1NjAsCisJCS5tYXhfaGVpZ2h0ID0g MHhGRkZGLAorCX0sCisJLmRzcHAgPSB7CisJCS5jb3VudCA9IDIsCisJCS5iYXNlID0geyAweDU1 MDAwLCAweDU3MDAwIH0sCisJfSwKKwkuYWQgPSB7CisJCS5jb3VudCA9IDMsCisJCS5iYXNlID0g eyAweDc5MDAwLCAweDc5ODAwLCAweDdhMDAwIH0sCisJfSwKKwkucHAgPSB7CisJCS5jb3VudCA9 IDQsCisJCS5iYXNlID0geyAweDcxMDAwLCAweDcxODAwLCAweDcyMDAwLCAweDcyODAwIH0sCisJ fSwKKwkuY2RtID0geworCQkuY291bnQgPSAxLAorCQkuYmFzZSA9IHsgMHg3YTIwMCB9LAorCX0s CisJLmRzYyA9IHsKKwkJLmNvdW50ID0gMiwKKwkJLmJhc2UgPSB7IDB4ODEwMDAsIDB4ODE0MDAg fSwKKwl9LAorCS5pbnRmID0geworCQkuYmFzZSA9IHsgMHg2YjAwMCwgMHg2YjgwMCwgMHg2YzAw MCwgMHg2YzgwMCwgMHg2ZDAwMCB9LAorCQkuY29ubmVjdCA9IHsKKwkJCVswXSA9IElOVEZfRElT QUJMRUQsCisJCQlbMV0gPSBJTlRGX0RTSSwKKwkJCVsyXSA9IElOVEZfRFNJLAorCQkJWzNdID0g SU5URl9IRE1JLAorCQl9LAorCX0sCisJLm1heF9jbGsgPSA0MTI1MDAwMDAsCiB9OwogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IG1kcDVfY2ZnX2hhbmRsZXIgY2ZnX2hhbmRsZXJzW10gPSB7CkBAIC0z NzksNiArNDcxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtZHA1X2NmZ19oYW5kbGVyIGNmZ19o YW5kbGVyc1tdID0gewogCXsgLnJldmlzaW9uID0gMywgLmNvbmZpZyA9IHsgLmh3ID0gJmFwcTgw ODRfY29uZmlnIH0gfSwKIAl7IC5yZXZpc2lvbiA9IDYsIC5jb25maWcgPSB7IC5odyA9ICZtc204 eDE2X2NvbmZpZyB9IH0sCiAJeyAucmV2aXNpb24gPSA5LCAuY29uZmlnID0geyAuaHcgPSAmbXNt OHg5NF9jb25maWcgfSB9LAorCXsgLnJldmlzaW9uID0gNywgLmNvbmZpZyA9IHsgLmh3ID0gJm1z bTh4OTZfY29uZmlnIH0gfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgbWRwNV9jZmdfcGxhdGZvcm0g Km1kcDVfZ2V0X2NvbmZpZyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NmZy5oIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NmZy5oCmluZGV4IGE2ZmFjYWYuLjA1MGUxNjEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY2ZnLmgKQEAgLTY0LDYgKzY0LDExIEBAIHN0 cnVjdCBtZHA1X3NtcF9ibG9jayB7CiAJdWludDhfdCByZXNlcnZlZFtNQVhfQ0xJRU5UU107CS8q ICMgb2YgTU1CcyBhbGxvY2F0ZWQgcGVyIGNsaWVudCAqLwogfTsKIAorc3RydWN0IG1kcDVfbWRw X2Jsb2NrIHsKKwlNRFA1X1NVQl9CTE9DS19ERUZJTklUSU9OOworCXVpbnQzMl90IGNhcHM7CQkJ LyogTURQIGNhcGFiaWxpdGllczogTURQX0NBUF94eHggYml0cyAqLworfTsKKwogI2RlZmluZSBN RFA1X0lOVEZfTlVNX01BWAk1CiAKIHN0cnVjdCBtZHA1X2ludGZfYmxvY2sgewpAQCAtNzQsNyAr NzksNyBAQCBzdHJ1Y3QgbWRwNV9pbnRmX2Jsb2NrIHsKIHN0cnVjdCBtZHA1X2NmZ19odyB7CiAJ Y2hhciAgKm5hbWU7CiAKLQlzdHJ1Y3QgbWRwNV9zdWJfYmxvY2sgbWRwOworCXN0cnVjdCBtZHA1 X21kcF9ibG9jayBtZHA7CiAJc3RydWN0IG1kcDVfc21wX2Jsb2NrIHNtcDsKIAlzdHJ1Y3QgbWRw NV9jdGxfYmxvY2sgY3RsOwogCXN0cnVjdCBtZHA1X3BpcGVfYmxvY2sgcGlwZV92aWc7CkBAIC04 NCw2ICs4OSw4IEBAIHN0cnVjdCBtZHA1X2NmZ19odyB7CiAJc3RydWN0IG1kcDVfc3ViX2Jsb2Nr IGRzcHA7CiAJc3RydWN0IG1kcDVfc3ViX2Jsb2NrIGFkOwogCXN0cnVjdCBtZHA1X3N1Yl9ibG9j ayBwcDsKKwlzdHJ1Y3QgbWRwNV9zdWJfYmxvY2sgZHNjOworCXN0cnVjdCBtZHA1X3N1Yl9ibG9j ayBjZG07CiAJc3RydWN0IG1kcDVfaW50Zl9ibG9jayBpbnRmOwogCiAJdWludDMyX3QgbWF4X2Ns azsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYwppbmRleCA5ODNiZDUzLi4w MDQxZDY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCkBAIC02MTQs MTUgKzYxNCwyMyBAQCBzdHJ1Y3QgbXNtX2ttcyAqbWRwNV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCX0KIAogCWNvbmZpZyA9IG1kcDVfY2ZnX2dldF9jb25maWcobWRwNV9rbXMt PmNmZyk7CisJbWRwNV9rbXMtPmNhcHMgPSBjb25maWctPmh3LT5tZHAuY2FwczsKIAogCS8qIFRP RE86IGNvbXB1dGUgY29yZSBjbG9jayByYXRlIGF0IHJ1bnRpbWUgKi8KIAljbGtfc2V0X3JhdGUo bWRwNV9rbXMtPnNyY19jbGssIGNvbmZpZy0+aHctPm1heF9jbGspOwogCi0JbWRwNV9rbXMtPnNt cCA9IG1kcDVfc21wX2luaXQobWRwNV9rbXMtPmRldiwgJmNvbmZpZy0+aHctPnNtcCk7Ci0JaWYg KElTX0VSUihtZHA1X2ttcy0+c21wKSkgewotCQlyZXQgPSBQVFJfRVJSKG1kcDVfa21zLT5zbXAp OwotCQltZHA1X2ttcy0+c21wID0gTlVMTDsKLQkJZ290byBmYWlsOworCS8qCisJICogU29tZSBj aGlwc2V0cyBoYXZlIGEgU2hhcmVkIE1lbW9yeSBQb29sIChTTVApLCB3aGlsZSBvdGhlcnMKKwkg KiBoYXZlIGRlZGljYXRlZCBsYXRlbmN5IGJ1ZmZlcmluZyBwZXIgc291cmNlIHBpcGUgaW5zdGVh ZDsKKwkgKiB0aGlzIHNlY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIFNNUDoKKwkgKi8KKwlpZiAobWRw NV9rbXMtPmNhcHMgJiBNRFBfQ0FQX1NNUCkgeworCQltZHA1X2ttcy0+c21wID0gbWRwNV9zbXBf aW5pdChtZHA1X2ttcy0+ZGV2LCAmY29uZmlnLT5ody0+c21wKTsKKwkJaWYgKElTX0VSUihtZHA1 X2ttcy0+c21wKSkgeworCQkJcmV0ID0gUFRSX0VSUihtZHA1X2ttcy0+c21wKTsKKwkJCW1kcDVf a21zLT5zbXAgPSBOVUxMOworCQkJZ290byBmYWlsOworCQl9CiAJfQogCiAJbWRwNV9rbXMtPmN0 bG0gPSBtZHA1X2N0bG1faW5pdChkZXYsIG1kcDVfa21zLT5tbWlvLCBtZHA1X2ttcy0+Y2ZnKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaAppbmRleCBhYjE5ZDUyYS4uOTc3 ZWY2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaApAQCAtMzIsNiAr MzIsOCBAQCBzdHJ1Y3QgbWRwNV9rbXMgewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAKIAlz dHJ1Y3QgbWRwNV9jZmdfaGFuZGxlciAqY2ZnOworCXVpbnQzMl90IGNhcHM7CS8qIE1EUCBjYXBh YmlsaXRpZXMgKE1EUF9DQVBfWFhYIGJpdHMpICovCisKIAogCS8qIG1hcHBlci1pZCB1c2VkIHRv IHJlcXVlc3QgR0VNIGJ1ZmZlciBtYXBwZWQgZm9yIHNjYW5vdXQ6ICovCiAJaW50IGlkOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwppbmRleCBjODZmNDlmLi44ZWU2 MmRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwpAQCAtNjk5 LDEwICs2OTksMTIgQEAgc3RhdGljIGludCBtZHA1X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAogCQkJY3J0Yy0+YmFzZS5pZCwgY3J0Y194LCBjcnRjX3ksIGNydGNfdywg Y3J0Y19oKTsKIAogCS8qIFJlcXVlc3Qgc29tZSBtZW1vcnkgZnJvbSB0aGUgU01QOiAqLwotCXJl dCA9IG1kcDVfc21wX3JlcXVlc3QobWRwNV9rbXMtPnNtcCwKLQkJCW1kcDVfcGxhbmUtPnBpcGUs IGZvcm1hdCwgc3JjX3csIGZhbHNlKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OworCWlmICht ZHA1X2ttcy0+c21wKSB7CisJCXJldCA9IG1kcDVfc21wX3JlcXVlc3QobWRwNV9rbXMtPnNtcCwK KwkJCQltZHA1X3BsYW5lLT5waXBlLCBmb3JtYXQsIHNyY193LCBmYWxzZSk7CisJCWlmIChyZXQp CisJCQlyZXR1cm4gcmV0OworCX0KIAogCS8qCiAJICogQ3VycmVudGx5IHdlIHVwZGF0ZSB0aGUg aHcgZm9yIGFsbG9jYXRpb25zL3JlcXVlc3RzIGltbWVkaWF0ZWx5LApAQCAtNzEwLDcgKzcxMiw4 IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkgKiB3b3VsZCBtb3ZlIGludG8gYXRvbWljLT5jaGVja19wbGFuZV9zdGF0ZSgpLCB3aGls ZSB1cGRhdGluZyB0aGUKIAkgKiBodyB3b3VsZCByZW1haW4gaGVyZToKIAkgKi8KLQltZHA1X3Nt cF9jb25maWd1cmUobWRwNV9rbXMtPnNtcCwgcGlwZSk7CisJaWYgKG1kcDVfa21zLT5zbXApCisJ CW1kcDVfc21wX2NvbmZpZ3VyZShtZHA1X2ttcy0+c21wLCBwaXBlKTsKIAogCXJldCA9IGNhbGNf c2NhbGV4X3N0ZXBzKHBsYW5lLCBwaXhfZm9ybWF0LCBzcmNfdywgY3J0Y193LCBwaGFzZXhfc3Rl cCk7CiAJaWYgKHJldCkKQEAgLTgyOSw3ICs4MzIsOCBAQCB2b2lkIG1kcDVfcGxhbmVfY29tcGxl dGVfZmxpcChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAogCURCRygiJXM6IGNvbXBsZXRlIGZs aXAiLCBtZHA1X3BsYW5lLT5uYW1lKTsKIAotCW1kcDVfc21wX2NvbW1pdChtZHA1X2ttcy0+c21w LCBwaXBlKTsKKwlpZiAobWRwNV9rbXMtPnNtcCkKKwkJbWRwNV9zbXBfY29tbWl0KG1kcDVfa21z LT5zbXAsIHBpcGUpOwogCiAJdG9fbWRwNV9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpLT5wZW5k aW5nID0gZmFsc2U7CiB9CkBAIC04NTUsNyArODU5LDcgQEAgdm9pZCBtZHA1X3BsYW5lX2NvbXBs ZXRlX2NvbW1pdChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgbWRwNV9wbGFuZSAq bWRwNV9wbGFuZSA9IHRvX21kcDVfcGxhbmUocGxhbmUpOwogCWVudW0gbWRwNV9waXBlIHBpcGUg PSBtZHA1X3BsYW5lLT5waXBlOwogCi0JaWYgKCFwbGFuZV9lbmFibGVkKHBsYW5lLT5zdGF0ZSkp IHsKKwlpZiAoIXBsYW5lX2VuYWJsZWQocGxhbmUtPnN0YXRlKSAmJiBtZHA1X2ttcy0+c21wKSB7 CiAJCURCRygiJXM6IGZyZWUgU01QIiwgbWRwNV9wbGFuZS0+bmFtZSk7CiAJCW1kcDVfc21wX3Jl bGVhc2UobWRwNV9rbXMtPnNtcCwgcGlwZSk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwX2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwX2ttcy5o CmluZGV4IDBhZjJhNTQxLi4zMDMxMzAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHBfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwX2ttcy5oCkBA IC0xMDAsNiArMTAwLDExIEBAIHN0cnVjdCBtZHBfZm9ybWF0IHsKIHVpbnQzMl90IG1kcF9nZXRf Zm9ybWF0cyh1aW50MzJfdCAqZm9ybWF0cywgdWludDMyX3QgbWF4X2Zvcm1hdHMsIGJvb2wgcmdi X29ubHkpOwogY29uc3Qgc3RydWN0IG1zbV9mb3JtYXQgKm1kcF9nZXRfZm9ybWF0KHN0cnVjdCBt c21fa21zICprbXMsIHVpbnQzMl90IGZvcm1hdCk7CiAKKy8qIE1EUCBjYXBhYmlsaXRpZXMgKi8K KyNkZWZpbmUgTURQX0NBUF9TTVAJCUJJVCgwKQkvKiBTaGFyZWQgTWVtb3J5IFBvb2wgICAgICAg ICAgICAgICAgICovCisjZGVmaW5lIE1EUF9DQVBfRFNDCQlCSVQoMSkJLyogVkVTQSBEaXNwbGF5 IFN0cmVhbSBDb21wcmVzc2lvbiAgICAqLworI2RlZmluZSBNRFBfQ0FQX0NETQkJQklUKDIpCS8q IENocm9tYSBEb3duIE1vZHVsZSAoSERNSSAyLjAgWVVWKSAgKi8KKwogLyogTURQIHBpcGUgY2Fw YWJpbGl0aWVzICovCiAjZGVmaW5lIE1EUF9QSVBFX0NBUF9IRkxJUAkJCUJJVCgwKQogI2RlZmlu ZSBNRFBfUElQRV9DQVBfVkZMSVAJCQlCSVQoMSkKLS0gClF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuCgpUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1i ZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLCBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3Jh dGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=