From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Ying Subject: [PATCH 04/14] gpu: ipu-v3: ipu-dmfc: Use static DMFC FIFO allocation mechanism Date: Tue, 24 May 2016 18:10:43 +0800 Message-ID: <1464084653-16684-5-git-send-email-gnuiyl@gmail.com> References: <1464084653-16684-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 na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0074.outbound.protection.outlook.com [157.56.110.74]) by gabe.freedesktop.org (Postfix) with ESMTPS id 907C16E6F5 for ; Tue, 24 May 2016 10:25:38 +0000 (UTC) In-Reply-To: <1464084653-16684-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 List-Id: dri-devel@lists.freedesktop.org Rm9yIG5vcm1hbCB2aWRlbyBtb2RlcyBzdWNoIGFzIDEyODB4NzIwcEA2MEh6IGFuZCAxOTIweDEw ODBwQDYwSHosCndlIGFsd2F5cyBnZXQgMiBzbG90cyBmb3IgYSBwbGFuZSBieSB1c2luZyB0aGUg Y3VycmVudCBleGlzdGluZwpkeW5hbWljIERNRkMgRklGTyBhbGxvY2F0aW9uIG1lY2hhbmlzbS4g IFNvLCBsZXQncyBjaGFuZ2UgdG8gdXNlCnRoZSBzdGF0aWMgb25lIHRvIHNpbXBsaWZ5IHRoZSBj b2RlLiAgVGhpcyBhbHNvIG1ha2VzIGl0IGVhc2llciB0bwppbXBsZW1lbnQgdGhlIGF0b21pYyBt b2RlIHNldHRpbmcgYXMgd2UgZG9uJ3QgbmVlZCB0byBoYW5kbGUKYWxsb2NhdGlvbiBmYWlsdXJl IGNhc2VzIHRoZW4uCgpTaWduZWQtb2ZmLWJ5OiBMaXUgWWluZyA8Z251aXlsQGdtYWlsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLXBsYW5lLmMgfCAgMjYgLS0tLS0KIGRyaXZl cnMvZ3B1L2lwdS12My9pcHUtZG1mYy5jICAgICB8IDIxMyArKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS92aWRlby9pbXgtaXB1LXYzLmggICAgICAgIHwgICAz IC0KIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyMzUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCmluZGV4IDhmOTFiMmUuLjMwY2VkYmIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaW14L2lwdXYzLXBsYW5lLmMKQEAgLTUxLDI0ICs1MSw2IEBAIGludCBpcHVfcGxhbmVfaXJx KHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZSkKIAkJCQkgICAgIElQVV9JUlFfRU9GKTsKIH0K IAotc3RhdGljIGludCBjYWxjX3ZyZWYoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCi17 Ci0JdW5zaWduZWQgbG9uZyBodG90YWwsIHZ0b3RhbDsKLQotCWh0b3RhbCA9IG1vZGUtPmh0b3Rh bDsKLQl2dG90YWwgPSBtb2RlLT52dG90YWw7Ci0KLQlpZiAoIWh0b3RhbCB8fCAhdnRvdGFsKQot CQlyZXR1cm4gNjA7Ci0KLQlyZXR1cm4gRElWX1JPVU5EX1VQKG1vZGUtPmNsb2NrICogMTAwMCwg dnRvdGFsICogaHRvdGFsKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgY2FsY19iYW5kd2lkdGgo aW50IHdpZHRoLCBpbnQgaGVpZ2h0LCB1bnNpZ25lZCBpbnQgdnJlZikKLXsKLQlyZXR1cm4gd2lk dGggKiBoZWlnaHQgKiB2cmVmOwotfQotCiBpbnQgaXB1X3BsYW5lX3NldF9iYXNlKHN0cnVjdCBp cHVfcGxhbmUgKmlwdV9wbGFuZSwgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCSAgICAg ICBpbnQgeCwgaW50IHkpCiB7CkBAIC0yOTAsMTQgKzI3Miw2IEBAIGludCBpcHVfcGxhbmVfbW9k ZV9zZXQoc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJCX0KIAl9CiAKLQlyZXQgPSBpcHVfZG1mY19hbGxvY19iYW5kd2lkdGgoaXB1X3BsYW5lLT5k bWZjLAotCQkJY2FsY19iYW5kd2lkdGgoY3J0Y193LCBjcnRjX2gsCi0JCQkJICAgICAgIGNhbGNf dnJlZihtb2RlKSksIDY0KTsKLQlpZiAocmV0KSB7Ci0JCWRldl9lcnIoZGV2LCAiYWxsb2NhdGlu ZyBkbWZjIGJhbmR3aWR0aCBmYWlsZWQgd2l0aCAlZFxuIiwgcmV0KTsKLQkJcmV0dXJuIHJldDsK LQl9Ci0KIAlpcHVfZG1mY19jb25maWdfd2FpdDRlb3QoaXB1X3BsYW5lLT5kbWZjLCBjcnRjX3cp OwogCiAJaXB1X2NwbWVtX3plcm8oaXB1X3BsYW5lLT5pcHVfY2gpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvaXB1LXYzL2lwdS1kbWZjLmMgYi9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWRtZmMu YwppbmRleCA4MzdiMWVjMi4uNDI3MDViYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvaXB1LXYz L2lwdS1kbWZjLmMKKysrIGIvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kbWZjLmMKQEAgLTQ1LDE3 ICs0NSw2IEBACiAjZGVmaW5lIERNRkNfRFBfQ0hBTl82Ql8yNAkJMTYKICNkZWZpbmUgRE1GQ19E UF9DSEFOXzZGXzI5CQkyNAogCi0jZGVmaW5lIERNRkNfRklGT19TSVpFXzY0CQkoMyA8PCAzKQot I2RlZmluZSBETUZDX0ZJRk9fU0laRV8xMjgJCSgyIDw8IDMpCi0jZGVmaW5lIERNRkNfRklGT19T SVpFXzI1NgkJKDEgPDwgMykKLSNkZWZpbmUgRE1GQ19GSUZPX1NJWkVfNTEyCQkoMCA8PCAzKQot Ci0jZGVmaW5lIERNRkNfU0VHTUVOVCh4KQkJCSgoeCAmIDB4NykgPDwgMCkKLSNkZWZpbmUgRE1G Q19CVVJTVFNJWkVfMTI4CQkoMCA8PCA2KQotI2RlZmluZSBETUZDX0JVUlNUU0laRV82NAkJKDEg PDwgNikKLSNkZWZpbmUgRE1GQ19CVVJTVFNJWkVfMzIJCSgyIDw8IDYpCi0jZGVmaW5lIERNRkNf QlVSU1RTSVpFXzE2CQkoMyA8PCA2KQotCiBzdHJ1Y3QgZG1mY19jaGFubmVsX2RhdGEgewogCWlu dAkJaXB1X2NoYW5uZWw7CiAJdW5zaWduZWQgbG9uZwljaGFubmVsX3JlZzsKQEAgLTEwNCw5ICs5 Myw2IEBAIHN0cnVjdCBpcHVfZG1mY19wcml2OwogCiBzdHJ1Y3QgZG1mY19jaGFubmVsIHsKIAl1 bnNpZ25lZAkJCXNsb3RzOwotCXVuc2lnbmVkCQkJc2xvdG1hc2s7Ci0JdW5zaWduZWQJCQlzZWdt ZW50OwotCWludAkJCQlidXJzdHNpemU7CiAJc3RydWN0IGlwdV9zb2MJCQkqaXB1OwogCXN0cnVj dCBpcHVfZG1mY19wcml2CQkqcHJpdjsKIAljb25zdCBzdHJ1Y3QgZG1mY19jaGFubmVsX2RhdGEJ KmRhdGE7CkBAIC0xMTcsNyArMTAzLDYgQEAgc3RydWN0IGlwdV9kbWZjX3ByaXYgewogCXN0cnVj dCBkZXZpY2UgKmRldjsKIAlzdHJ1Y3QgZG1mY19jaGFubmVsIGNoYW5uZWxzW0RNRkNfTlVNX0NI QU5ORUxTXTsKIAlzdHJ1Y3QgbXV0ZXggbXV0ZXg7Ci0JdW5zaWduZWQgbG9uZyBiYW5kd2lkdGhf cGVyX3Nsb3Q7CiAJdm9pZCBfX2lvbWVtICpiYXNlOwogCWludCB1c2VfY291bnQ7CiB9OwpAQCAt MTcyLDE4NCArMTU3LDYgQEAgdm9pZCBpcHVfZG1mY19kaXNhYmxlX2NoYW5uZWwoc3RydWN0IGRt ZmNfY2hhbm5lbCAqZG1mYykKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGlwdV9kbWZjX2Rpc2FibGVf Y2hhbm5lbCk7CiAKLXN0YXRpYyBpbnQgaXB1X2RtZmNfc2V0dXBfY2hhbm5lbChzdHJ1Y3QgZG1m Y19jaGFubmVsICpkbWZjLCBpbnQgc2xvdHMsCi0JCWludCBzZWdtZW50LCBpbnQgYnVyc3RzaXpl KQotewotCXN0cnVjdCBpcHVfZG1mY19wcml2ICpwcml2ID0gZG1mYy0+cHJpdjsKLQl1MzIgdmFs LCBmaWVsZDsKLQotCWRldl9kYmcocHJpdi0+ZGV2LAotCQkJImRtZmM6IHVzaW5nICVkIHNsb3Rz IHN0YXJ0aW5nIGZyb20gc2VnbWVudCAlZCBmb3IgSVBVIGNoYW5uZWwgJWRcbiIsCi0JCQlzbG90 cywgc2VnbWVudCwgZG1mYy0+ZGF0YS0+aXB1X2NoYW5uZWwpOwotCi0Jc3dpdGNoIChzbG90cykg ewotCWNhc2UgMToKLQkJZmllbGQgPSBETUZDX0ZJRk9fU0laRV82NDsKLQkJYnJlYWs7Ci0JY2Fz ZSAyOgotCQlmaWVsZCA9IERNRkNfRklGT19TSVpFXzEyODsKLQkJYnJlYWs7Ci0JY2FzZSA0Ogot CQlmaWVsZCA9IERNRkNfRklGT19TSVpFXzI1NjsKLQkJYnJlYWs7Ci0JY2FzZSA4OgotCQlmaWVs ZCA9IERNRkNfRklGT19TSVpFXzUxMjsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIC1F SU5WQUw7Ci0JfQotCi0Jc3dpdGNoIChidXJzdHNpemUpIHsKLQljYXNlIDE2OgotCQlmaWVsZCB8 PSBETUZDX0JVUlNUU0laRV8xNjsKLQkJYnJlYWs7Ci0JY2FzZSAzMjoKLQkJZmllbGQgfD0gRE1G Q19CVVJTVFNJWkVfMzI7Ci0JCWJyZWFrOwotCWNhc2UgNjQ6Ci0JCWZpZWxkIHw9IERNRkNfQlVS U1RTSVpFXzY0OwotCQlicmVhazsKLQljYXNlIDEyODoKLQkJZmllbGQgfD0gRE1GQ19CVVJTVFNJ WkVfMTI4OwotCQlicmVhazsKLQl9Ci0KLQlmaWVsZCB8PSBETUZDX1NFR01FTlQoc2VnbWVudCk7 Ci0KLQl2YWwgPSByZWFkbChwcml2LT5iYXNlICsgZG1mYy0+ZGF0YS0+Y2hhbm5lbF9yZWcpOwot Ci0JdmFsICY9IH4oMHhmZiA8PCBkbWZjLT5kYXRhLT5zaGlmdCk7Ci0JdmFsIHw9IGZpZWxkIDw8 IGRtZmMtPmRhdGEtPnNoaWZ0OwotCi0Jd3JpdGVsKHZhbCwgcHJpdi0+YmFzZSArIGRtZmMtPmRh dGEtPmNoYW5uZWxfcmVnKTsKLQotCWRtZmMtPnNsb3RzID0gc2xvdHM7Ci0JZG1mYy0+c2VnbWVu dCA9IHNlZ21lbnQ7Ci0JZG1mYy0+YnVyc3RzaXplID0gYnVyc3RzaXplOwotCWRtZmMtPnNsb3Rt YXNrID0gKCgxIDw8IHNsb3RzKSAtIDEpIDw8IHNlZ21lbnQ7Ci0KLQlyZXR1cm4gMDsKLX0KLQot c3RhdGljIGludCBkbWZjX2JhbmR3aWR0aF90b19zbG90cyhzdHJ1Y3QgaXB1X2RtZmNfcHJpdiAq cHJpdiwKLQkJdW5zaWduZWQgbG9uZyBiYW5kd2lkdGgpCi17Ci0JaW50IHNsb3RzID0gMTsKLQot CXdoaWxlIChzbG90cyAqIHByaXYtPmJhbmR3aWR0aF9wZXJfc2xvdCA8IGJhbmR3aWR0aCkKLQkJ c2xvdHMgKj0gMjsKLQotCXJldHVybiBzbG90czsKLX0KLQotc3RhdGljIGludCBkbWZjX2ZpbmRf c2xvdHMoc3RydWN0IGlwdV9kbWZjX3ByaXYgKnByaXYsIGludCBzbG90cykKLXsKLQl1bnNpZ25l ZCBzbG90bWFza19uZWVkLCBzbG90bWFza191c2VkID0gMDsKLQlpbnQgaSwgc2VnbWVudCA9IDA7 Ci0KLQlzbG90bWFza19uZWVkID0gKDEgPDwgc2xvdHMpIC0gMTsKLQotCWZvciAoaSA9IDA7IGkg PCBETUZDX05VTV9DSEFOTkVMUzsgaSsrKQotCQlzbG90bWFza191c2VkIHw9IHByaXYtPmNoYW5u ZWxzW2ldLnNsb3RtYXNrOwotCi0Jd2hpbGUgKHNsb3RtYXNrX25lZWQgPD0gMHhmZikgewotCQlp ZiAoIShzbG90bWFza191c2VkICYgc2xvdG1hc2tfbmVlZCkpCi0JCQlyZXR1cm4gc2VnbWVudDsK LQotCQlzbG90bWFza19uZWVkIDw8PSAxOwotCQlzZWdtZW50Kys7Ci0JfQotCi0JcmV0dXJuIC1F QlVTWTsKLX0KLQotdm9pZCBpcHVfZG1mY19mcmVlX2JhbmR3aWR0aChzdHJ1Y3QgZG1mY19jaGFu bmVsICpkbWZjKQotewotCXN0cnVjdCBpcHVfZG1mY19wcml2ICpwcml2ID0gZG1mYy0+cHJpdjsK LQlpbnQgaTsKLQotCWRldl9kYmcocHJpdi0+ZGV2LCAiZG1mYzogZnJlZWluZyAlZCBzbG90cyBz dGFydGluZyBmcm9tIHNlZ21lbnQgJWRcbiIsCi0JCQlkbWZjLT5zbG90cywgZG1mYy0+c2VnbWVu dCk7Ci0KLQltdXRleF9sb2NrKCZwcml2LT5tdXRleCk7Ci0KLQlpZiAoIWRtZmMtPnNsb3RzKQot CQlnb3RvIG91dDsKLQotCWRtZmMtPnNsb3RtYXNrID0gMDsKLQlkbWZjLT5zbG90cyA9IDA7Ci0J ZG1mYy0+c2VnbWVudCA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgRE1GQ19OVU1fQ0hBTk5FTFM7 IGkrKykKLQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2xvdG1hc2sgPSAwOwotCi0JZm9yIChpID0gMDsg aSA8IERNRkNfTlVNX0NIQU5ORUxTOyBpKyspIHsKLQkJaWYgKHByaXYtPmNoYW5uZWxzW2ldLnNs b3RzID4gMCkgewotCQkJcHJpdi0+Y2hhbm5lbHNbaV0uc2VnbWVudCA9Ci0JCQkJZG1mY19maW5k X3Nsb3RzKHByaXYsIHByaXYtPmNoYW5uZWxzW2ldLnNsb3RzKTsKLQkJCXByaXYtPmNoYW5uZWxz W2ldLnNsb3RtYXNrID0KLQkJCQkoKDEgPDwgcHJpdi0+Y2hhbm5lbHNbaV0uc2xvdHMpIC0gMSkg PDwKLQkJCQlwcml2LT5jaGFubmVsc1tpXS5zZWdtZW50OwotCQl9Ci0JfQotCi0JZm9yIChpID0g MDsgaSA8IERNRkNfTlVNX0NIQU5ORUxTOyBpKyspIHsKLQkJaWYgKHByaXYtPmNoYW5uZWxzW2ld LnNsb3RzID4gMCkKLQkJCWlwdV9kbWZjX3NldHVwX2NoYW5uZWwoJnByaXYtPmNoYW5uZWxzW2ld LAotCQkJCQlwcml2LT5jaGFubmVsc1tpXS5zbG90cywKLQkJCQkJcHJpdi0+Y2hhbm5lbHNbaV0u c2VnbWVudCwKLQkJCQkJcHJpdi0+Y2hhbm5lbHNbaV0uYnVyc3RzaXplKTsKLQl9Ci1vdXQ6Ci0J bXV0ZXhfdW5sb2NrKCZwcml2LT5tdXRleCk7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1m Y19mcmVlX2JhbmR3aWR0aCk7Ci0KLWludCBpcHVfZG1mY19hbGxvY19iYW5kd2lkdGgoc3RydWN0 IGRtZmNfY2hhbm5lbCAqZG1mYywKLQkJdW5zaWduZWQgbG9uZyBiYW5kd2lkdGhfcGl4ZWxfcGVy X3NlY29uZCwgaW50IGJ1cnN0c2l6ZSkKLXsKLQlzdHJ1Y3QgaXB1X2RtZmNfcHJpdiAqcHJpdiA9 IGRtZmMtPnByaXY7Ci0JaW50IHNsb3RzID0gZG1mY19iYW5kd2lkdGhfdG9fc2xvdHMocHJpdiwg YmFuZHdpZHRoX3BpeGVsX3Blcl9zZWNvbmQpOwotCWludCBzZWdtZW50ID0gLTEsIHJldCA9IDA7 Ci0KLQlkZXZfZGJnKHByaXYtPmRldiwgImRtZmM6IHRyeWluZyB0byBhbGxvY2F0ZSAlbGRNcGl4 ZWwvcyBmb3IgSVBVIGNoYW5uZWwgJWRcbiIsCi0JCQliYW5kd2lkdGhfcGl4ZWxfcGVyX3NlY29u ZCAvIDEwMDAwMDAsCi0JCQlkbWZjLT5kYXRhLT5pcHVfY2hhbm5lbCk7Ci0KLQlpcHVfZG1mY19m cmVlX2JhbmR3aWR0aChkbWZjKTsKLQotCW11dGV4X2xvY2soJnByaXYtPm11dGV4KTsKLQotCWlm IChzbG90cyA+IDgpIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiBG b3IgdGhlIE1FTV9CRyBjaGFubmVsLCBmaXJzdCB0cnkgdG8gYWxsb2NhdGUgdHdpY2UgdGhlIHNs b3RzICovCi0JaWYgKGRtZmMtPmRhdGEtPmlwdV9jaGFubmVsID09IElQVVYzX0NIQU5ORUxfTUVN X0JHX1NZTkMpCi0JCXNlZ21lbnQgPSBkbWZjX2ZpbmRfc2xvdHMocHJpdiwgc2xvdHMgKiAyKTsK LQllbHNlIGlmIChzbG90cyA8IDIpCi0JCS8qIEFsd2F5cyBhbGxvY2F0ZSBhdCBsZWFzdCAxMjgq NCBieXRlcyAoMiBzbG90cykgKi8KLQkJc2xvdHMgPSAyOwotCi0JaWYgKHNlZ21lbnQgPj0gMCkK LQkJc2xvdHMgKj0gMjsKLQllbHNlCi0JCXNlZ21lbnQgPSBkbWZjX2ZpbmRfc2xvdHMocHJpdiwg c2xvdHMpOwotCWlmIChzZWdtZW50IDwgMCkgewotCQlyZXQgPSAtRUJVU1k7Ci0JCWdvdG8gb3V0 OwotCX0KLQotCWlwdV9kbWZjX3NldHVwX2NoYW5uZWwoZG1mYywgc2xvdHMsIHNlZ21lbnQsIGJ1 cnN0c2l6ZSk7Ci0KLW91dDoKLQltdXRleF91bmxvY2soJnByaXYtPm11dGV4KTsKLQotCXJldHVy biByZXQ7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1mY19hbGxvY19iYW5kd2lkdGgpOwot CiB2b2lkIGlwdV9kbWZjX2NvbmZpZ193YWl0NGVvdChzdHJ1Y3QgZG1mY19jaGFubmVsICpkbWZj LCBpbnQgd2lkdGgpCiB7CiAJc3RydWN0IGlwdV9kbWZjX3ByaXYgKnByaXYgPSBkbWZjLT5wcml2 OwpAQCAtMzg0LDcgKzE5MSw2IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGlwdV9kbWZjX2dldCk7CiAK IHZvaWQgaXB1X2RtZmNfcHV0KHN0cnVjdCBkbWZjX2NoYW5uZWwgKmRtZmMpCiB7Ci0JaXB1X2Rt ZmNfZnJlZV9iYW5kd2lkdGgoZG1mYyk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChpcHVfZG1mY19w dXQpOwogCkBAIC00MTIsMjAgKzIxOCwxNSBAQCBpbnQgaXB1X2RtZmNfaW5pdChzdHJ1Y3QgaXB1 X3NvYyAqaXB1LCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgYmFzZSwKIAkJcHJp di0+Y2hhbm5lbHNbaV0ucHJpdiA9IHByaXY7CiAJCXByaXYtPmNoYW5uZWxzW2ldLmlwdSA9IGlw dTsKIAkJcHJpdi0+Y2hhbm5lbHNbaV0uZGF0YSA9ICZkbWZjZGF0YVtpXTsKLQl9Ci0KLQl3cml0 ZWwoMHgwLCBwcml2LT5iYXNlICsgRE1GQ19XUl9DSEFOKTsKLQl3cml0ZWwoMHgwLCBwcml2LT5i YXNlICsgRE1GQ19EUF9DSEFOKTsKIAotCS8qCi0JICogV2UgaGF2ZSBhIHRvdGFsIGJhbmR3aWR0 aCBvZiBjbGtyYXRlICogNHBpeGVsIGRpdmlkZWQKLQkgKiBpbnRvIDggc2xvdHMuCi0JICovCi0J cHJpdi0+YmFuZHdpZHRoX3Blcl9zbG90ID0gY2xrX2dldF9yYXRlKGlwdV9jbGspICogNCAvIDg7 Ci0KLQlkZXZfZGJnKGRldiwgImRtZmM6IDggc2xvdHMgd2l0aCAlbGRNcGl4ZWwvcyBiYW5kd2lk dGggZWFjaFxuIiwKLQkJCXByaXYtPmJhbmR3aWR0aF9wZXJfc2xvdCAvIDEwMDAwMDApOworCQlp ZiAoZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwgPT0gSVBVVjNfQ0hBTk5FTF9NRU1fQkdfU1lOQyB8 fAorCQkgICAgZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwgPT0gSVBVVjNfQ0hBTk5FTF9NRU1fRkdf U1lOQyB8fAorCQkgICAgZG1mY2RhdGFbaV0uaXB1X2NoYW5uZWwgPT0gSVBVVjNfQ0hBTk5FTF9N RU1fRENfU1lOQykKKwkJCXByaXYtPmNoYW5uZWxzW2ldLnNsb3RzID0gMjsKKwl9CiAKKwl3cml0 ZWwoMHgwMDAwMDA1MCwgcHJpdi0+YmFzZSArIERNRkNfV1JfQ0hBTik7CisJd3JpdGVsKDB4MDAw MDU2NTQsIHByaXYtPmJhc2UgKyBETUZDX0RQX0NIQU4pOwogCXdyaXRlbCgweDIwMjAyMGY2LCBw cml2LT5iYXNlICsgRE1GQ19XUl9DSEFOX0RFRik7CiAJd3JpdGVsKDB4MjAyMGY2ZjYsIHByaXYt PmJhc2UgKyBETUZDX0RQX0NIQU5fREVGKTsKIAl3cml0ZWwoMHgwMDAwMDAwMywgcHJpdi0+YmFz ZSArIERNRkNfR0VORVJBTDEpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS92aWRlby9pbXgtaXB1LXYz LmggYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAppbmRleCAzYTJhNzk0Li43YWRlYWFlIDEw MDY0NAotLS0gYS9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaAorKysgYi9pbmNsdWRlL3ZpZGVv L2lteC1pcHUtdjMuaApAQCAtMjM1LDkgKzIzNSw2IEBAIGludCBpcHVfZGlfaW5pdF9zeW5jX3Bh bmVsKHN0cnVjdCBpcHVfZGkgKiwgc3RydWN0IGlwdV9kaV9zaWduYWxfY2ZnICpzaWcpOwogc3Ry dWN0IGRtZmNfY2hhbm5lbDsKIGludCBpcHVfZG1mY19lbmFibGVfY2hhbm5lbChzdHJ1Y3QgZG1m Y19jaGFubmVsICpkbWZjKTsKIHZvaWQgaXB1X2RtZmNfZGlzYWJsZV9jaGFubmVsKHN0cnVjdCBk bWZjX2NoYW5uZWwgKmRtZmMpOwotaW50IGlwdV9kbWZjX2FsbG9jX2JhbmR3aWR0aChzdHJ1Y3Qg ZG1mY19jaGFubmVsICpkbWZjLAotCQl1bnNpZ25lZCBsb25nIGJhbmR3aWR0aF9tYnMsIGludCBi dXJzdHNpemUpOwotdm9pZCBpcHVfZG1mY19mcmVlX2JhbmR3aWR0aChzdHJ1Y3QgZG1mY19jaGFu bmVsICpkbWZjKTsKIHZvaWQgaXB1X2RtZmNfY29uZmlnX3dhaXQ0ZW90KHN0cnVjdCBkbWZjX2No YW5uZWwgKmRtZmMsIGludCB3aWR0aCk7CiBzdHJ1Y3QgZG1mY19jaGFubmVsICppcHVfZG1mY19n ZXQoc3RydWN0IGlwdV9zb2MgKmlwdSwgaW50IGlwdXYzX2NoYW5uZWwpOwogdm9pZCBpcHVfZG1m Y19wdXQoc3RydWN0IGRtZmNfY2hhbm5lbCAqZG1mYyk7Ci0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==