From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v5] lib/scatterlist: Introduce and export __sg_alloc_table_from_pages Date: Wed, 11 Jan 2017 11:59:33 +0000 Message-ID: <1484135973-21074-1-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1484125238-2539-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 82E926E8A1 for ; Wed, 11 Jan 2017 11:59:43 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id c85so36087119wmi.1 for ; Wed, 11 Jan 2017 03:59:43 -0800 (PST) In-Reply-To: <1484125238-2539-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org, Masahiro Yamada List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkRyaXZlcnMg bGlrZSBpOTE1IGJlbmVmaXQgZnJvbSBiZWluZyBhYmxlIHRvIGNvbnRyb2wgdGhlIG1heGl1bQpz aXplIG9mIHRoZSBzZyBjb2FsbGVzY2VkIHNlZ21lbnQgd2hpbGUgYnVpbGRpbmcgdGhlIHNjYXR0 ZXItCmdhdGhlciBsaXN0LgoKSW50cm9kdWNlIGFuZCBleHBvcnQgdGhlIF9fc2dfYWxsb2NfdGFi bGVfZnJvbV9wYWdlcyBmdW5jdGlvbgp3aGljaCB3aWxsIGFsbG93IGl0IHRoYXQgY29udHJvbC4K CnYyOiBSZW9yZGVyIHBhcmFtZXRlcnMuIChDaHJpcyBXaWxzb24pCnYzOiBGaXggaW5jb21wbGV0 ZSByZW9yZGVyaW5nIGluIHYyLgp2NDogbWF4X3NlZ21lbnQgbmVlZHMgdG8gYmUgcGFnZSBhbGln bmVkLgp2NTogUmViYXNlLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51 cnN1bGluQGludGVsLmNvbT4KQ2M6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJvQHNv Y2lvbmV4dC5jb20+CkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPiAodjIpCkNjOiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogaW5jbHVkZS9saW51eC9zY2F0dGVy bGlzdC5oIHwgMTEgKysrKystLS0tCiBsaWIvc2NhdHRlcmxpc3QuYyAgICAgICAgICAgfCA1OCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9zY2F0dGVybGlzdC5oIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCmlu ZGV4IDE1MjY1YmI2ZTVjMy4uYzg5NzUzM2ZiODVkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4 L3NjYXR0ZXJsaXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCkBAIC0yNjcs MTAgKzI2NywxMyBAQCB2b2lkIHNnX2ZyZWVfdGFibGUoc3RydWN0IHNnX3RhYmxlICopOwogaW50 IF9fc2dfYWxsb2NfdGFibGUoc3RydWN0IHNnX3RhYmxlICosIHVuc2lnbmVkIGludCwgdW5zaWdu ZWQgaW50LAogCQkgICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqLCBnZnBfdCwgc2dfYWxsb2NfZm4g Kik7CiBpbnQgc2dfYWxsb2NfdGFibGUoc3RydWN0IHNnX3RhYmxlICosIHVuc2lnbmVkIGludCwg Z2ZwX3QpOwotaW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3RhYmxlICpz Z3QsCi0Jc3RydWN0IHBhZ2UgKipwYWdlcywgdW5zaWduZWQgaW50IG5fcGFnZXMsCi0JdW5zaWdu ZWQgaW50IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAotCWdmcF90IGdmcF9tYXNrKTsKK2lu dCBfX3NnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3RhYmxlICpzZ3QsIHN0cnVj dCBwYWdlICoqcGFnZXMsCisJCQkJdW5zaWduZWQgaW50IG5fcGFnZXMsIHVuc2lnbmVkIGludCBv ZmZzZXQsCisJCQkJdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBpbnQgbWF4X3NlZ21lbnQs CisJCQkJZ2ZwX3QgZ2ZwX21hc2spOworaW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3Ry dWN0IHNnX3RhYmxlICpzZ3QsIHN0cnVjdCBwYWdlICoqcGFnZXMsCisJCQkgICAgICB1bnNpZ25l ZCBpbnQgbl9wYWdlcywgdW5zaWduZWQgaW50IG9mZnNldCwKKwkJCSAgICAgIHVuc2lnbmVkIGxv bmcgc2l6ZSwgZ2ZwX3QgZ2ZwX21hc2spOwogCiBzaXplX3Qgc2dfY29weV9idWZmZXIoc3RydWN0 IHNjYXR0ZXJsaXN0ICpzZ2wsIHVuc2lnbmVkIGludCBuZW50cywgdm9pZCAqYnVmLAogCQkgICAg ICBzaXplX3QgYnVmbGVuLCBvZmZfdCBza2lwLCBib29sIHRvX2J1ZmZlcik7CmRpZmYgLS1naXQg YS9saWIvc2NhdHRlcmxpc3QuYyBiL2xpYi9zY2F0dGVybGlzdC5jCmluZGV4IDI0YmViMDk2NWU2 OS4uNzMyYzZlNTE2NjU3IDEwMDY0NAotLS0gYS9saWIvc2NhdHRlcmxpc3QuYworKysgYi9saWIv c2NhdHRlcmxpc3QuYwpAQCAtMzcwLDE0ICszNzAsMTUgQEAgaW50IHNnX2FsbG9jX3RhYmxlKHN0 cnVjdCBzZ190YWJsZSAqdGFibGUsIHVuc2lnbmVkIGludCBuZW50cywgZ2ZwX3QgZ2ZwX21hc2sp CiBFWFBPUlRfU1lNQk9MKHNnX2FsbG9jX3RhYmxlKTsKIAogLyoqCi0gKiBzZ19hbGxvY190YWJs ZV9mcm9tX3BhZ2VzIC0gQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJvbQot ICoJCQkgICAgICAgYW4gYXJyYXkgb2YgcGFnZXMKLSAqIEBzZ3Q6CVRoZSBzZyB0YWJsZSBoZWFk ZXIgdG8gdXNlCi0gKiBAcGFnZXM6CVBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgcGFnZSBwb2ludGVy cwotICogQG5fcGFnZXM6CU51bWJlciBvZiBwYWdlcyBpbiB0aGUgcGFnZXMgYXJyYXkKLSAqIEBv ZmZzZXQ6ICAgICBPZmZzZXQgZnJvbSBzdGFydCBvZiB0aGUgZmlyc3QgcGFnZSB0byB0aGUgc3Rh cnQgb2YgYSBidWZmZXIKLSAqIEBzaXplOiAgICAgICBOdW1iZXIgb2YgdmFsaWQgYnl0ZXMgaW4g dGhlIGJ1ZmZlciAoYWZ0ZXIgb2Zmc2V0KQotICogQGdmcF9tYXNrOglHRlAgYWxsb2NhdGlvbiBt YXNrCisgKiBfX3NnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMgLSBBbGxvY2F0ZSBhbmQgaW5pdGlh bGl6ZSBhbiBzZyB0YWJsZSBmcm9tCisgKgkJCSAgICAgICAgIGFuIGFycmF5IG9mIHBhZ2VzCisg KiBAc2d0OgkgVGhlIHNnIHRhYmxlIGhlYWRlciB0byB1c2UKKyAqIEBwYWdlczoJIFBvaW50ZXIg dG8gYW4gYXJyYXkgb2YgcGFnZSBwb2ludGVycworICogQG5fcGFnZXM6CSBOdW1iZXIgb2YgcGFn ZXMgaW4gdGhlIHBhZ2VzIGFycmF5CisgKiBAb2Zmc2V0OiAgICAgIE9mZnNldCBmcm9tIHN0YXJ0 IG9mIHRoZSBmaXJzdCBwYWdlIHRvIHRoZSBzdGFydCBvZiBhIGJ1ZmZlcgorICogQHNpemU6ICAg ICAgICBOdW1iZXIgb2YgdmFsaWQgYnl0ZXMgaW4gdGhlIGJ1ZmZlciAoYWZ0ZXIgb2Zmc2V0KQor ICogQG1heF9zZWdtZW50OiBNYXhpbXVtIHNpemUgb2YgYSBzY2F0dGVybGlzdCBub2RlIGluIGJ5 dGVzIChwYWdlIGFsaWduZWQpCisgKiBAZ2ZwX21hc2s6CSBHRlAgYWxsb2NhdGlvbiBtYXNrCiAg KgogICogIERlc2NyaXB0aW9uOgogICogICAgQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cg dGFibGUgZnJvbSBhIGxpc3Qgb2YgcGFnZXMuIENvbnRpZ3VvdXMKQEAgLTM4OSwxOCArMzkwLDIw IEBAIEVYUE9SVF9TWU1CT0woc2dfYWxsb2NfdGFibGUpOwogICogUmV0dXJuczoKICAqICAgMCBv biBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCiAgKi8KLWludCBzZ19hbGxvY190 YWJsZV9mcm9tX3BhZ2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0LAotCXN0cnVjdCBwYWdlICoqcGFn ZXMsIHVuc2lnbmVkIGludCBuX3BhZ2VzLAotCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVk IGxvbmcgc2l6ZSwKLQlnZnBfdCBnZnBfbWFzaykKK2ludCBfX3NnX2FsbG9jX3RhYmxlX2Zyb21f cGFnZXMoc3RydWN0IHNnX3RhYmxlICpzZ3QsIHN0cnVjdCBwYWdlICoqcGFnZXMsCisJCQkJdW5z aWduZWQgaW50IG5fcGFnZXMsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCQkJdW5zaWduZWQgbG9u ZyBzaXplLCB1bnNpZ25lZCBpbnQgbWF4X3NlZ21lbnQsCisJCQkJZ2ZwX3QgZ2ZwX21hc2spCiB7 Ci0JY29uc3QgdW5zaWduZWQgaW50IG1heF9zZWdtZW50ID0gU0NBVFRFUkxJU1RfTUFYX1NFR01F TlQ7CiAJdW5zaWduZWQgaW50IHNlZ19sZW4sIGNodW5rczsKIAl1bnNpZ25lZCBpbnQgaTsKIAl1 bnNpZ25lZCBpbnQgY3VyX3BhZ2U7CiAJaW50IHJldDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnM7 CiAKKwlpZiAoV0FSTl9PTighbWF4X3NlZ21lbnQgfHwgb2Zmc2V0X2luX3BhZ2UobWF4X3NlZ21l bnQpKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAkvKiBjb21wdXRlIG51bWJlciBvZiBjb250aWd1 b3VzIGNodW5rcyAqLwogCWNodW5rcyA9IDE7CiAJc2VnX2xlbiA9IFBBR0VfU0laRTsKQEAgLTQ0 NCw2ICs0NDcsMzUgQEAgaW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3Rh YmxlICpzZ3QsCiAKIAlyZXR1cm4gMDsKIH0KK0VYUE9SVF9TWU1CT0woX19zZ19hbGxvY190YWJs ZV9mcm9tX3BhZ2VzKTsKKworLyoqCisgKiBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzIC0gQWxs b2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJvbQorICoJCQkgICAgICAgYW4gYXJy YXkgb2YgcGFnZXMKKyAqIEBzZ3Q6CSBUaGUgc2cgdGFibGUgaGVhZGVyIHRvIHVzZQorICogQHBh Z2VzOgkgUG9pbnRlciB0byBhbiBhcnJheSBvZiBwYWdlIHBvaW50ZXJzCisgKiBAbl9wYWdlczoJ IE51bWJlciBvZiBwYWdlcyBpbiB0aGUgcGFnZXMgYXJyYXkKKyAqIEBvZmZzZXQ6ICAgICAgT2Zm c2V0IGZyb20gc3RhcnQgb2YgdGhlIGZpcnN0IHBhZ2UgdG8gdGhlIHN0YXJ0IG9mIGEgYnVmZmVy CisgKiBAc2l6ZTogICAgICAgIE51bWJlciBvZiB2YWxpZCBieXRlcyBpbiB0aGUgYnVmZmVyIChh ZnRlciBvZmZzZXQpCisgKiBAZ2ZwX21hc2s6CSBHRlAgYWxsb2NhdGlvbiBtYXNrCisgKgorICog IERlc2NyaXB0aW9uOgorICogICAgQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUg ZnJvbSBhIGxpc3Qgb2YgcGFnZXMuIENvbnRpZ3VvdXMKKyAqICAgIHJhbmdlcyBvZiB0aGUgcGFn ZXMgYXJlIHNxdWFzaGVkIGludG8gYSBzaW5nbGUgc2NhdHRlcmxpc3Qgbm9kZS4gQSB1c2VyCisg KiAgICBtYXkgcHJvdmlkZSBhbiBvZmZzZXQgYXQgYSBzdGFydCBhbmQgYSBzaXplIG9mIHZhbGlk IGRhdGEgaW4gYSBidWZmZXIKKyAqICAgIHNwZWNpZmllZCBieSB0aGUgcGFnZSBhcnJheS4gVGhl IHJldHVybmVkIHNnIHRhYmxlIGlzIHJlbGVhc2VkIGJ5CisgKiAgICBzZ19mcmVlX3RhYmxlLgor ICoKKyAqIFJldHVybnM6CisgKiAgIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24gZmFp bHVyZQorICovCitpbnQgc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUg KnNndCwgc3RydWN0IHBhZ2UgKipwYWdlcywKKwkJCSAgICAgIHVuc2lnbmVkIGludCBuX3BhZ2Vz LCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBzaXplLCBnZnBf dCBnZnBfbWFzaykKK3sKKwlyZXR1cm4gX19zZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHNndCwg cGFnZXMsIG5fcGFnZXMsIG9mZnNldCwgc2l6ZSwKKwkJCQkJICAgU0NBVFRFUkxJU1RfTUFYX1NF R01FTlQsIGdmcF9tYXNrKTsKK30KIEVYUE9SVF9TWU1CT0woc2dfYWxsb2NfdGFibGVfZnJvbV9w YWdlcyk7CiAKIHZvaWQgX19zZ19wYWdlX2l0ZXJfc3RhcnQoc3RydWN0IHNnX3BhZ2VfaXRlciAq cGl0ZXIsCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==