From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Ying Subject: [PATCH v4 02/10] gpu: ipu-v3: ipu-dmfc: Use static DMFC FIFO allocation mechanism Date: Fri, 8 Jul 2016 17:40:54 +0800 Message-ID: <1467970862-28012-3-git-send-email-gnuiyl@gmail.com> References: <1467970862-28012-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-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0042.outbound.protection.outlook.com [104.47.33.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10D5D6E03B for ; Fri, 8 Jul 2016 09:41:24 +0000 (UTC) In-Reply-To: <1467970862-28012-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 Ynk6IExpdSBZaW5nIDxnbnVpeWxAZ21haWwuY29tPgotLS0KdjMtPnY0OgoqIE5vbmUuCgp2Mi0+ djM6CiogTm9uZS4KCnYxLT52MjoKKiBJbXByb3ZlIHRoZSBjb21taXQgbWVzc2FnZSB0byBiZXR0 ZXIgZXhwbGFpbiB3aHkgdGhlIHN0YXRpYyBhbGxvY2F0aW9uCiAgbWVjaGFuaXNtIGNhbiByZXBs YWNlIHRoZSBkeW5hbWljIG9uZS4KCiBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMg fCAgMjYgLS0tLS0KIGRyaXZlcnMvZ3B1L2lwdS12My9pcHUtZG1mYy5jICAgICB8IDIxMyArKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS92aWRlby9pbXgtaXB1 LXYzLmggICAgICAgIHwgICAzIC0KIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAy MzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCmluZGV4IGNkN2ViMjYu LjAyNzAxZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMKQEAgLTUzLDI0ICs1Myw2IEBA IGludCBpcHVfcGxhbmVfaXJxKHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZSkKIAkJCQkgICAg IElQVV9JUlFfRU9GKTsKIH0KIAotc3RhdGljIGludCBjYWxjX3ZyZWYoc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCi17Ci0JdW5zaWduZWQgbG9uZyBodG90YWwsIHZ0b3RhbDsKLQotCWh0 b3RhbCA9IG1vZGUtPmh0b3RhbDsKLQl2dG90YWwgPSBtb2RlLT52dG90YWw7Ci0KLQlpZiAoIWh0 b3RhbCB8fCAhdnRvdGFsKQotCQlyZXR1cm4gNjA7Ci0KLQlyZXR1cm4gRElWX1JPVU5EX1VQKG1v ZGUtPmNsb2NrICogMTAwMCwgdnRvdGFsICogaHRvdGFsKTsKLX0KLQotc3RhdGljIGlubGluZSBp bnQgY2FsY19iYW5kd2lkdGgoaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBpbnQgdnJl ZikKLXsKLQlyZXR1cm4gd2lkdGggKiBoZWlnaHQgKiB2cmVmOwotfQotCiBpbnQgaXB1X3BsYW5l X3NldF9iYXNlKHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZSwgc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIsCiAJCSAgICAgICBpbnQgeCwgaW50IHkpCiB7CkBAIC0yOTEsMTQgKzI3Myw2IEBA IGludCBpcHVfcGxhbmVfbW9kZV9zZXQoc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lLCBzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJCX0KIAl9CiAKLQlyZXQgPSBpcHVfZG1mY19hbGxvY19iYW5k d2lkdGgoaXB1X3BsYW5lLT5kbWZjLAotCQkJY2FsY19iYW5kd2lkdGgoY3J0Y193LCBjcnRjX2gs Ci0JCQkJICAgICAgIGNhbGNfdnJlZihtb2RlKSksIDY0KTsKLQlpZiAocmV0KSB7Ci0JCWRldl9l cnIoZGV2LCAiYWxsb2NhdGluZyBkbWZjIGJhbmR3aWR0aCBmYWlsZWQgd2l0aCAlZFxuIiwgcmV0 KTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KIAlpcHVfZG1mY19jb25maWdfd2FpdDRlb3QoaXB1X3Bs YW5lLT5kbWZjLCBjcnRjX3cpOwogCiAJaXB1X2NwbWVtX3plcm8oaXB1X3BsYW5lLT5pcHVfY2gp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kbWZjLmMgYi9kcml2ZXJzL2dw dS9pcHUtdjMvaXB1LWRtZmMuYwppbmRleCA4MzdiMWVjMi4uNDI3MDViYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kbWZjLmMKKysrIGIvZHJpdmVycy9ncHUvaXB1LXYzL2lw dS1kbWZjLmMKQEAgLTQ1LDE3ICs0NSw2IEBACiAjZGVmaW5lIERNRkNfRFBfQ0hBTl82Ql8yNAkJ MTYKICNkZWZpbmUgRE1GQ19EUF9DSEFOXzZGXzI5CQkyNAogCi0jZGVmaW5lIERNRkNfRklGT19T SVpFXzY0CQkoMyA8PCAzKQotI2RlZmluZSBETUZDX0ZJRk9fU0laRV8xMjgJCSgyIDw8IDMpCi0j ZGVmaW5lIERNRkNfRklGT19TSVpFXzI1NgkJKDEgPDwgMykKLSNkZWZpbmUgRE1GQ19GSUZPX1NJ WkVfNTEyCQkoMCA8PCAzKQotCi0jZGVmaW5lIERNRkNfU0VHTUVOVCh4KQkJCSgoeCAmIDB4Nykg PDwgMCkKLSNkZWZpbmUgRE1GQ19CVVJTVFNJWkVfMTI4CQkoMCA8PCA2KQotI2RlZmluZSBETUZD X0JVUlNUU0laRV82NAkJKDEgPDwgNikKLSNkZWZpbmUgRE1GQ19CVVJTVFNJWkVfMzIJCSgyIDw8 IDYpCi0jZGVmaW5lIERNRkNfQlVSU1RTSVpFXzE2CQkoMyA8PCA2KQotCiBzdHJ1Y3QgZG1mY19j aGFubmVsX2RhdGEgewogCWludAkJaXB1X2NoYW5uZWw7CiAJdW5zaWduZWQgbG9uZwljaGFubmVs X3JlZzsKQEAgLTEwNCw5ICs5Myw2IEBAIHN0cnVjdCBpcHVfZG1mY19wcml2OwogCiBzdHJ1Y3Qg ZG1mY19jaGFubmVsIHsKIAl1bnNpZ25lZAkJCXNsb3RzOwotCXVuc2lnbmVkCQkJc2xvdG1hc2s7 Ci0JdW5zaWduZWQJCQlzZWdtZW50OwotCWludAkJCQlidXJzdHNpemU7CiAJc3RydWN0IGlwdV9z b2MJCQkqaXB1OwogCXN0cnVjdCBpcHVfZG1mY19wcml2CQkqcHJpdjsKIAljb25zdCBzdHJ1Y3Qg ZG1mY19jaGFubmVsX2RhdGEJKmRhdGE7CkBAIC0xMTcsNyArMTAzLDYgQEAgc3RydWN0IGlwdV9k bWZjX3ByaXYgewogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZG1mY19jaGFubmVsIGNo YW5uZWxzW0RNRkNfTlVNX0NIQU5ORUxTXTsKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7Ci0JdW5zaWdu ZWQgbG9uZyBiYW5kd2lkdGhfcGVyX3Nsb3Q7CiAJdm9pZCBfX2lvbWVtICpiYXNlOwogCWludCB1 c2VfY291bnQ7CiB9OwpAQCAtMTcyLDE4NCArMTU3LDYgQEAgdm9pZCBpcHVfZG1mY19kaXNhYmxl X2NoYW5uZWwoc3RydWN0IGRtZmNfY2hhbm5lbCAqZG1mYykKIH0KIEVYUE9SVF9TWU1CT0xfR1BM KGlwdV9kbWZjX2Rpc2FibGVfY2hhbm5lbCk7CiAKLXN0YXRpYyBpbnQgaXB1X2RtZmNfc2V0dXBf Y2hhbm5lbChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjLCBpbnQgc2xvdHMsCi0JCWludCBzZWdt ZW50LCBpbnQgYnVyc3RzaXplKQotewotCXN0cnVjdCBpcHVfZG1mY19wcml2ICpwcml2ID0gZG1m Yy0+cHJpdjsKLQl1MzIgdmFsLCBmaWVsZDsKLQotCWRldl9kYmcocHJpdi0+ZGV2LAotCQkJImRt ZmM6IHVzaW5nICVkIHNsb3RzIHN0YXJ0aW5nIGZyb20gc2VnbWVudCAlZCBmb3IgSVBVIGNoYW5u ZWwgJWRcbiIsCi0JCQlzbG90cywgc2VnbWVudCwgZG1mYy0+ZGF0YS0+aXB1X2NoYW5uZWwpOwot Ci0Jc3dpdGNoIChzbG90cykgewotCWNhc2UgMToKLQkJZmllbGQgPSBETUZDX0ZJRk9fU0laRV82 NDsKLQkJYnJlYWs7Ci0JY2FzZSAyOgotCQlmaWVsZCA9IERNRkNfRklGT19TSVpFXzEyODsKLQkJ YnJlYWs7Ci0JY2FzZSA0OgotCQlmaWVsZCA9IERNRkNfRklGT19TSVpFXzI1NjsKLQkJYnJlYWs7 Ci0JY2FzZSA4OgotCQlmaWVsZCA9IERNRkNfRklGT19TSVpFXzUxMjsKLQkJYnJlYWs7Ci0JZGVm YXVsdDoKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jc3dpdGNoIChidXJzdHNpemUpIHsKLQlj YXNlIDE2OgotCQlmaWVsZCB8PSBETUZDX0JVUlNUU0laRV8xNjsKLQkJYnJlYWs7Ci0JY2FzZSAz MjoKLQkJZmllbGQgfD0gRE1GQ19CVVJTVFNJWkVfMzI7Ci0JCWJyZWFrOwotCWNhc2UgNjQ6Ci0J CWZpZWxkIHw9IERNRkNfQlVSU1RTSVpFXzY0OwotCQlicmVhazsKLQljYXNlIDEyODoKLQkJZmll bGQgfD0gRE1GQ19CVVJTVFNJWkVfMTI4OwotCQlicmVhazsKLQl9Ci0KLQlmaWVsZCB8PSBETUZD X1NFR01FTlQoc2VnbWVudCk7Ci0KLQl2YWwgPSByZWFkbChwcml2LT5iYXNlICsgZG1mYy0+ZGF0 YS0+Y2hhbm5lbF9yZWcpOwotCi0JdmFsICY9IH4oMHhmZiA8PCBkbWZjLT5kYXRhLT5zaGlmdCk7 Ci0JdmFsIHw9IGZpZWxkIDw8IGRtZmMtPmRhdGEtPnNoaWZ0OwotCi0Jd3JpdGVsKHZhbCwgcHJp di0+YmFzZSArIGRtZmMtPmRhdGEtPmNoYW5uZWxfcmVnKTsKLQotCWRtZmMtPnNsb3RzID0gc2xv dHM7Ci0JZG1mYy0+c2VnbWVudCA9IHNlZ21lbnQ7Ci0JZG1mYy0+YnVyc3RzaXplID0gYnVyc3Rz aXplOwotCWRtZmMtPnNsb3RtYXNrID0gKCgxIDw8IHNsb3RzKSAtIDEpIDw8IHNlZ21lbnQ7Ci0K LQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkbWZjX2JhbmR3aWR0aF90b19zbG90cyhzdHJ1 Y3QgaXB1X2RtZmNfcHJpdiAqcHJpdiwKLQkJdW5zaWduZWQgbG9uZyBiYW5kd2lkdGgpCi17Ci0J aW50IHNsb3RzID0gMTsKLQotCXdoaWxlIChzbG90cyAqIHByaXYtPmJhbmR3aWR0aF9wZXJfc2xv dCA8IGJhbmR3aWR0aCkKLQkJc2xvdHMgKj0gMjsKLQotCXJldHVybiBzbG90czsKLX0KLQotc3Rh dGljIGludCBkbWZjX2ZpbmRfc2xvdHMoc3RydWN0IGlwdV9kbWZjX3ByaXYgKnByaXYsIGludCBz bG90cykKLXsKLQl1bnNpZ25lZCBzbG90bWFza19uZWVkLCBzbG90bWFza191c2VkID0gMDsKLQlp bnQgaSwgc2VnbWVudCA9IDA7Ci0KLQlzbG90bWFza19uZWVkID0gKDEgPDwgc2xvdHMpIC0gMTsK LQotCWZvciAoaSA9IDA7IGkgPCBETUZDX05VTV9DSEFOTkVMUzsgaSsrKQotCQlzbG90bWFza191 c2VkIHw9IHByaXYtPmNoYW5uZWxzW2ldLnNsb3RtYXNrOwotCi0Jd2hpbGUgKHNsb3RtYXNrX25l ZWQgPD0gMHhmZikgewotCQlpZiAoIShzbG90bWFza191c2VkICYgc2xvdG1hc2tfbmVlZCkpCi0J CQlyZXR1cm4gc2VnbWVudDsKLQotCQlzbG90bWFza19uZWVkIDw8PSAxOwotCQlzZWdtZW50Kys7 Ci0JfQotCi0JcmV0dXJuIC1FQlVTWTsKLX0KLQotdm9pZCBpcHVfZG1mY19mcmVlX2JhbmR3aWR0 aChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjKQotewotCXN0cnVjdCBpcHVfZG1mY19wcml2ICpw cml2ID0gZG1mYy0+cHJpdjsKLQlpbnQgaTsKLQotCWRldl9kYmcocHJpdi0+ZGV2LCAiZG1mYzog ZnJlZWluZyAlZCBzbG90cyBzdGFydGluZyBmcm9tIHNlZ21lbnQgJWRcbiIsCi0JCQlkbWZjLT5z bG90cywgZG1mYy0+c2VnbWVudCk7Ci0KLQltdXRleF9sb2NrKCZwcml2LT5tdXRleCk7Ci0KLQlp ZiAoIWRtZmMtPnNsb3RzKQotCQlnb3RvIG91dDsKLQotCWRtZmMtPnNsb3RtYXNrID0gMDsKLQlk bWZjLT5zbG90cyA9IDA7Ci0JZG1mYy0+c2VnbWVudCA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwg RE1GQ19OVU1fQ0hBTk5FTFM7IGkrKykKLQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2xvdG1hc2sgPSAw OwotCi0JZm9yIChpID0gMDsgaSA8IERNRkNfTlVNX0NIQU5ORUxTOyBpKyspIHsKLQkJaWYgKHBy aXYtPmNoYW5uZWxzW2ldLnNsb3RzID4gMCkgewotCQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2VnbWVu dCA9Ci0JCQkJZG1mY19maW5kX3Nsb3RzKHByaXYsIHByaXYtPmNoYW5uZWxzW2ldLnNsb3RzKTsK LQkJCXByaXYtPmNoYW5uZWxzW2ldLnNsb3RtYXNrID0KLQkJCQkoKDEgPDwgcHJpdi0+Y2hhbm5l bHNbaV0uc2xvdHMpIC0gMSkgPDwKLQkJCQlwcml2LT5jaGFubmVsc1tpXS5zZWdtZW50OwotCQl9 Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IERNRkNfTlVNX0NIQU5ORUxTOyBpKyspIHsKLQkJaWYg KHByaXYtPmNoYW5uZWxzW2ldLnNsb3RzID4gMCkKLQkJCWlwdV9kbWZjX3NldHVwX2NoYW5uZWwo JnByaXYtPmNoYW5uZWxzW2ldLAotCQkJCQlwcml2LT5jaGFubmVsc1tpXS5zbG90cywKLQkJCQkJ cHJpdi0+Y2hhbm5lbHNbaV0uc2VnbWVudCwKLQkJCQkJcHJpdi0+Y2hhbm5lbHNbaV0uYnVyc3Rz aXplKTsKLQl9Ci1vdXQ6Ci0JbXV0ZXhfdW5sb2NrKCZwcml2LT5tdXRleCk7Ci19Ci1FWFBPUlRf U1lNQk9MX0dQTChpcHVfZG1mY19mcmVlX2JhbmR3aWR0aCk7Ci0KLWludCBpcHVfZG1mY19hbGxv Y19iYW5kd2lkdGgoc3RydWN0IGRtZmNfY2hhbm5lbCAqZG1mYywKLQkJdW5zaWduZWQgbG9uZyBi YW5kd2lkdGhfcGl4ZWxfcGVyX3NlY29uZCwgaW50IGJ1cnN0c2l6ZSkKLXsKLQlzdHJ1Y3QgaXB1 X2RtZmNfcHJpdiAqcHJpdiA9IGRtZmMtPnByaXY7Ci0JaW50IHNsb3RzID0gZG1mY19iYW5kd2lk dGhfdG9fc2xvdHMocHJpdiwgYmFuZHdpZHRoX3BpeGVsX3Blcl9zZWNvbmQpOwotCWludCBzZWdt ZW50ID0gLTEsIHJldCA9IDA7Ci0KLQlkZXZfZGJnKHByaXYtPmRldiwgImRtZmM6IHRyeWluZyB0 byBhbGxvY2F0ZSAlbGRNcGl4ZWwvcyBmb3IgSVBVIGNoYW5uZWwgJWRcbiIsCi0JCQliYW5kd2lk dGhfcGl4ZWxfcGVyX3NlY29uZCAvIDEwMDAwMDAsCi0JCQlkbWZjLT5kYXRhLT5pcHVfY2hhbm5l bCk7Ci0KLQlpcHVfZG1mY19mcmVlX2JhbmR3aWR0aChkbWZjKTsKLQotCW11dGV4X2xvY2soJnBy aXYtPm11dGV4KTsKLQotCWlmIChzbG90cyA+IDgpIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3Rv IG91dDsKLQl9Ci0KLQkvKiBGb3IgdGhlIE1FTV9CRyBjaGFubmVsLCBmaXJzdCB0cnkgdG8gYWxs b2NhdGUgdHdpY2UgdGhlIHNsb3RzICovCi0JaWYgKGRtZmMtPmRhdGEtPmlwdV9jaGFubmVsID09 IElQVVYzX0NIQU5ORUxfTUVNX0JHX1NZTkMpCi0JCXNlZ21lbnQgPSBkbWZjX2ZpbmRfc2xvdHMo cHJpdiwgc2xvdHMgKiAyKTsKLQllbHNlIGlmIChzbG90cyA8IDIpCi0JCS8qIEFsd2F5cyBhbGxv Y2F0ZSBhdCBsZWFzdCAxMjgqNCBieXRlcyAoMiBzbG90cykgKi8KLQkJc2xvdHMgPSAyOwotCi0J aWYgKHNlZ21lbnQgPj0gMCkKLQkJc2xvdHMgKj0gMjsKLQllbHNlCi0JCXNlZ21lbnQgPSBkbWZj X2ZpbmRfc2xvdHMocHJpdiwgc2xvdHMpOwotCWlmIChzZWdtZW50IDwgMCkgewotCQlyZXQgPSAt RUJVU1k7Ci0JCWdvdG8gb3V0OwotCX0KLQotCWlwdV9kbWZjX3NldHVwX2NoYW5uZWwoZG1mYywg c2xvdHMsIHNlZ21lbnQsIGJ1cnN0c2l6ZSk7Ci0KLW91dDoKLQltdXRleF91bmxvY2soJnByaXYt Pm11dGV4KTsKLQotCXJldHVybiByZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1mY19h bGxvY19iYW5kd2lkdGgpOwotCiB2b2lkIGlwdV9kbWZjX2NvbmZpZ193YWl0NGVvdChzdHJ1Y3Qg ZG1mY19jaGFubmVsICpkbWZjLCBpbnQgd2lkdGgpCiB7CiAJc3RydWN0IGlwdV9kbWZjX3ByaXYg KnByaXYgPSBkbWZjLT5wcml2OwpAQCAtMzg0LDcgKzE5MSw2IEBAIEVYUE9SVF9TWU1CT0xfR1BM KGlwdV9kbWZjX2dldCk7CiAKIHZvaWQgaXB1X2RtZmNfcHV0KHN0cnVjdCBkbWZjX2NoYW5uZWwg KmRtZmMpCiB7Ci0JaXB1X2RtZmNfZnJlZV9iYW5kd2lkdGgoZG1mYyk7CiB9CiBFWFBPUlRfU1lN Qk9MX0dQTChpcHVfZG1mY19wdXQpOwogCkBAIC00MTIsMjAgKzIxOCwxNSBAQCBpbnQgaXB1X2Rt ZmNfaW5pdChzdHJ1Y3QgaXB1X3NvYyAqaXB1LCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVk IGxvbmcgYmFzZSwKIAkJcHJpdi0+Y2hhbm5lbHNbaV0ucHJpdiA9IHByaXY7CiAJCXByaXYtPmNo YW5uZWxzW2ldLmlwdSA9IGlwdTsKIAkJcHJpdi0+Y2hhbm5lbHNbaV0uZGF0YSA9ICZkbWZjZGF0 YVtpXTsKLQl9Ci0KLQl3cml0ZWwoMHgwLCBwcml2LT5iYXNlICsgRE1GQ19XUl9DSEFOKTsKLQl3 cml0ZWwoMHgwLCBwcml2LT5iYXNlICsgRE1GQ19EUF9DSEFOKTsKIAotCS8qCi0JICogV2UgaGF2 ZSBhIHRvdGFsIGJhbmR3aWR0aCBvZiBjbGtyYXRlICogNHBpeGVsIGRpdmlkZWQKLQkgKiBpbnRv IDggc2xvdHMuCi0JICovCi0JcHJpdi0+YmFuZHdpZHRoX3Blcl9zbG90ID0gY2xrX2dldF9yYXRl KGlwdV9jbGspICogNCAvIDg7Ci0KLQlkZXZfZGJnKGRldiwgImRtZmM6IDggc2xvdHMgd2l0aCAl bGRNcGl4ZWwvcyBiYW5kd2lkdGggZWFjaFxuIiwKLQkJCXByaXYtPmJhbmR3aWR0aF9wZXJfc2xv dCAvIDEwMDAwMDApOworCQlpZiAoZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwgPT0gSVBVVjNfQ0hB Tk5FTF9NRU1fQkdfU1lOQyB8fAorCQkgICAgZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwgPT0gSVBV VjNfQ0hBTk5FTF9NRU1fRkdfU1lOQyB8fAorCQkgICAgZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwg PT0gSVBVVjNfQ0hBTk5FTF9NRU1fRENfU1lOQykKKwkJCXByaXYtPmNoYW5uZWxzW2ldLnNsb3Rz ID0gMjsKKwl9CiAKKwl3cml0ZWwoMHgwMDAwMDA1MCwgcHJpdi0+YmFzZSArIERNRkNfV1JfQ0hB Tik7CisJd3JpdGVsKDB4MDAwMDU2NTQsIHByaXYtPmJhc2UgKyBETUZDX0RQX0NIQU4pOwogCXdy aXRlbCgweDIwMjAyMGY2LCBwcml2LT5iYXNlICsgRE1GQ19XUl9DSEFOX0RFRik7CiAJd3JpdGVs KDB4MjAyMGY2ZjYsIHByaXYtPmJhc2UgKyBETUZDX0RQX0NIQU5fREVGKTsKIAl3cml0ZWwoMHgw MDAwMDAwMywgcHJpdi0+YmFzZSArIERNRkNfR0VORVJBTDEpOwpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS92aWRlby9pbXgtaXB1LXYzLmggYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAppbmRleCAz YTJhNzk0Li43YWRlYWFlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAor KysgYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaApAQCAtMjM1LDkgKzIzNSw2IEBAIGludCBp cHVfZGlfaW5pdF9zeW5jX3BhbmVsKHN0cnVjdCBpcHVfZGkgKiwgc3RydWN0IGlwdV9kaV9zaWdu YWxfY2ZnICpzaWcpOwogc3RydWN0IGRtZmNfY2hhbm5lbDsKIGludCBpcHVfZG1mY19lbmFibGVf Y2hhbm5lbChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjKTsKIHZvaWQgaXB1X2RtZmNfZGlzYWJs ZV9jaGFubmVsKHN0cnVjdCBkbWZjX2NoYW5uZWwgKmRtZmMpOwotaW50IGlwdV9kbWZjX2FsbG9j X2JhbmR3aWR0aChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjLAotCQl1bnNpZ25lZCBsb25nIGJh bmR3aWR0aF9tYnMsIGludCBidXJzdHNpemUpOwotdm9pZCBpcHVfZG1mY19mcmVlX2JhbmR3aWR0 aChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZjKTsKIHZvaWQgaXB1X2RtZmNfY29uZmlnX3dhaXQ0 ZW90KHN0cnVjdCBkbWZjX2NoYW5uZWwgKmRtZmMsIGludCB3aWR0aCk7CiBzdHJ1Y3QgZG1mY19j aGFubmVsICppcHVfZG1mY19nZXQoc3RydWN0IGlwdV9zb2MgKmlwdSwgaW50IGlwdXYzX2NoYW5u ZWwpOwogdm9pZCBpcHVfZG1mY19wdXQoc3RydWN0IGRtZmNfY2hhbm5lbCAqZG1mYyk7Ci0tIAoy LjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==