From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Ying Subject: [PATCH v3 02/10] gpu: ipu-v3: ipu-dmfc: Use static DMFC FIFO allocation mechanism Date: Mon, 4 Jul 2016 15:40:31 +0800 Message-ID: <1467618039-7457-3-git-send-email-gnuiyl@gmail.com> References: <1467618039-7457-1-git-send-email-gnuiyl@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0055.outbound.protection.outlook.com [104.47.34.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 039856E3C9 for ; Mon, 4 Jul 2016 08:14:42 +0000 (UTC) In-Reply-To: <1467618039-7457-1-git-send-email-gnuiyl@gmail.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 Cc: Russell King , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org Rm9yIGFsbCB2aWRlbyBtb2RlcyB3ZSBzdXBwb3J0IGN1cnJlbnRseSwgd2UgYWx3YXlzIGdldCAy IHNsb3RzIGZvcgphIHBsYW5lIGJ5IHVzaW5nIHRoZSBjdXJyZW50IGV4aXN0aW5nIGR5bmFtaWMg RE1GQyBGSUZPIGFsbG9jYXRpb24KbWVjaGFuaXNtLiAgU28sIGxldCdzIGNoYW5nZSB0byB1c2Ug dGhlIHN0YXRpYyBvbmUgdG8gc2ltcGxpZnkgdGhlCmNvZGUuICBUaGlzIGFsc28gbWFrZXMgaXQg ZWFzaWVyIHRvIGltcGxlbWVudCB0aGUgYXRvbWljIG1vZGUgc2V0dGluZwphcyB3ZSBkb24ndCBu ZWVkIHRvIGhhbmRsZSBhbGxvY2F0aW9uIGZhaWx1cmUgY2FzZXMgdGhlbi4KClNpZ25lZC1vZmYt Ynk6IExpdSBZaW5nIDxnbnVpeWxAZ21haWwuY29tPgotLS0KdjItPnYzOgoqIE5vbmUuCgp2MS0+ djI6CiogSW1wcm92ZSB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gYmV0dGVyIGV4cGxhaW4gd2h5IHRo ZSBzdGF0aWMgYWxsb2NhdGlvbgogIG1lY2hhbmlzbSBjYW4gcmVwbGFjZSB0aGUgZHluYW1pYyBv bmUuCgogZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jIHwgIDI2IC0tLS0tCiBkcml2 ZXJzL2dwdS9pcHUtdjMvaXB1LWRtZmMuYyAgICAgfCAyMTMgKystLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvdmlkZW8vaW14LWlwdS12My5oICAgICAgICB8ICAg MyAtCiAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMjM1IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYwppbmRleCBjZDdlYjI2Li4wMjcwMWRlIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2lteC9pcHV2My1wbGFuZS5jCkBAIC01MywyNCArNTMsNiBAQCBpbnQgaXB1X3BsYW5lX2ly cShzdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxhbmUpCiAJCQkJICAgICBJUFVfSVJRX0VPRik7CiB9 CiAKLXN0YXRpYyBpbnQgY2FsY192cmVmKHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQot ewotCXVuc2lnbmVkIGxvbmcgaHRvdGFsLCB2dG90YWw7Ci0KLQlodG90YWwgPSBtb2RlLT5odG90 YWw7Ci0JdnRvdGFsID0gbW9kZS0+dnRvdGFsOwotCi0JaWYgKCFodG90YWwgfHwgIXZ0b3RhbCkK LQkJcmV0dXJuIDYwOwotCi0JcmV0dXJuIERJVl9ST1VORF9VUChtb2RlLT5jbG9jayAqIDEwMDAs IHZ0b3RhbCAqIGh0b3RhbCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGNhbGNfYmFuZHdpZHRo KGludCB3aWR0aCwgaW50IGhlaWdodCwgdW5zaWduZWQgaW50IHZyZWYpCi17Ci0JcmV0dXJuIHdp ZHRoICogaGVpZ2h0ICogdnJlZjsKLX0KLQogaW50IGlwdV9wbGFuZV9zZXRfYmFzZShzdHJ1Y3Qg aXB1X3BsYW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQkgICAg ICAgaW50IHgsIGludCB5KQogewpAQCAtMjkxLDE0ICsyNzMsNiBAQCBpbnQgaXB1X3BsYW5lX21v ZGVfc2V0KHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQl9CiAJfQogCi0JcmV0ID0gaXB1X2RtZmNfYWxsb2NfYmFuZHdpZHRoKGlwdV9wbGFuZS0+ ZG1mYywKLQkJCWNhbGNfYmFuZHdpZHRoKGNydGNfdywgY3J0Y19oLAotCQkJCSAgICAgICBjYWxj X3ZyZWYobW9kZSkpLCA2NCk7Ci0JaWYgKHJldCkgewotCQlkZXZfZXJyKGRldiwgImFsbG9jYXRp bmcgZG1mYyBiYW5kd2lkdGggZmFpbGVkIHdpdGggJWRcbiIsIHJldCk7Ci0JCXJldHVybiByZXQ7 Ci0JfQotCiAJaXB1X2RtZmNfY29uZmlnX3dhaXQ0ZW90KGlwdV9wbGFuZS0+ZG1mYywgY3J0Y193 KTsKIAogCWlwdV9jcG1lbV96ZXJvKGlwdV9wbGFuZS0+aXB1X2NoKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2lwdS12My9pcHUtZG1mYy5jIGIvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kbWZj LmMKaW5kZXggODM3YjFlYzIuLjQyNzA1YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2lwdS12 My9pcHUtZG1mYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2lwdS12My9pcHUtZG1mYy5jCkBAIC00NSwx NyArNDUsNiBAQAogI2RlZmluZSBETUZDX0RQX0NIQU5fNkJfMjQJCTE2CiAjZGVmaW5lIERNRkNf RFBfQ0hBTl82Rl8yOQkJMjQKIAotI2RlZmluZSBETUZDX0ZJRk9fU0laRV82NAkJKDMgPDwgMykK LSNkZWZpbmUgRE1GQ19GSUZPX1NJWkVfMTI4CQkoMiA8PCAzKQotI2RlZmluZSBETUZDX0ZJRk9f U0laRV8yNTYJCSgxIDw8IDMpCi0jZGVmaW5lIERNRkNfRklGT19TSVpFXzUxMgkJKDAgPDwgMykK LQotI2RlZmluZSBETUZDX1NFR01FTlQoeCkJCQkoKHggJiAweDcpIDw8IDApCi0jZGVmaW5lIERN RkNfQlVSU1RTSVpFXzEyOAkJKDAgPDwgNikKLSNkZWZpbmUgRE1GQ19CVVJTVFNJWkVfNjQJCSgx IDw8IDYpCi0jZGVmaW5lIERNRkNfQlVSU1RTSVpFXzMyCQkoMiA8PCA2KQotI2RlZmluZSBETUZD X0JVUlNUU0laRV8xNgkJKDMgPDwgNikKLQogc3RydWN0IGRtZmNfY2hhbm5lbF9kYXRhIHsKIAlp bnQJCWlwdV9jaGFubmVsOwogCXVuc2lnbmVkIGxvbmcJY2hhbm5lbF9yZWc7CkBAIC0xMDQsOSAr OTMsNiBAQCBzdHJ1Y3QgaXB1X2RtZmNfcHJpdjsKIAogc3RydWN0IGRtZmNfY2hhbm5lbCB7CiAJ dW5zaWduZWQJCQlzbG90czsKLQl1bnNpZ25lZAkJCXNsb3RtYXNrOwotCXVuc2lnbmVkCQkJc2Vn bWVudDsKLQlpbnQJCQkJYnVyc3RzaXplOwogCXN0cnVjdCBpcHVfc29jCQkJKmlwdTsKIAlzdHJ1 Y3QgaXB1X2RtZmNfcHJpdgkJKnByaXY7CiAJY29uc3Qgc3RydWN0IGRtZmNfY2hhbm5lbF9kYXRh CSpkYXRhOwpAQCAtMTE3LDcgKzEwMyw2IEBAIHN0cnVjdCBpcHVfZG1mY19wcml2IHsKIAlzdHJ1 Y3QgZGV2aWNlICpkZXY7CiAJc3RydWN0IGRtZmNfY2hhbm5lbCBjaGFubmVsc1tETUZDX05VTV9D SEFOTkVMU107CiAJc3RydWN0IG11dGV4IG11dGV4OwotCXVuc2lnbmVkIGxvbmcgYmFuZHdpZHRo X3Blcl9zbG90OwogCXZvaWQgX19pb21lbSAqYmFzZTsKIAlpbnQgdXNlX2NvdW50OwogfTsKQEAg LTE3MiwxODQgKzE1Nyw2IEBAIHZvaWQgaXB1X2RtZmNfZGlzYWJsZV9jaGFubmVsKHN0cnVjdCBk bWZjX2NoYW5uZWwgKmRtZmMpCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1mY19kaXNhYmxl X2NoYW5uZWwpOwogCi1zdGF0aWMgaW50IGlwdV9kbWZjX3NldHVwX2NoYW5uZWwoc3RydWN0IGRt ZmNfY2hhbm5lbCAqZG1mYywgaW50IHNsb3RzLAotCQlpbnQgc2VnbWVudCwgaW50IGJ1cnN0c2l6 ZSkKLXsKLQlzdHJ1Y3QgaXB1X2RtZmNfcHJpdiAqcHJpdiA9IGRtZmMtPnByaXY7Ci0JdTMyIHZh bCwgZmllbGQ7Ci0KLQlkZXZfZGJnKHByaXYtPmRldiwKLQkJCSJkbWZjOiB1c2luZyAlZCBzbG90 cyBzdGFydGluZyBmcm9tIHNlZ21lbnQgJWQgZm9yIElQVSBjaGFubmVsICVkXG4iLAotCQkJc2xv dHMsIHNlZ21lbnQsIGRtZmMtPmRhdGEtPmlwdV9jaGFubmVsKTsKLQotCXN3aXRjaCAoc2xvdHMp IHsKLQljYXNlIDE6Ci0JCWZpZWxkID0gRE1GQ19GSUZPX1NJWkVfNjQ7Ci0JCWJyZWFrOwotCWNh c2UgMjoKLQkJZmllbGQgPSBETUZDX0ZJRk9fU0laRV8xMjg7Ci0JCWJyZWFrOwotCWNhc2UgNDoK LQkJZmllbGQgPSBETUZDX0ZJRk9fU0laRV8yNTY7Ci0JCWJyZWFrOwotCWNhc2UgODoKLQkJZmll bGQgPSBETUZDX0ZJRk9fU0laRV81MTI7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJldHVybiAt RUlOVkFMOwotCX0KLQotCXN3aXRjaCAoYnVyc3RzaXplKSB7Ci0JY2FzZSAxNjoKLQkJZmllbGQg fD0gRE1GQ19CVVJTVFNJWkVfMTY7Ci0JCWJyZWFrOwotCWNhc2UgMzI6Ci0JCWZpZWxkIHw9IERN RkNfQlVSU1RTSVpFXzMyOwotCQlicmVhazsKLQljYXNlIDY0OgotCQlmaWVsZCB8PSBETUZDX0JV UlNUU0laRV82NDsKLQkJYnJlYWs7Ci0JY2FzZSAxMjg6Ci0JCWZpZWxkIHw9IERNRkNfQlVSU1RT SVpFXzEyODsKLQkJYnJlYWs7Ci0JfQotCi0JZmllbGQgfD0gRE1GQ19TRUdNRU5UKHNlZ21lbnQp OwotCi0JdmFsID0gcmVhZGwocHJpdi0+YmFzZSArIGRtZmMtPmRhdGEtPmNoYW5uZWxfcmVnKTsK LQotCXZhbCAmPSB+KDB4ZmYgPDwgZG1mYy0+ZGF0YS0+c2hpZnQpOwotCXZhbCB8PSBmaWVsZCA8 PCBkbWZjLT5kYXRhLT5zaGlmdDsKLQotCXdyaXRlbCh2YWwsIHByaXYtPmJhc2UgKyBkbWZjLT5k YXRhLT5jaGFubmVsX3JlZyk7Ci0KLQlkbWZjLT5zbG90cyA9IHNsb3RzOwotCWRtZmMtPnNlZ21l bnQgPSBzZWdtZW50OwotCWRtZmMtPmJ1cnN0c2l6ZSA9IGJ1cnN0c2l6ZTsKLQlkbWZjLT5zbG90 bWFzayA9ICgoMSA8PCBzbG90cykgLSAxKSA8PCBzZWdtZW50OwotCi0JcmV0dXJuIDA7Ci19Ci0K LXN0YXRpYyBpbnQgZG1mY19iYW5kd2lkdGhfdG9fc2xvdHMoc3RydWN0IGlwdV9kbWZjX3ByaXYg KnByaXYsCi0JCXVuc2lnbmVkIGxvbmcgYmFuZHdpZHRoKQotewotCWludCBzbG90cyA9IDE7Ci0K LQl3aGlsZSAoc2xvdHMgKiBwcml2LT5iYW5kd2lkdGhfcGVyX3Nsb3QgPCBiYW5kd2lkdGgpCi0J CXNsb3RzICo9IDI7Ci0KLQlyZXR1cm4gc2xvdHM7Ci19Ci0KLXN0YXRpYyBpbnQgZG1mY19maW5k X3Nsb3RzKHN0cnVjdCBpcHVfZG1mY19wcml2ICpwcml2LCBpbnQgc2xvdHMpCi17Ci0JdW5zaWdu ZWQgc2xvdG1hc2tfbmVlZCwgc2xvdG1hc2tfdXNlZCA9IDA7Ci0JaW50IGksIHNlZ21lbnQgPSAw OwotCi0Jc2xvdG1hc2tfbmVlZCA9ICgxIDw8IHNsb3RzKSAtIDE7Ci0KLQlmb3IgKGkgPSAwOyBp IDwgRE1GQ19OVU1fQ0hBTk5FTFM7IGkrKykKLQkJc2xvdG1hc2tfdXNlZCB8PSBwcml2LT5jaGFu bmVsc1tpXS5zbG90bWFzazsKLQotCXdoaWxlIChzbG90bWFza19uZWVkIDw9IDB4ZmYpIHsKLQkJ aWYgKCEoc2xvdG1hc2tfdXNlZCAmIHNsb3RtYXNrX25lZWQpKQotCQkJcmV0dXJuIHNlZ21lbnQ7 Ci0KLQkJc2xvdG1hc2tfbmVlZCA8PD0gMTsKLQkJc2VnbWVudCsrOwotCX0KLQotCXJldHVybiAt RUJVU1k7Ci19Ci0KLXZvaWQgaXB1X2RtZmNfZnJlZV9iYW5kd2lkdGgoc3RydWN0IGRtZmNfY2hh bm5lbCAqZG1mYykKLXsKLQlzdHJ1Y3QgaXB1X2RtZmNfcHJpdiAqcHJpdiA9IGRtZmMtPnByaXY7 Ci0JaW50IGk7Ci0KLQlkZXZfZGJnKHByaXYtPmRldiwgImRtZmM6IGZyZWVpbmcgJWQgc2xvdHMg c3RhcnRpbmcgZnJvbSBzZWdtZW50ICVkXG4iLAotCQkJZG1mYy0+c2xvdHMsIGRtZmMtPnNlZ21l bnQpOwotCi0JbXV0ZXhfbG9jaygmcHJpdi0+bXV0ZXgpOwotCi0JaWYgKCFkbWZjLT5zbG90cykK LQkJZ290byBvdXQ7Ci0KLQlkbWZjLT5zbG90bWFzayA9IDA7Ci0JZG1mYy0+c2xvdHMgPSAwOwot CWRtZmMtPnNlZ21lbnQgPSAwOwotCi0JZm9yIChpID0gMDsgaSA8IERNRkNfTlVNX0NIQU5ORUxT OyBpKyspCi0JCXByaXYtPmNoYW5uZWxzW2ldLnNsb3RtYXNrID0gMDsKLQotCWZvciAoaSA9IDA7 IGkgPCBETUZDX05VTV9DSEFOTkVMUzsgaSsrKSB7Ci0JCWlmIChwcml2LT5jaGFubmVsc1tpXS5z bG90cyA+IDApIHsKLQkJCXByaXYtPmNoYW5uZWxzW2ldLnNlZ21lbnQgPQotCQkJCWRtZmNfZmlu ZF9zbG90cyhwcml2LCBwcml2LT5jaGFubmVsc1tpXS5zbG90cyk7Ci0JCQlwcml2LT5jaGFubmVs c1tpXS5zbG90bWFzayA9Ci0JCQkJKCgxIDw8IHByaXYtPmNoYW5uZWxzW2ldLnNsb3RzKSAtIDEp IDw8Ci0JCQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2VnbWVudDsKLQkJfQotCX0KLQotCWZvciAoaSA9 IDA7IGkgPCBETUZDX05VTV9DSEFOTkVMUzsgaSsrKSB7Ci0JCWlmIChwcml2LT5jaGFubmVsc1tp XS5zbG90cyA+IDApCi0JCQlpcHVfZG1mY19zZXR1cF9jaGFubmVsKCZwcml2LT5jaGFubmVsc1tp XSwKLQkJCQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2xvdHMsCi0JCQkJCXByaXYtPmNoYW5uZWxzW2ld LnNlZ21lbnQsCi0JCQkJCXByaXYtPmNoYW5uZWxzW2ldLmJ1cnN0c2l6ZSk7Ci0JfQotb3V0Ogot CW11dGV4X3VubG9jaygmcHJpdi0+bXV0ZXgpOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoaXB1X2Rt ZmNfZnJlZV9iYW5kd2lkdGgpOwotCi1pbnQgaXB1X2RtZmNfYWxsb2NfYmFuZHdpZHRoKHN0cnVj dCBkbWZjX2NoYW5uZWwgKmRtZmMsCi0JCXVuc2lnbmVkIGxvbmcgYmFuZHdpZHRoX3BpeGVsX3Bl cl9zZWNvbmQsIGludCBidXJzdHNpemUpCi17Ci0Jc3RydWN0IGlwdV9kbWZjX3ByaXYgKnByaXYg PSBkbWZjLT5wcml2OwotCWludCBzbG90cyA9IGRtZmNfYmFuZHdpZHRoX3RvX3Nsb3RzKHByaXYs IGJhbmR3aWR0aF9waXhlbF9wZXJfc2Vjb25kKTsKLQlpbnQgc2VnbWVudCA9IC0xLCByZXQgPSAw OwotCi0JZGV2X2RiZyhwcml2LT5kZXYsICJkbWZjOiB0cnlpbmcgdG8gYWxsb2NhdGUgJWxkTXBp eGVsL3MgZm9yIElQVSBjaGFubmVsICVkXG4iLAotCQkJYmFuZHdpZHRoX3BpeGVsX3Blcl9zZWNv bmQgLyAxMDAwMDAwLAotCQkJZG1mYy0+ZGF0YS0+aXB1X2NoYW5uZWwpOwotCi0JaXB1X2RtZmNf ZnJlZV9iYW5kd2lkdGgoZG1mYyk7Ci0KLQltdXRleF9sb2NrKCZwcml2LT5tdXRleCk7Ci0KLQlp ZiAoc2xvdHMgPiA4KSB7Ci0JCXJldCA9IC1FQlVTWTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyog Rm9yIHRoZSBNRU1fQkcgY2hhbm5lbCwgZmlyc3QgdHJ5IHRvIGFsbG9jYXRlIHR3aWNlIHRoZSBz bG90cyAqLwotCWlmIChkbWZjLT5kYXRhLT5pcHVfY2hhbm5lbCA9PSBJUFVWM19DSEFOTkVMX01F TV9CR19TWU5DKQotCQlzZWdtZW50ID0gZG1mY19maW5kX3Nsb3RzKHByaXYsIHNsb3RzICogMik7 Ci0JZWxzZSBpZiAoc2xvdHMgPCAyKQotCQkvKiBBbHdheXMgYWxsb2NhdGUgYXQgbGVhc3QgMTI4 KjQgYnl0ZXMgKDIgc2xvdHMpICovCi0JCXNsb3RzID0gMjsKLQotCWlmIChzZWdtZW50ID49IDAp Ci0JCXNsb3RzICo9IDI7Ci0JZWxzZQotCQlzZWdtZW50ID0gZG1mY19maW5kX3Nsb3RzKHByaXYs IHNsb3RzKTsKLQlpZiAoc2VnbWVudCA8IDApIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3RvIG91 dDsKLQl9Ci0KLQlpcHVfZG1mY19zZXR1cF9jaGFubmVsKGRtZmMsIHNsb3RzLCBzZWdtZW50LCBi dXJzdHNpemUpOwotCi1vdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZwcml2LT5tdXRleCk7Ci0KLQlyZXR1 cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTF9HUEwoaXB1X2RtZmNfYWxsb2NfYmFuZHdpZHRoKTsK LQogdm9pZCBpcHVfZG1mY19jb25maWdfd2FpdDRlb3Qoc3RydWN0IGRtZmNfY2hhbm5lbCAqZG1m YywgaW50IHdpZHRoKQogewogCXN0cnVjdCBpcHVfZG1mY19wcml2ICpwcml2ID0gZG1mYy0+cHJp djsKQEAgLTM4NCw3ICsxOTEsNiBAQCBFWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1mY19nZXQpOwog CiB2b2lkIGlwdV9kbWZjX3B1dChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjKQogewotCWlwdV9k bWZjX2ZyZWVfYmFuZHdpZHRoKGRtZmMpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoaXB1X2RtZmNf cHV0KTsKIApAQCAtNDEyLDIwICsyMTgsMTUgQEAgaW50IGlwdV9kbWZjX2luaXQoc3RydWN0IGlw dV9zb2MgKmlwdSwgc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGJhc2UsCiAJCXBy aXYtPmNoYW5uZWxzW2ldLnByaXYgPSBwcml2OwogCQlwcml2LT5jaGFubmVsc1tpXS5pcHUgPSBp cHU7CiAJCXByaXYtPmNoYW5uZWxzW2ldLmRhdGEgPSAmZG1mY2RhdGFbaV07Ci0JfQotCi0Jd3Jp dGVsKDB4MCwgcHJpdi0+YmFzZSArIERNRkNfV1JfQ0hBTik7Ci0Jd3JpdGVsKDB4MCwgcHJpdi0+ YmFzZSArIERNRkNfRFBfQ0hBTik7CiAKLQkvKgotCSAqIFdlIGhhdmUgYSB0b3RhbCBiYW5kd2lk dGggb2YgY2xrcmF0ZSAqIDRwaXhlbCBkaXZpZGVkCi0JICogaW50byA4IHNsb3RzLgotCSAqLwot CXByaXYtPmJhbmR3aWR0aF9wZXJfc2xvdCA9IGNsa19nZXRfcmF0ZShpcHVfY2xrKSAqIDQgLyA4 OwotCi0JZGV2X2RiZyhkZXYsICJkbWZjOiA4IHNsb3RzIHdpdGggJWxkTXBpeGVsL3MgYmFuZHdp ZHRoIGVhY2hcbiIsCi0JCQlwcml2LT5iYW5kd2lkdGhfcGVyX3Nsb3QgLyAxMDAwMDAwKTsKKwkJ aWYgKGRtZmNkYXRhW2ldLmlwdV9jaGFubmVsID09IElQVVYzX0NIQU5ORUxfTUVNX0JHX1NZTkMg fHwKKwkJICAgIGRtZmNkYXRhW2ldLmlwdV9jaGFubmVsID09IElQVVYzX0NIQU5ORUxfTUVNX0ZH X1NZTkMgfHwKKwkJICAgIGRtZmNkYXRhW2ldLmlwdV9jaGFubmVsID09IElQVVYzX0NIQU5ORUxf TUVNX0RDX1NZTkMpCisJCQlwcml2LT5jaGFubmVsc1tpXS5zbG90cyA9IDI7CisJfQogCisJd3Jp dGVsKDB4MDAwMDAwNTAsIHByaXYtPmJhc2UgKyBETUZDX1dSX0NIQU4pOworCXdyaXRlbCgweDAw MDA1NjU0LCBwcml2LT5iYXNlICsgRE1GQ19EUF9DSEFOKTsKIAl3cml0ZWwoMHgyMDIwMjBmNiwg cHJpdi0+YmFzZSArIERNRkNfV1JfQ0hBTl9ERUYpOwogCXdyaXRlbCgweDIwMjBmNmY2LCBwcml2 LT5iYXNlICsgRE1GQ19EUF9DSEFOX0RFRik7CiAJd3JpdGVsKDB4MDAwMDAwMDMsIHByaXYtPmJh c2UgKyBETUZDX0dFTkVSQUwxKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdmlkZW8vaW14LWlwdS12 My5oIGIvaW5jbHVkZS92aWRlby9pbXgtaXB1LXYzLmgKaW5kZXggM2EyYTc5NC4uN2FkZWFhZSAx MDA2NDQKLS0tIGEvaW5jbHVkZS92aWRlby9pbXgtaXB1LXYzLmgKKysrIGIvaW5jbHVkZS92aWRl by9pbXgtaXB1LXYzLmgKQEAgLTIzNSw5ICsyMzUsNiBAQCBpbnQgaXB1X2RpX2luaXRfc3luY19w YW5lbChzdHJ1Y3QgaXB1X2RpICosIHN0cnVjdCBpcHVfZGlfc2lnbmFsX2NmZyAqc2lnKTsKIHN0 cnVjdCBkbWZjX2NoYW5uZWw7CiBpbnQgaXB1X2RtZmNfZW5hYmxlX2NoYW5uZWwoc3RydWN0IGRt ZmNfY2hhbm5lbCAqZG1mYyk7CiB2b2lkIGlwdV9kbWZjX2Rpc2FibGVfY2hhbm5lbChzdHJ1Y3Qg ZG1mY19jaGFubmVsICpkbWZjKTsKLWludCBpcHVfZG1mY19hbGxvY19iYW5kd2lkdGgoc3RydWN0 IGRtZmNfY2hhbm5lbCAqZG1mYywKLQkJdW5zaWduZWQgbG9uZyBiYW5kd2lkdGhfbWJzLCBpbnQg YnVyc3RzaXplKTsKLXZvaWQgaXB1X2RtZmNfZnJlZV9iYW5kd2lkdGgoc3RydWN0IGRtZmNfY2hh bm5lbCAqZG1mYyk7CiB2b2lkIGlwdV9kbWZjX2NvbmZpZ193YWl0NGVvdChzdHJ1Y3QgZG1mY19j aGFubmVsICpkbWZjLCBpbnQgd2lkdGgpOwogc3RydWN0IGRtZmNfY2hhbm5lbCAqaXB1X2RtZmNf Z2V0KHN0cnVjdCBpcHVfc29jICppcHUsIGludCBpcHV2M19jaGFubmVsKTsKIHZvaWQgaXB1X2Rt ZmNfcHV0KHN0cnVjdCBkbWZjX2NoYW5uZWwgKmRtZmMpOwotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=