From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/4] lib/scatterlist: Introduce and export __sg_alloc_table_from_pages Date: Wed, 11 Jan 2017 09:00:37 +0000 Message-ID: <1484125238-2539-3-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-wj0-x243.google.com (mail-wj0-x243.google.com [IPv6:2a00:1450:400c:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4F22C6E825 for ; Wed, 11 Jan 2017 09:00:50 +0000 (UTC) Received: by mail-wj0-x243.google.com with SMTP id dh1so9568426wjb.3 for ; Wed, 11 Jan 2017 01:00:50 -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: Masahiro Yamada , linux-kernel@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkRyaXZlcnMg bGlrZSBpOTE1IGJlbmVmaXQgZnJvbSBiZWluZyBhYmxlIHRvIGNvbnRyb2wgdGhlIG1heGl1bQpz aXplIG9mIHRoZSBzZyBjb2FsbGVzY2VkIHNlZ21lbnQgd2hpbGUgYnVpbGRpbmcgdGhlIHNjYXR0 ZXItCmdhdGhlciBsaXN0LgoKSW50cm9kdWNlIGFuZCBleHBvcnQgdGhlIF9fc2dfYWxsb2NfdGFi bGVfZnJvbV9wYWdlcyBmdW5jdGlvbgp3aGljaCB3aWxsIGFsbG93IGl0IHRoYXQgY29udHJvbC4K CnYyOiBSZW9yZGVyIHBhcmFtZXRlcnMuIChDaHJpcyBXaWxzb24pCnYzOiBGaXggaW5jb21wbGV0 ZSByZW9yZGVyaW5nIGluIHYyLgp2NDogbWF4X3NlZ21lbnQgbmVlZHMgdG8gYmUgcGFnZSBhbGln bmVkLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KQ2M6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJvQHNvY2lvbmV4dC5jb20+ CkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCkNjOiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPiAodjIpCi0tLQogaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oIHwg MTEgKysrKysrLS0tCiBsaWIvc2NhdHRlcmxpc3QuYyAgICAgICAgICAgfCA1OSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTMg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9zY2F0dGVybGlzdC5oIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCmluZGV4IGM5ODFi ZWUxYTNhZS4uMTZiNzQwYWZlZWQyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3NjYXR0ZXJs aXN0LmgKKysrIGIvaW5jbHVkZS9saW51eC9zY2F0dGVybGlzdC5oCkBAIC0yNjEsMTAgKzI2MSwx MyBAQCB2b2lkIHNnX2ZyZWVfdGFibGUoc3RydWN0IHNnX3RhYmxlICopOwogaW50IF9fc2dfYWxs b2NfdGFibGUoc3RydWN0IHNnX3RhYmxlICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50LAog CQkgICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqLCBnZnBfdCwgc2dfYWxsb2NfZm4gKik7CiBpbnQg c2dfYWxsb2NfdGFibGUoc3RydWN0IHNnX3RhYmxlICosIHVuc2lnbmVkIGludCwgZ2ZwX3QpOwot aW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3RhYmxlICpzZ3QsCi0Jc3Ry dWN0IHBhZ2UgKipwYWdlcywgdW5zaWduZWQgaW50IG5fcGFnZXMsCi0JdW5zaWduZWQgaW50IG9m ZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAotCWdmcF90IGdmcF9tYXNrKTsKK2ludCBfX3NnX2Fs bG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3RhYmxlICpzZ3QsIHN0cnVjdCBwYWdlICoq cGFnZXMsCisJCQkJdW5zaWduZWQgaW50IG5fcGFnZXMsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJ CQkJdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBpbnQgbWF4X3NlZ21lbnQsCisJCQkJZ2Zw X3QgZ2ZwX21hc2spOworaW50IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3Rh YmxlICpzZ3QsIHN0cnVjdCBwYWdlICoqcGFnZXMsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgbl9w YWdlcywgdW5zaWduZWQgaW50IG9mZnNldCwKKwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwg Z2ZwX3QgZ2ZwX21hc2spOwogCiBzaXplX3Qgc2dfY29weV9idWZmZXIoc3RydWN0IHNjYXR0ZXJs aXN0ICpzZ2wsIHVuc2lnbmVkIGludCBuZW50cywgdm9pZCAqYnVmLAogCQkgICAgICBzaXplX3Qg YnVmbGVuLCBvZmZfdCBza2lwLCBib29sIHRvX2J1ZmZlcik7CmRpZmYgLS1naXQgYS9saWIvc2Nh dHRlcmxpc3QuYyBiL2xpYi9zY2F0dGVybGlzdC5jCmluZGV4IDRmYzU0ODAxY2QyOS4uZGYzNzVm ZjE4NTg3IDEwMDY0NAotLS0gYS9saWIvc2NhdHRlcmxpc3QuYworKysgYi9saWIvc2NhdHRlcmxp c3QuYwpAQCAtMzcwLDE0ICszNzAsMTUgQEAgaW50IHNnX2FsbG9jX3RhYmxlKHN0cnVjdCBzZ190 YWJsZSAqdGFibGUsIHVuc2lnbmVkIGludCBuZW50cywgZ2ZwX3QgZ2ZwX21hc2spCiBFWFBPUlRf U1lNQk9MKHNnX2FsbG9jX3RhYmxlKTsKIAogLyoqCi0gKiBzZ19hbGxvY190YWJsZV9mcm9tX3Bh Z2VzIC0gQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJvbQotICoJCQkgICAg ICAgYW4gYXJyYXkgb2YgcGFnZXMKLSAqIEBzZ3Q6CVRoZSBzZyB0YWJsZSBoZWFkZXIgdG8gdXNl Ci0gKiBAcGFnZXM6CVBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgcGFnZSBwb2ludGVycwotICogQG5f cGFnZXM6CU51bWJlciBvZiBwYWdlcyBpbiB0aGUgcGFnZXMgYXJyYXkKLSAqIEBvZmZzZXQ6ICAg ICBPZmZzZXQgZnJvbSBzdGFydCBvZiB0aGUgZmlyc3QgcGFnZSB0byB0aGUgc3RhcnQgb2YgYSBi dWZmZXIKLSAqIEBzaXplOiAgICAgICBOdW1iZXIgb2YgdmFsaWQgYnl0ZXMgaW4gdGhlIGJ1ZmZl ciAoYWZ0ZXIgb2Zmc2V0KQotICogQGdmcF9tYXNrOglHRlAgYWxsb2NhdGlvbiBtYXNrCisgKiBf X3NnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMgLSBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhbiBz ZyB0YWJsZSBmcm9tCisgKgkJCSAgICAgICAgIGFuIGFycmF5IG9mIHBhZ2VzCisgKiBAc2d0Ogkg VGhlIHNnIHRhYmxlIGhlYWRlciB0byB1c2UKKyAqIEBwYWdlczoJIFBvaW50ZXIgdG8gYW4gYXJy YXkgb2YgcGFnZSBwb2ludGVycworICogQG5fcGFnZXM6CSBOdW1iZXIgb2YgcGFnZXMgaW4gdGhl IHBhZ2VzIGFycmF5CisgKiBAb2Zmc2V0OiAgICAgIE9mZnNldCBmcm9tIHN0YXJ0IG9mIHRoZSBm aXJzdCBwYWdlIHRvIHRoZSBzdGFydCBvZiBhIGJ1ZmZlcgorICogQHNpemU6ICAgICAgICBOdW1i ZXIgb2YgdmFsaWQgYnl0ZXMgaW4gdGhlIGJ1ZmZlciAoYWZ0ZXIgb2Zmc2V0KQorICogQG1heF9z ZWdtZW50OiBNYXhpbXVtIHNpemUgb2YgYSBzY2F0dGVybGlzdCBub2RlIGluIGJ5dGVzIChwYWdl IGFsaWduZWQpCisgKiBAZ2ZwX21hc2s6CSBHRlAgYWxsb2NhdGlvbiBtYXNrCiAgKgogICogIERl c2NyaXB0aW9uOgogICogICAgQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJv bSBhIGxpc3Qgb2YgcGFnZXMuIENvbnRpZ3VvdXMKQEAgLTM4OSwxOCArMzkwLDIwIEBAIEVYUE9S VF9TWU1CT0woc2dfYWxsb2NfdGFibGUpOwogICogUmV0dXJuczoKICAqICAgMCBvbiBzdWNjZXNz LCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCiAgKi8KLWludCBzZ19hbGxvY190YWJsZV9mcm9t X3BhZ2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0LAotCXN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2ln bmVkIGludCBuX3BhZ2VzLAotCXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6 ZSwKLQlnZnBfdCBnZnBfbWFzaykKK2ludCBfX3NnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3Ry dWN0IHNnX3RhYmxlICpzZ3QsIHN0cnVjdCBwYWdlICoqcGFnZXMsCisJCQkJdW5zaWduZWQgaW50 IG5fcGFnZXMsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCQkJdW5zaWduZWQgbG9uZyBzaXplLCB1 bnNpZ25lZCBpbnQgbWF4X3NlZ21lbnQsCisJCQkJZ2ZwX3QgZ2ZwX21hc2spCiB7Ci0JY29uc3Qg dW5zaWduZWQgaW50IG1heF9zZWdtZW50ID0gcm91bmRkb3duKFVJTlRfTUFYLCBQQUdFX1NJWkUp OwogCXVuc2lnbmVkIGludCBzZWdfbGVuLCBjaHVua3M7CiAJdW5zaWduZWQgaW50IGk7CiAJdW5z aWduZWQgaW50IGN1cl9wYWdlOwogCWludCByZXQ7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOwog CisJaWYgKFdBUk5fT04ob2Zmc2V0X2luX3BhZ2UobWF4X3NlZ21lbnQpKSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKIAkvKiBjb21wdXRlIG51bWJlciBvZiBjb250aWd1b3VzIGNodW5rcyAqLwogCWNo dW5rcyA9IDE7CiAJc2VnX2xlbiA9IFBBR0VfU0laRTsKQEAgLTQ0NCw2ICs0NDcsMzYgQEAgaW50 IHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMoc3RydWN0IHNnX3RhYmxlICpzZ3QsCiAKIAlyZXR1 cm4gMDsKIH0KK0VYUE9SVF9TWU1CT0woX19zZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKTsKKwor LyoqCisgKiBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzIC0gQWxsb2NhdGUgYW5kIGluaXRpYWxp emUgYW4gc2cgdGFibGUgZnJvbQorICoJCQkgICAgICAgYW4gYXJyYXkgb2YgcGFnZXMKKyAqIEBz Z3Q6CSBUaGUgc2cgdGFibGUgaGVhZGVyIHRvIHVzZQorICogQHBhZ2VzOgkgUG9pbnRlciB0byBh biBhcnJheSBvZiBwYWdlIHBvaW50ZXJzCisgKiBAbl9wYWdlczoJIE51bWJlciBvZiBwYWdlcyBp biB0aGUgcGFnZXMgYXJyYXkKKyAqIEBvZmZzZXQ6ICAgICAgT2Zmc2V0IGZyb20gc3RhcnQgb2Yg dGhlIGZpcnN0IHBhZ2UgdG8gdGhlIHN0YXJ0IG9mIGEgYnVmZmVyCisgKiBAc2l6ZTogICAgICAg IE51bWJlciBvZiB2YWxpZCBieXRlcyBpbiB0aGUgYnVmZmVyIChhZnRlciBvZmZzZXQpCisgKiBA Z2ZwX21hc2s6CSBHRlAgYWxsb2NhdGlvbiBtYXNrCisgKgorICogIERlc2NyaXB0aW9uOgorICog ICAgQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJvbSBhIGxpc3Qgb2YgcGFn ZXMuIENvbnRpZ3VvdXMKKyAqICAgIHJhbmdlcyBvZiB0aGUgcGFnZXMgYXJlIHNxdWFzaGVkIGlu dG8gYSBzaW5nbGUgc2NhdHRlcmxpc3Qgbm9kZS4gQSB1c2VyCisgKiAgICBtYXkgcHJvdmlkZSBh biBvZmZzZXQgYXQgYSBzdGFydCBhbmQgYSBzaXplIG9mIHZhbGlkIGRhdGEgaW4gYSBidWZmZXIK KyAqICAgIHNwZWNpZmllZCBieSB0aGUgcGFnZSBhcnJheS4gVGhlIHJldHVybmVkIHNnIHRhYmxl IGlzIHJlbGVhc2VkIGJ5CisgKiAgICBzZ19mcmVlX3RhYmxlLgorICoKKyAqIFJldHVybnM6Cisg KiAgIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24gZmFpbHVyZQorICovCitpbnQgc2df YWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKnNndCwgc3RydWN0IHBhZ2Ug KipwYWdlcywKKwkJCSAgICAgIHVuc2lnbmVkIGludCBuX3BhZ2VzLCB1bnNpZ25lZCBpbnQgb2Zm c2V0LAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBzaXplLCBnZnBfdCBnZnBfbWFzaykKK3sKKwly ZXR1cm4gX19zZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHNndCwgcGFnZXMsIG5fcGFnZXMsIG9m ZnNldCwgc2l6ZSwKKwkJCQkJICAgcm91bmRkb3duKFVJTlRfTUFYLCBQQUdFX1NJWkUpLAorCQkJ CQkgICBnZnBfbWFzayk7Cit9CiBFWFBPUlRfU1lNQk9MKHNnX2FsbG9jX3RhYmxlX2Zyb21fcGFn ZXMpOwogCiB2b2lkIF9fc2dfcGFnZV9pdGVyX3N0YXJ0KHN0cnVjdCBzZ19wYWdlX2l0ZXIgKnBp dGVyLAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=