From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bart Van Assche Subject: Re: [PATCH v2 00/26] IB: Optimize DMA mapping Date: Tue, 17 Jan 2017 21:48:44 +0000 Message-ID: <1484689709.2729.6.camel@sandisk.com> References: <20170112190718.6728-1-bart.vanassche@sandisk.com> <1484338667.2679.15.camel@sandisk.com> <1484344759.2679.26.camel@sandisk.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_002_148468970927296camelsandiskcom_" Return-path: In-Reply-To: Content-Language: en-US Sender: linux-rdma-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "alex.estrin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org" , "dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org" Cc: "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org" List-Id: linux-rdma@vger.kernel.org --_002_148468970927296camelsandiskcom_ Content-Type: text/plain; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable On Sat, 2017-01-14 at 02:05 +0000, Estrin, Alex wrote: > [ ... ] > please see hfi1/verbs.c @ hfi1_register_ib_device() =20 > [ ... ] Hello Alex, I think I figured out what I did wrong: both the hfi1 and the qib drivers n= eed two sets of DMA mapping operations. ULPs have to use &dma_virt_ops and the SDMA= code has to use the PCIe DMA mapping operations. My patch series made the SDMA c= ode use dma_virt_ops and that's wrong. The attached patch should fix this. Unfortun= ately I do not have access to a hfi1 or qib test setup. Can you help me by testing = the attached patch on top of the already posted patches? Thanks, Bart.= --_002_148468970927296camelsandiskcom_ Content-Type: text/x-patch; name="0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch" Content-Description: 0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch Content-Disposition: attachment; filename="0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch"; size=3583; creation-date="Tue, 17 Jan 2017 21:48:43 GMT"; modification-date="Tue, 17 Jan 2017 21:48:43 GMT" Content-ID: <513DFC813F1CB64CAA63ADE1D3462390-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org> Content-Transfer-Encoding: base64 RnJvbSAyMWVkNDY4MGExNmIyMjgxZWE2M2NhYTlhM2VmOWU0YzY4MmExZDhiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBUdWUsIDE3IEphbiAyMDE3IDEzOjIyOjM1IC0wODAwClN1YmplY3Q6IFtQ QVRDSF0gaGZpMSwgcWliLCByZG1hdnQ6IFVzZSBwcm9wZXIgRE1BIG1hcHBpbmcgb3BlcmF0aW9u cwoKTWFrZSB1c2VycyBvZiB0aGUgaGZpMSBhbmQgcWliIGRyaXZlcnMgdXNlIGRtYV92aXJ0X29w cy4gVXNlIHRoZSBQQ0llCm1hcHBpbmcgb3BlcmF0aW9ucyBmb3IgU0RNQS4gTWFrZSBzdXJlIHRo YXQgdGhlIHJkbWF2dCBjb2RlIGRvZXMgbm90CmNoYW5nZSB0aGUgUENJZSBETUEgbWFwcGluZyBv cGVyYXRpb25zIHBvaW50ZXIgaW50byAmZG1hX3ZpcnRfb3BzLgotLS0KIGRyaXZlcnMvaW5maW5p YmFuZC9ody9oZmkxL21hZC5jICAgICAgfCAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvaGZp MS92ZXJicy5jICAgIHwgMSAtCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5j IHwgMSAtCiBkcml2ZXJzL2luZmluaWJhbmQvc3cvcmRtYXZ0L3Z0LmMgICAgIHwgMiArKwogaW5j bHVkZS9yZG1hL3JkbWFfdnQuaCAgICAgICAgICAgICAgICB8IDggKysrKysrKysKIDUgZmlsZXMg Y2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9o ZmkxL21hZC5jCmluZGV4IDZlNTk1YWZjYTI0Yy4uMDQxZDUwM2MzOTliIDEwMDY0NAotLS0gYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQv aHcvaGZpMS9tYWQuYwpAQCAtNDQwNiw3ICs0NDA2LDcgQEAgaW50IGhmaTFfcHJvY2Vzc19tYWQo c3RydWN0IGliX2RldmljZSAqaWJkZXYsIGludCBtYWRfZmxhZ3MsIHU4IHBvcnQsCiAJc3dpdGNo IChpbl9tYWQtPmJhc2VfdmVyc2lvbikgewogCWNhc2UgT1BBX01HTVRfQkFTRV9WRVJTSU9OOgog CQlpZiAodW5saWtlbHkoaW5fbWFkX3NpemUgIT0gc2l6ZW9mKHN0cnVjdCBvcGFfbWFkKSkpIHsK LQkJCWRldl9lcnIoaWJkZXYtPmRtYV9kZXZpY2UsICJpbnZhbGlkIGluX21hZF9zaXplXG4iKTsK KwkJCWRldl9lcnIoJmliZGV2LT5kZXYsICJpbnZhbGlkIGluX21hZF9zaXplXG4iKTsKIAkJCXJl dHVybiBJQl9NQURfUkVTVUxUX0ZBSUxVUkU7CiAJCX0KIAkJcmV0dXJuIGhmaTFfcHJvY2Vzc19v cGFfbWFkKGliZGV2LCBtYWRfZmxhZ3MsIHBvcnQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmlu aWJhbmQvaHcvaGZpMS92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdmVyYnMu YwppbmRleCA5NWVkNGQ2ZGE1MTAuLmZhMGZmM2UxMTU5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9p bmZpbmliYW5kL2h3L2hmaTEvdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaGZp MS92ZXJicy5jCkBAIC0xNzg0LDcgKzE3ODQsNiBAQCBpbnQgaGZpMV9yZWdpc3Rlcl9pYl9kZXZp Y2Uoc3RydWN0IGhmaTFfZGV2ZGF0YSAqZGQpCiAJc3RybGNweShpYmRldi0+bmFtZSArIGxjcHlz eiwgIl8lZCIsIElCX0RFVklDRV9OQU1FX01BWCAtIGxjcHlzeik7CiAJaWJkZXYtPm93bmVyID0g VEhJU19NT0RVTEU7CiAJaWJkZXYtPnBoeXNfcG9ydF9jbnQgPSBkZC0+bnVtX3Bwb3J0czsKLQlp YmRldi0+ZG1hX2RldmljZSA9ICZkZC0+cGNpZGV2LT5kZXY7CiAJaWJkZXYtPm1vZGlmeV9kZXZp Y2UgPSBtb2RpZnlfZGV2aWNlOwogCWliZGV2LT5hbGxvY19od19zdGF0cyA9IGFsbG9jX2h3X3N0 YXRzOwogCWliZGV2LT5nZXRfaHdfc3RhdHMgPSBnZXRfaHdfc3RhdHM7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L3FpYi9xaWJfdmVyYnMuYwppbmRleCA0YjU0YzBkZGQwOGEuLmRhYTI4YTdiNzU3NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdmVyYnMuYworKysgYi9kcml2 ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5jCkBAIC0xNjMyLDcgKzE2MzIsNiBAQCBp bnQgcWliX3JlZ2lzdGVyX2liX2RldmljZShzdHJ1Y3QgcWliX2RldmRhdGEgKmRkKQogCWliZGV2 LT5vd25lciA9IFRISVNfTU9EVUxFOwogCWliZGV2LT5ub2RlX2d1aWQgPSBwcGQtPmd1aWQ7CiAJ aWJkZXYtPnBoeXNfcG9ydF9jbnQgPSBkZC0+bnVtX3Bwb3J0czsKLQlpYmRldi0+ZG1hX2Rldmlj ZSA9ICZkZC0+cGNpZGV2LT5kZXY7CiAJaWJkZXYtPm1vZGlmeV9kZXZpY2UgPSBxaWJfbW9kaWZ5 X2RldmljZTsKIAlpYmRldi0+cHJvY2Vzc19tYWQgPSBxaWJfcHJvY2Vzc19tYWQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9yZG1hdnQvdnQuYyBiL2RyaXZlcnMvaW5maW5p YmFuZC9zdy9yZG1hdnQvdnQuYwppbmRleCA2YTgxYjE3OWY2MzEuLmFmOWRjZDQ3ZGFjZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3N3L3JkbWF2dC92dC5jCisrKyBiL2RyaXZlcnMv aW5maW5pYmFuZC9zdy9yZG1hdnQvdnQuYwpAQCAtMTAzLDYgKzEwMyw4IEBAIHN0cnVjdCBydnRf ZGV2X2luZm8gKnJ2dF9hbGxvY19kZXZpY2Uoc2l6ZV90IHNpemUsIGludCBucG9ydHMpCiAJaWYg KCFyZGktPnBvcnRzKQogCQlpYl9kZWFsbG9jX2RldmljZSgmcmRpLT5pYmRldik7CiAKKwlyZGkt PmliX2Rldi5kbWFfZGV2aWNlID0gJnJkaS0+ZG1hX2RldmljZTsKKwogCXJldHVybiByZGk7CiB9 CiBFWFBPUlRfU1lNQk9MKHJ2dF9hbGxvY19kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9y ZG1hL3JkbWFfdnQuaCBiL2luY2x1ZGUvcmRtYS9yZG1hX3Z0LmgKaW5kZXggODYxZTIzZWFlYmRh Li5iNzI1OWM5YjA1NmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX3Z0LmgKKysrIGIv aW5jbHVkZS9yZG1hL3JkbWFfdnQuaApAQCAtMzM5LDYgKzMzOSwxNCBAQCBzdHJ1Y3QgcnZ0X2Ry aXZlcl9wcm92aWRlZCB7CiAKIHN0cnVjdCBydnRfZGV2X2luZm8gewogCXN0cnVjdCBpYl9kZXZp Y2UgaWJkZXY7IC8qIEtlZXAgdGhpcyBmaXJzdC4gTm90aGluZyBhYm92ZSBoZXJlICovCisJLyoK KwkgKiBxaWIgYW5kIGhmaTEgdXNlIHR3byBzZXRzIG9mIERNQSBvcGVyYXRpb25zOgorCSAqIC0g VGhlIERNQSBvcGVyYXRpb25zIG9mIHRoZSBQQ0llIGRldmljZSBmb3IgU0RNQS4KKwkgKiAtIGRt YV92aXJ0X29wcyBmb3IgdXNlcnMgb2YgdGhlIHFpYiBhbmQgaGZpMSBkcml2ZXJzLgorCSAqIFRo ZSBvbmx5IHB1cnBvc2Ugb2YgQGRtYV9kZXZpY2UgaXMgdG8gcHJvdmlkZSBhIHN0cnVjdCBkZXZp Y2UgdGhhdAorCSAqIHByb3ZpZGVzIGRtYV92aXJ0X29wcy4KKwkgKi8KKwlzdHJ1Y3QgZGV2aWNl IGRtYV9kZXZpY2U7CiAKIAkvKgogCSAqIFByaW9yIHRvIGNhbGxpbmcgZm9yIHJlZ2lzdHJhdGlv biB0aGUgZHJpdmVyIHdpbGwgYmUgcmVzcG9uc2libGUgZm9yCi0tIAoyLjExLjAKCg== --_002_148468970927296camelsandiskcom_-- -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751193AbdAQVuU (ORCPT ); Tue, 17 Jan 2017 16:50:20 -0500 Received: from mail-co1nam03on0056.outbound.protection.outlook.com ([104.47.40.56]:30560 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750947AbdAQVuQ (ORCPT ); Tue, 17 Jan 2017 16:50:16 -0500 Authentication-Results: spf=pass (sender IP is 74.221.232.54) smtp.mailfrom=sandisk.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac1c2133-0afff70000013ebf-08-587f0bf1bada From: Bart Van Assche To: "alex.estrin@intel.com" , "dledford@redhat.com" CC: "linux-kernel@vger.kernel.org" , "linux-rdma@vger.kernel.org" , "gregkh@linuxfoundation.org" Subject: Re: [PATCH v2 00/26] IB: Optimize DMA mapping Thread-Topic: [PATCH v2 00/26] IB: Optimize DMA mapping Thread-Index: AQHScQt5AKsaDD3twkSwTo7S3d5ybQ== Date: Tue, 17 Jan 2017 21:48:44 +0000 Message-ID: <1484689709.2729.6.camel@sandisk.com> References: <20170112190718.6728-1-bart.vanassche@sandisk.com> <1484338667.2679.15.camel@sandisk.com> <1484344759.2679.26.camel@sandisk.com> In-Reply-To: Accept-Language: nl-NL, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [172.28.1.254] Content-Type: multipart/mixed; boundary="_002_148468970927296camelsandiskcom_" MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsWyRobxn+4X7voIg/Pt5hYXnn5nsnh5/gOr RfPi9WwWl3fNYbN4dqiXxYHVY/Gel0we++euYfd4v+8qm8fnTXIBLFFcNimpOZllqUX6dglc GZO/3mQqOGlYseLwPvYGxt96XYycHBICJhIH179l62Lk4hASWMIkcfXXEVYI5xKjxJmnxxhB qtgEjCRmT9jDAmKLCCRJrD7xjhmkiFlgN6PE9w372EESwgJmEk/3fgZKcAAVmUt8WxgOUa8n 8ePSGrASFgFViaNnehlBSngFDCU69pVC7PrMJPH93GSwXZwCIRJznq5jB6lhFJCVaHnNDRJm FhCXuPVkPhPE0SISDy+eZoOwRSVePv7HCmErSHxe8Y8NpJVZIECie7I5SJhXQFDi5MwnLBMY RWYhmTQLoWoWkiqIEj2JG1OnsEHYVhJ7e84xQ9jaEssWvoayEyVO/umGsgMlXsxYzz4LHCa3 GSV2XP8K17xm43coW1FiSvdD9gWM3KsYxYoTk4tz01MLDE30ihPzUjKLs/WS83M3MYLjXNF4 B+O/De6HGAU4GJV4eDsm1kUIsSaWFVfmHmJUARr0aMPqC4xSLHn5ealKIrwNjUBp3pTEyqrU ovz4otKc1OJDjNIcLErivPIHdocKCaQnlqRmp6YWpBbBZJk4OKUaGBOsZmbxe/42ZLnv+1Dz 9aHZAfa/ZsndfFzTm3l0r+wTCx0zn5JVO7f905t5YsrrVfesspdPfn13trO88sM9vc4ptybM cD0RJbf5f2DKGXbvsw/2bDc1vSCi6SS1edYhlWurz81P/MT+OvvTEsPuSiHf3F5Fsx/ybdNr z9yKnJ3ZemClq6vjnkwlluKMREMt5qLiRACdidOl+wIAAA== X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:74.221.232.54;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39840400002)(39450400003)(39850400002)(39410400002)(39860400002)(2980300002)(438002)(199003)(24454002)(377424004)(189002)(81166006)(97736004)(5001770100001)(36756003)(8676002)(103116003)(4326007)(81156014)(5890100001)(512934002)(189998001)(84326002)(102836003)(33646002)(6116002)(3846002)(4610100001)(54906002)(2501003)(69596002)(5000100001)(93886004)(305945005)(38730400001)(86362001)(229853002)(2950100002)(2900100001)(626004)(76176999)(5660300001)(54356999)(8936002)(30436002)(50986999)(356003)(99936001)(7736002)(106466001)(568964002)(2476003)(68736007)(92566002)(106116001)(2270400002)(2906002)(53936002)(7099028);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR02MB1417;H:sacsmgep14.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11OLC001;1:gCVFZGYSLGGK+Q/ay0C+WicA8t7f5E0mEFF7BFLG2WmrgyhoMlJWsI1ZcD8EOXm0is6kv73ya7ApGAzpn3FZZYaYmkCVmQP1thGxJfuELbE2ClVIi+H/b1VdQZwLsXy9ttWkyqzoyGH67oLKjcEAxgnaQqSK5Z+iAQtMESTX+fT7hTWTTAFWsA0Q1WBIJYEAm5Ce6kdt6oxYYOXzrs6e5OGdIoeXGzekeOyC24ErnOq94nWAAlyOcLf+asqVrNIAyzUtXH86CK8oeq1F+A+c7U6zAO1gp1XMyR6OHuk+bHShT/ky6pi4NDhVkby5ZYZAb3SY9SuLEW52OuC6z5KGc8XkSqL1ZnD5BV+0zg91gAzHoVm0eNKoNG9G0XOvmU1ZOkD9ji9ODVmtPjHb8xBqF/CcJP3WQbvSAEIecSftzphk3JQWL63uxGA6mKsYcOSSPuzVA3F5lGIsVFATz60reeizRVv4CAwoM9rC/J3i61B1H46ArfTXEfVQECKCuAC3uzzDRj1Y/WVpMNKr6EJA/ZBkMXeM9K8UcLNDFz+VI8yTFnHIJ73D4sQCYRnf+cAzbyiobhzlhHVPQEHj6y6c1zR441eQOL83K2CHKFY9TPI= X-MS-Office365-Filtering-Correlation-Id: 4fb0a9d0-6806-449f-b6f0-08d43f229f5a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:DM2PR02MB1417; X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;3:9iwxVFg9mfh6rC09nCC3VQcx+0s9lVqhPKNiXuTfFYXBi01h/8HnLdqLECVzcH46QoaUpNHFcwz6ZALaAFNLcNGDxzLQ7K/Y4K5/GcpWrRzEVKAx6pRK8e62Ug7T3a/eyGOAYvXWg2it2v9zZJU9HIblWuQlrzuX9LiBrEwyTlAboaDHLuCEQDvvzO06k3oNyjmC7i4Q1YLiEjcM8qcOqsSmXR0X9sswm+BeQWyHY/ttDHoemAPiklsCCG7Brb0u19fxPmCAFTeMEm0CDTSS3aedddiv77ZVAHCmqYVZI8tDdKDOZLqfSbI1t9/nClJyzmtK+iZNcZfODjFz2AGPjYeer07iJaSjgHg6gH4rBPSCv05JImQPfoIWokPvLMB9IoPRFMcPz8moPiIobe5b4g== X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;25:jlgnTxw9XavussdfuIwddRUYXaZRu2qh16h/9y1617OvuTmGBYIYamHfdYN7a7NhwpEOnXrS2/e+72n0JNkFgMlJFePKhDOZ2to4Ry+ZxnZoLXFHjBkapElnD85/SMtd/F5pIALfFFzBo99QVmB3LlIHA644V5N23BtY1RuXi4GY4eGvt6cn7R8M63H6D2K8Pq3lD5SVZWE76MPcXaplqPhbXfBZG87N+TzxD6gApr7lqwE1M4eDiYAe9WahOzY+IHqGAvurPSwUyKSC1JxEE+hzFXz6f3Dznk9hHMXXO/9SEhhIXFNHPu5qyGW2tNpoVn0BRJsfe3IiGWK4NTGkDYxvc1SjtVk0zOCBsLcRsfkXc7kK8uA0YPM1SUgERAsimDimTPQoC5IJ24YYC+9Gd7kQna0sd3dMYoQb3IK8+BcdHw9t1pSr95Czv1cZ4qp4AL15+YDMMOZLYjPs7YzgVhu0Xx/OvBf94yNGCqC9MllWfewPsQnxEguwiqVE0ssZBJQ1nF0w5OOTYxY6ULWZnBW0zMnYT4NEf5oQVxXsO9R4jhH8K4e62vkNXx3U+GoaBTrijgoazGQPdDWsQzZoSvL1XUwA7XCprhG6MGQk7uIYvLYWTAh20au3sjEMD8ucPJBFs6y2QAP26KEknQSTEpoPgboNtzbt5JfoJhN9+TPjhAecXn8+md95XrTdi51XIJR9yvaO2qh8M6Xf8v9dNb+rvnTsGLKguQeEuQYK2iLEMkaSb53VnWagJLEqWBbxfhsvNKtyazJtG+ahbx9ljZOrWnt7VjSrQbKw+CyoSiDAKzbOyH57HPBUg9lqqtHLBelz+ltlI3YcFuEHGa28va2396Rj37r/xYykDlQyZXa8izHgv6r4WB5OEds4L1WEhXjGuJf2jV8lh3TPVnOMX+kX2e/MrDMyE/0Q6QslxnlVCdUq23p46Z33Fedja2tE X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;31:up2scX1Focl0wz22HB4p7T2SVmZg6NBnZi0bOJc14WJUs/eixWML/FYE6N1m4Dcog/VeoT13WL6g+GWJ5Kfcc5TjKYo2PkdLVuTOWfLJvUsoWnGmCi6SAOEX53Ut2bUJcW88B6sm6RP3mveSKgDDgKW2VO4nN5OOHqd5JmoT21GDv4OKtjzbL/XHEZQdSHypyQZG7V03XoEZYLMs+GFh7jevM/hF9gMVMzcABRGw+EVzZii5kQmeR/4whEb2d0nety8Drpq9K3hESNtzzCmSWAy/mOp5NCA9JVjQ3HFpLt0Ov8nwbOHdYITcOMShCf8l;20:fOUZLn4T6hv1WH5gMHlowWqRFJ+GOllYemS2l/M8DZUtfKwckmX+2vdEf4rFiq/5QFpfSZsSsDKCnVJc+CiqW3fcplG7rSbnYgRbvt0EpchXOXywQzV/kl0XOdfreRL/Bbn0x1Ze6uiAYuofbi7bzS10gfgEempBuCv7MAPKroIhYBqWDvHBM/Gnjny+lcHPNbbGfD5a8UqzLKLP7sp0foQJPhWZ1le4Lw/dgOjC7mX+RRNvNrZ/plqB2zsp6NM0PGkreWEhxlC0BU8wg70eLWrv5J1nnNGpT+Zt5RbSxdpl6/JssqQVrt7lpzLNB/XyQzd/QKoHnXtyEQANLJvevpGNw4iGPNepNtoxjIKazhYOtLD/MFyacp4Xz3/vERymnH9egbVWfLJAiFWowVwjqJ6tQkMjG5fSqyWurD2hDfaK5oZ2YJcmphMcoB8OrzAmdsFX98jUL3umXQ77ZxifPCzpCSV/PaL92S/vzhm66npPnUsw/SLscxGTl6w4E2iP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(42932892334569); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(102415395)(6040375)(601004)(2401047)(13023025)(13015025)(13017025)(13018025)(13024025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(6072148);SRVR:DM2PR02MB1417;BCL:0;PCL:0;RULEID:;SRVR:DM2PR02MB1417; X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;4:9JFefeyNVYOcpbEAv1fQnYnQ2cXqqZzJUR1DG6OJ24vlirB8YcC0S1AVxhcrpj3ViMeTuPK2FjKyEQqS++dnF2QQTHoL6obhOgHVjJJP9jBxB7SlYBajGwHFhLk1RYpD31VP6nFRQmAIoejEgkQwKtZZ7n9IZlo9QoGYxR1zRwSbfyZy2lSEIpoZ7jvm3eyqde0pvMnY186438ep99JPUppmeeW8JoF2U7+5tOWaLOHMczx2hcZP9GaCS0jwealoG25xNvBtMfUt5piReI5DMU/B9YyTvcjI5R9GfJBnnb4Pl5Qxj3IUhXGCCoOjK9N0N52sLk4zKS6eMmeaEWimd7r9k2jCDQfWISuAFAq1jD78DCDNqc9QmqDlYNNW/fyt8lSTmYaJWqB1Eeiyyg+ATZmQVw8Hu/H10qJ1ofM1btZAliX3bE4XV4NDSAIPZTkvCEhZkU1/9QOKo1ES2dJNk+64ar20AjPdU6D5mUr1PW8sSiztDAhV6b7KqKNMjNjeDYoQnNNpFUF7pLRZ9iOKsqEhiqXXQFnxbNonpsVeq7HjYAvLtlo4zYJHlj6rpmNmzbB+256/PHQh7/ewu9xZaEzLOjmg+gRFRRYawuWfN+tzK/+XQhGOb8cw36LS12U+ieE0oF9toHcnG5FlsYJzuUkw6yoAHY0M6OXmsQnmFfM16+MB4sQB3Df3PmSSHJJ/AH8J4wZESDHrMWpEvglAyNeU/FUrrtm/yOf8L9o9Pfp/O3aOgYF2ZuTT2xPgjT5o X-Forefront-PRVS: 01901B3451 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM2PR02MB1417;23:WpmfD/3Nm2tax9gzBIPzYFckweWt4GHImbVTOFcuA?= =?us-ascii?Q?VevwjgTRbSS+J4XEOiCw4dM8QeWAEgAurqJHqsBTdPPFQFMTMNY546UgS2Ai?= =?us-ascii?Q?qvcCy31NPcg7cZ8Zt5YUYb5NwG7xWuoh5gIgMCZrLprCXTCDk3RzJHbSNSJn?= =?us-ascii?Q?q4OMEuzk4PAGWxlch8+PtwK+ftY8FiaxesjZWBptOgyquyUON3Mww2PIQLGg?= =?us-ascii?Q?xKOHCvIzXmfbnGvM01nvEf9MKHIqs7TrIuooe19x9kH3Rb3GTYwRtT3ovjr1?= =?us-ascii?Q?dpXU9MmXXs20WFg0xAi6WdSrAaVaDzqiFo5FT5L2J1jgL7Q9uVkkQcvg/w8m?= =?us-ascii?Q?2DgudkrEgrHyVd4jbkIPmJVm31qI7wI8nJ1zUSsBT4YU2RWd7dJ08eCNHF+A?= =?us-ascii?Q?T4aFg80C2hM98hR/qegigat+tbyQ8s2BqfZYthwVOmKzMYoabU9rrMWbnw6k?= =?us-ascii?Q?WkvUzc5jClVY2/0PZTOW9TOpxpLX1UNaARd2zJbQvNbPRgWItfcBic90iH9/?= =?us-ascii?Q?fi7Pxew11Rq/1TYgM2CPfa61UmOutlIPUAe3wfr9molWVk5SvUFEoGL11YOG?= =?us-ascii?Q?UOplFuetH8oHmvtUaU3Hr/iJ/asEnaJaOlSxz9Q150PwuHMmj6VM3/J/laUY?= =?us-ascii?Q?yHBSGEO867kYDyqaxQEYhn2i2LhCqDzr2PS42OSHdBTp4CDP40caSmh5o065?= =?us-ascii?Q?NEqsddqx/Bw7hMWrvHDzzJZUc8pUoK2Lw9YP7IKms8uWpNuqVsLctwge3/pe?= =?us-ascii?Q?EliSbqIhmrtREEKmkvmONt+J6cFdnhbJjzy2PhZbARP7XhwGSaeluaKIbNMv?= =?us-ascii?Q?SpKe1cC77seo98a8lXT9a3Y2hOwUF1kuXoSjbTw2JE35lzOTZM83+fLvNDVI?= =?us-ascii?Q?51wfT4bLrs6BaFai+NeLOeLquzE74jjeba1UoUAjuHwE7O8u/SBcVfOG5uro?= =?us-ascii?Q?XUoe0rX5lBLZBjuapAQoBrjGP6oZu8MkSkRy3ioBw4O9P631SYzsbj+BkUAU?= =?us-ascii?Q?q4Gq58dyKjnlwRwbICarIsksVdkwObaDad+gkGoHWuZh+On3vNq0ZWaZpJGX?= =?us-ascii?Q?GzI9xrMyMvEDzeTAuHkDFpkFL3CCZ7GPkxGtpapkOHNFAH+uDDAMUulndI9e?= =?us-ascii?Q?bzE0XCqXW36GmRUAe3YZOiBmX72yw0/yRU5gGXAeTtpt6j2IqTeWHiRZTf/9?= =?us-ascii?Q?ThJXZ7bLe/01DnRtUeWX56FLfHRDfgcp58J+jgR3yZMv0K9ZErde5jie1/56?= =?us-ascii?Q?iVG3Bq5imE7BnWTRZIFP0YSMnaNhyoQhfPrMGtiwPdRl9Te/gOgPv6z+Evm7?= =?us-ascii?Q?9V+2Xeo40oVZ/SNN0pHmi1lQ5jLE595prMftaY3T6I2AWLQgxh51Z5O01OW7?= =?us-ascii?Q?SJ3tf89nOI3oawUo3uDww2roHXaHDfDec0noNVtQCdhTTnKeN8s9vfS6seiF?= =?us-ascii?Q?GLjpVtW3QB9UMOUDGvXMjem/urUZ8bTx0AYSK0Q76HrWReSJbmpm3MEu/Kvw?= =?us-ascii?Q?hrWHg9Z1ivG0Q=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;6:2oQCaHIF0zNlivkxpuKH/I6HiC2DnQnyX5I5tqOlWSEkTLZtggt0erXGZS18Aogvg1MYgPBrrCNNUNUbPNKBDHNfp9Yhw+LnNgvZb9nFtWPht3ok2/wpkXhF81SYS4qZtdpMCfbC2Vu7vbKJnONxTMHairkWDVE8/qx1a3euuiWbFfE2LJOlJITYL2xtL+P9b3M/81Sgy5c+XR+jnm1q/xy4CpLEDA1JkSzGh8LfWPPGShRtF8F1JtBVUByK1BK731dg4Pb0A2zur4RkEeTClvpfAB+yGku69vnB0uZ/55FU0xNxgNl+ofqq37KfwwWqTK2bF/e6JV36Qz2qkz+jrXPAMxuNAgi77uFV+NKTv5fDw36OCQDlPC5GMMnU0yBEa6NiyV35fvVNmUk/SiN+8uHer5L6m4lH38UVSmyzKD0d9w3Chv8br0r2Yp6W5pNw9fYJbnWQ5xfyq1beWVrfQQ==;5:UOPxPd50MT5Ky1nfcVvVRCJrJggSmsDn5If2zuvIXmj/VKyhtikg0x/OY1vFxfrBaYl+Re4bgpoBwIby6N/+eHlOAX003biIH9Ns+ROuuvNePIxOZrAMaARshjJ+kE0zpTWayiiDihIO+e3JTOZiSqUDo0icJiTO+XnuworXlxc=;24:FH9qcEYvLrZ4WOdn4HPzNsepee7SOf3+/9xWv2qI8rvdpgOLX5m3UmVKyng5dFo29Fdr/fqnd6e4bqTVZEexvvys5YHPbvXHq9ySjFWsw7Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR02MB1417;7:JFAak15vL2zsi/+WzqR4sA9qzGEnHif46ePVMYA+6sSicjoVFBlsxALegUe8eRbGTvIn+c0JMPeviFZ3sbIQZjYc4iPTizZJwFq1zBfDJGz4MRTCsNL5Azj3MLop11DHv02gtcDFQAZWaopJ2A/t/FbM6bV00hvdno8VlcKA7jkqy4e6HSJEKHZ/G3GAoHM1qEeRvl6RSCp53STSuNAq/z6JlxRsqYgs4lnCH5IIZkeIxaFiw9MzLzXENYx6i6H5VGLvTQ2AlKNV4u7N7VzZHOQAuSHetkAtX1fXfkLS04hNJTr4eS3+3viv7/+miZMJ+xrMr0wYVSPO5h88QJLTE+1UXgllmyxKbAI/5jLFHRCF2lAqlCzq0Wt9kCXrLqPFPEUvqFBh4Py1mkJNt757UaUM+6gyWTTyjV5EGKeLMvxN5L1YVXpw8iBjAKxMR5nFf6AlWVi7R9GvS7W2CRXnMA== X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 21:48:49.5427 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[74.221.232.54];Helo=[sacsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR02MB1417 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --_002_148468970927296camelsandiskcom_ Content-Type: text/plain; charset="iso-8859-1" Content-ID: Content-Transfer-Encoding: quoted-printable On Sat, 2017-01-14 at 02:05 +0000, Estrin, Alex wrote: > [ ... ] > please see hfi1/verbs.c @ hfi1_register_ib_device() =20 > [ ... ] Hello Alex, I think I figured out what I did wrong: both the hfi1 and the qib drivers n= eed two sets of DMA mapping operations. ULPs have to use &dma_virt_ops and the SDMA= code has to use the PCIe DMA mapping operations. My patch series made the SDMA c= ode use dma_virt_ops and that's wrong. The attached patch should fix this. Unfortun= ately I do not have access to a hfi1 or qib test setup. Can you help me by testing = the attached patch on top of the already posted patches? Thanks, Bart.= --_002_148468970927296camelsandiskcom_ Content-Type: text/x-patch; name="0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch" Content-Description: 0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch Content-Disposition: attachment; filename="0001-hfi1-qib-rdmavt-Use-proper-DMA-mapping-operations.patch"; size=3583; creation-date="Tue, 17 Jan 2017 21:48:43 GMT"; modification-date="Tue, 17 Jan 2017 21:48:43 GMT" Content-ID: <513DFC813F1CB64CAA63ADE1D3462390@sandisk.com> Content-Transfer-Encoding: base64 RnJvbSAyMWVkNDY4MGExNmIyMjgxZWE2M2NhYTlhM2VmOWU0YzY4MmExZDhiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCYXJ0IFZhbiBBc3NjaGUgPGJhcnQudmFuYXNzY2hlQHNhbmRp c2suY29tPgpEYXRlOiBUdWUsIDE3IEphbiAyMDE3IDEzOjIyOjM1IC0wODAwClN1YmplY3Q6IFtQ QVRDSF0gaGZpMSwgcWliLCByZG1hdnQ6IFVzZSBwcm9wZXIgRE1BIG1hcHBpbmcgb3BlcmF0aW9u cwoKTWFrZSB1c2VycyBvZiB0aGUgaGZpMSBhbmQgcWliIGRyaXZlcnMgdXNlIGRtYV92aXJ0X29w cy4gVXNlIHRoZSBQQ0llCm1hcHBpbmcgb3BlcmF0aW9ucyBmb3IgU0RNQS4gTWFrZSBzdXJlIHRo YXQgdGhlIHJkbWF2dCBjb2RlIGRvZXMgbm90CmNoYW5nZSB0aGUgUENJZSBETUEgbWFwcGluZyBv cGVyYXRpb25zIHBvaW50ZXIgaW50byAmZG1hX3ZpcnRfb3BzLgotLS0KIGRyaXZlcnMvaW5maW5p YmFuZC9ody9oZmkxL21hZC5jICAgICAgfCAyICstCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvaGZp MS92ZXJicy5jICAgIHwgMSAtCiBkcml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5j IHwgMSAtCiBkcml2ZXJzL2luZmluaWJhbmQvc3cvcmRtYXZ0L3Z0LmMgICAgIHwgMiArKwogaW5j bHVkZS9yZG1hL3JkbWFfdnQuaCAgICAgICAgICAgICAgICB8IDggKysrKysrKysKIDUgZmlsZXMg Y2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9o ZmkxL21hZC5jCmluZGV4IDZlNTk1YWZjYTI0Yy4uMDQxZDUwM2MzOTliIDEwMDY0NAotLS0gYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvaGZpMS9tYWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQv aHcvaGZpMS9tYWQuYwpAQCAtNDQwNiw3ICs0NDA2LDcgQEAgaW50IGhmaTFfcHJvY2Vzc19tYWQo c3RydWN0IGliX2RldmljZSAqaWJkZXYsIGludCBtYWRfZmxhZ3MsIHU4IHBvcnQsCiAJc3dpdGNo IChpbl9tYWQtPmJhc2VfdmVyc2lvbikgewogCWNhc2UgT1BBX01HTVRfQkFTRV9WRVJTSU9OOgog CQlpZiAodW5saWtlbHkoaW5fbWFkX3NpemUgIT0gc2l6ZW9mKHN0cnVjdCBvcGFfbWFkKSkpIHsK LQkJCWRldl9lcnIoaWJkZXYtPmRtYV9kZXZpY2UsICJpbnZhbGlkIGluX21hZF9zaXplXG4iKTsK KwkJCWRldl9lcnIoJmliZGV2LT5kZXYsICJpbnZhbGlkIGluX21hZF9zaXplXG4iKTsKIAkJCXJl dHVybiBJQl9NQURfUkVTVUxUX0ZBSUxVUkU7CiAJCX0KIAkJcmV0dXJuIGhmaTFfcHJvY2Vzc19v cGFfbWFkKGliZGV2LCBtYWRfZmxhZ3MsIHBvcnQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmlu aWJhbmQvaHcvaGZpMS92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2hmaTEvdmVyYnMu YwppbmRleCA5NWVkNGQ2ZGE1MTAuLmZhMGZmM2UxMTU5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9p bmZpbmliYW5kL2h3L2hmaTEvdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaGZp MS92ZXJicy5jCkBAIC0xNzg0LDcgKzE3ODQsNiBAQCBpbnQgaGZpMV9yZWdpc3Rlcl9pYl9kZXZp Y2Uoc3RydWN0IGhmaTFfZGV2ZGF0YSAqZGQpCiAJc3RybGNweShpYmRldi0+bmFtZSArIGxjcHlz eiwgIl8lZCIsIElCX0RFVklDRV9OQU1FX01BWCAtIGxjcHlzeik7CiAJaWJkZXYtPm93bmVyID0g VEhJU19NT0RVTEU7CiAJaWJkZXYtPnBoeXNfcG9ydF9jbnQgPSBkZC0+bnVtX3Bwb3J0czsKLQlp YmRldi0+ZG1hX2RldmljZSA9ICZkZC0+cGNpZGV2LT5kZXY7CiAJaWJkZXYtPm1vZGlmeV9kZXZp Y2UgPSBtb2RpZnlfZGV2aWNlOwogCWliZGV2LT5hbGxvY19od19zdGF0cyA9IGFsbG9jX2h3X3N0 YXRzOwogCWliZGV2LT5nZXRfaHdfc3RhdHMgPSBnZXRfaHdfc3RhdHM7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5k L2h3L3FpYi9xaWJfdmVyYnMuYwppbmRleCA0YjU0YzBkZGQwOGEuLmRhYTI4YTdiNzU3NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L3FpYi9xaWJfdmVyYnMuYworKysgYi9kcml2 ZXJzL2luZmluaWJhbmQvaHcvcWliL3FpYl92ZXJicy5jCkBAIC0xNjMyLDcgKzE2MzIsNiBAQCBp bnQgcWliX3JlZ2lzdGVyX2liX2RldmljZShzdHJ1Y3QgcWliX2RldmRhdGEgKmRkKQogCWliZGV2 LT5vd25lciA9IFRISVNfTU9EVUxFOwogCWliZGV2LT5ub2RlX2d1aWQgPSBwcGQtPmd1aWQ7CiAJ aWJkZXYtPnBoeXNfcG9ydF9jbnQgPSBkZC0+bnVtX3Bwb3J0czsKLQlpYmRldi0+ZG1hX2Rldmlj ZSA9ICZkZC0+cGNpZGV2LT5kZXY7CiAJaWJkZXYtPm1vZGlmeV9kZXZpY2UgPSBxaWJfbW9kaWZ5 X2RldmljZTsKIAlpYmRldi0+cHJvY2Vzc19tYWQgPSBxaWJfcHJvY2Vzc19tYWQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9zdy9yZG1hdnQvdnQuYyBiL2RyaXZlcnMvaW5maW5p YmFuZC9zdy9yZG1hdnQvdnQuYwppbmRleCA2YTgxYjE3OWY2MzEuLmFmOWRjZDQ3ZGFjZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3N3L3JkbWF2dC92dC5jCisrKyBiL2RyaXZlcnMv aW5maW5pYmFuZC9zdy9yZG1hdnQvdnQuYwpAQCAtMTAzLDYgKzEwMyw4IEBAIHN0cnVjdCBydnRf ZGV2X2luZm8gKnJ2dF9hbGxvY19kZXZpY2Uoc2l6ZV90IHNpemUsIGludCBucG9ydHMpCiAJaWYg KCFyZGktPnBvcnRzKQogCQlpYl9kZWFsbG9jX2RldmljZSgmcmRpLT5pYmRldik7CiAKKwlyZGkt PmliX2Rldi5kbWFfZGV2aWNlID0gJnJkaS0+ZG1hX2RldmljZTsKKwogCXJldHVybiByZGk7CiB9 CiBFWFBPUlRfU1lNQk9MKHJ2dF9hbGxvY19kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9y ZG1hL3JkbWFfdnQuaCBiL2luY2x1ZGUvcmRtYS9yZG1hX3Z0LmgKaW5kZXggODYxZTIzZWFlYmRh Li5iNzI1OWM5YjA1NmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX3Z0LmgKKysrIGIv aW5jbHVkZS9yZG1hL3JkbWFfdnQuaApAQCAtMzM5LDYgKzMzOSwxNCBAQCBzdHJ1Y3QgcnZ0X2Ry aXZlcl9wcm92aWRlZCB7CiAKIHN0cnVjdCBydnRfZGV2X2luZm8gewogCXN0cnVjdCBpYl9kZXZp Y2UgaWJkZXY7IC8qIEtlZXAgdGhpcyBmaXJzdC4gTm90aGluZyBhYm92ZSBoZXJlICovCisJLyoK KwkgKiBxaWIgYW5kIGhmaTEgdXNlIHR3byBzZXRzIG9mIERNQSBvcGVyYXRpb25zOgorCSAqIC0g VGhlIERNQSBvcGVyYXRpb25zIG9mIHRoZSBQQ0llIGRldmljZSBmb3IgU0RNQS4KKwkgKiAtIGRt YV92aXJ0X29wcyBmb3IgdXNlcnMgb2YgdGhlIHFpYiBhbmQgaGZpMSBkcml2ZXJzLgorCSAqIFRo ZSBvbmx5IHB1cnBvc2Ugb2YgQGRtYV9kZXZpY2UgaXMgdG8gcHJvdmlkZSBhIHN0cnVjdCBkZXZp Y2UgdGhhdAorCSAqIHByb3ZpZGVzIGRtYV92aXJ0X29wcy4KKwkgKi8KKwlzdHJ1Y3QgZGV2aWNl IGRtYV9kZXZpY2U7CiAKIAkvKgogCSAqIFByaW9yIHRvIGNhbGxpbmcgZm9yIHJlZ2lzdHJhdGlv biB0aGUgZHJpdmVyIHdpbGwgYmUgcmVzcG9uc2libGUgZm9yCi0tIAoyLjExLjAKCg== --_002_148468970927296camelsandiskcom_--