From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 3/5] lib/scatterlist: Introduce and export __sg_alloc_table_from_pages Date: Mon, 31 Jul 2017 19:55:10 +0100 Message-ID: <20170731185512.20010-3-tvrtko.ursulin@linux.intel.com> References: <20170731185512.20010-1-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-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id B50B26E9BE for ; Mon, 31 Jul 2017 18:55:23 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id y67so31510235wrb.3 for ; Mon, 31 Jul 2017 11:55:23 -0700 (PDT) In-Reply-To: <20170731185512.20010-1-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 bmVkLgp2NTogUmViYXNlLgp2NjogUmViYXNlLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRh Lm1hc2FoaXJvQHNvY2lvbmV4dC5jb20+CkNjOiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3Jn CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSm9vbmFzIExhaHRp bmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGluY2x1ZGUvbGludXgv c2NhdHRlcmxpc3QuaCB8IDExICsrKysrLS0tLQogbGliL3NjYXR0ZXJsaXN0LmMgICAgICAgICAg IHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAyIGZp bGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaCBiL2luY2x1ZGUvbGludXgvc2NhdHRlcmxp c3QuaAppbmRleCA2ZGQyZGRiYzYyMzAuLjg3NGI1MGMyMzJkZSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9saW51eC9zY2F0dGVybGlzdC5oCisrKyBiL2luY2x1ZGUvbGludXgvc2NhdHRlcmxpc3QuaApA QCAtMjY3LDEwICsyNjcsMTMgQEAgdm9pZCBzZ19mcmVlX3RhYmxlKHN0cnVjdCBzZ190YWJsZSAq KTsKIGludCBfX3NnX2FsbG9jX3RhYmxlKHN0cnVjdCBzZ190YWJsZSAqLCB1bnNpZ25lZCBpbnQs IHVuc2lnbmVkIGludCwKIAkJICAgICBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKiwgZ2ZwX3QsIHNnX2Fs bG9jX2ZuICopOwogaW50IHNnX2FsbG9jX3RhYmxlKHN0cnVjdCBzZ190YWJsZSAqLCB1bnNpZ25l ZCBpbnQsIGdmcF90KTsKLWludCBzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHN0cnVjdCBzZ190 YWJsZSAqc2d0LAotCXN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIGludCBuX3BhZ2VzLAot CXVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKLQlnZnBfdCBnZnBfbWFz ayk7CitpbnQgX19zZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0 LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAorCQkJCXVuc2lnbmVkIGludCBuX3BhZ2VzLCB1bnNpZ25l ZCBpbnQgb2Zmc2V0LAorCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgaW50IG1heF9z ZWdtZW50LAorCQkJCWdmcF90IGdmcF9tYXNrKTsKK2ludCBzZ19hbGxvY190YWJsZV9mcm9tX3Bh Z2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAorCQkJICAgICAg dW5zaWduZWQgaW50IG5fcGFnZXMsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCQkgICAgICB1bnNp Z25lZCBsb25nIHNpemUsIGdmcF90IGdmcF9tYXNrKTsKIAogc2l6ZV90IHNnX2NvcHlfYnVmZmVy KHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsLCB1bnNpZ25lZCBpbnQgbmVudHMsIHZvaWQgKmJ1ZiwK IAkJICAgICAgc2l6ZV90IGJ1Zmxlbiwgb2ZmX3Qgc2tpcCwgYm9vbCB0b19idWZmZXIpOwpkaWZm IC0tZ2l0IGEvbGliL3NjYXR0ZXJsaXN0LmMgYi9saWIvc2NhdHRlcmxpc3QuYwppbmRleCA3YjJl NzRkYTJjNDQuLjFhNTkwMGY5YTA1NyAxMDA2NDQKLS0tIGEvbGliL3NjYXR0ZXJsaXN0LmMKKysr IGIvbGliL3NjYXR0ZXJsaXN0LmMKQEAgLTM3MCwxNCArMzcwLDE1IEBAIGludCBzZ19hbGxvY190 YWJsZShzdHJ1Y3Qgc2dfdGFibGUgKnRhYmxlLCB1bnNpZ25lZCBpbnQgbmVudHMsIGdmcF90IGdm cF9tYXNrKQogRVhQT1JUX1NZTUJPTChzZ19hbGxvY190YWJsZSk7CiAKIC8qKgotICogc2dfYWxs b2NfdGFibGVfZnJvbV9wYWdlcyAtIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIGFuIHNnIHRhYmxl IGZyb20KLSAqCQkJICAgICAgIGFuIGFycmF5IG9mIHBhZ2VzCi0gKiBAc2d0OglUaGUgc2cgdGFi bGUgaGVhZGVyIHRvIHVzZQotICogQHBhZ2VzOglQb2ludGVyIHRvIGFuIGFycmF5IG9mIHBhZ2Ug cG9pbnRlcnMKLSAqIEBuX3BhZ2VzOglOdW1iZXIgb2YgcGFnZXMgaW4gdGhlIHBhZ2VzIGFycmF5 Ci0gKiBAb2Zmc2V0OiAgICAgT2Zmc2V0IGZyb20gc3RhcnQgb2YgdGhlIGZpcnN0IHBhZ2UgdG8g dGhlIHN0YXJ0IG9mIGEgYnVmZmVyCi0gKiBAc2l6ZTogICAgICAgTnVtYmVyIG9mIHZhbGlkIGJ5 dGVzIGluIHRoZSBidWZmZXIgKGFmdGVyIG9mZnNldCkKLSAqIEBnZnBfbWFzazoJR0ZQIGFsbG9j YXRpb24gbWFzaworICogX19zZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzIC0gQWxsb2NhdGUgYW5k IGluaXRpYWxpemUgYW4gc2cgdGFibGUgZnJvbQorICoJCQkgICAgICAgICBhbiBhcnJheSBvZiBw YWdlcworICogQHNndDoJIFRoZSBzZyB0YWJsZSBoZWFkZXIgdG8gdXNlCisgKiBAcGFnZXM6CSBQ b2ludGVyIHRvIGFuIGFycmF5IG9mIHBhZ2UgcG9pbnRlcnMKKyAqIEBuX3BhZ2VzOgkgTnVtYmVy IG9mIHBhZ2VzIGluIHRoZSBwYWdlcyBhcnJheQorICogQG9mZnNldDogICAgICBPZmZzZXQgZnJv bSBzdGFydCBvZiB0aGUgZmlyc3QgcGFnZSB0byB0aGUgc3RhcnQgb2YgYSBidWZmZXIKKyAqIEBz aXplOiAgICAgICAgTnVtYmVyIG9mIHZhbGlkIGJ5dGVzIGluIHRoZSBidWZmZXIgKGFmdGVyIG9m ZnNldCkKKyAqIEBtYXhfc2VnbWVudDogTWF4aW11bSBzaXplIG9mIGEgc2NhdHRlcmxpc3Qgbm9k ZSBpbiBieXRlcyAocGFnZSBhbGlnbmVkKQorICogQGdmcF9tYXNrOgkgR0ZQIGFsbG9jYXRpb24g bWFzawogICoKICAqICBEZXNjcmlwdGlvbjoKICAqICAgIEFsbG9jYXRlIGFuZCBpbml0aWFsaXpl IGFuIHNnIHRhYmxlIGZyb20gYSBsaXN0IG9mIHBhZ2VzLiBDb250aWd1b3VzCkBAIC0zODksMTYg KzM5MCwxOCBAQCBFWFBPUlRfU1lNQk9MKHNnX2FsbG9jX3RhYmxlKTsKICAqIFJldHVybnM6CiAg KiAgIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3Igb24gZmFpbHVyZQogICovCi1pbnQgc2df YWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKLQlzdHJ1Y3QgcGFn ZSAqKnBhZ2VzLCB1bnNpZ25lZCBpbnQgbl9wYWdlcywKLQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1 bnNpZ25lZCBsb25nIHNpemUsCi0JZ2ZwX3QgZ2ZwX21hc2spCitpbnQgX19zZ19hbGxvY190YWJs ZV9mcm9tX3BhZ2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAor CQkJCXVuc2lnbmVkIGludCBuX3BhZ2VzLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAorCQkJCXVuc2ln bmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgaW50IG1heF9zZWdtZW50LAorCQkJCWdmcF90IGdmcF9t YXNrKQogewotCWNvbnN0IHVuc2lnbmVkIGludCBtYXhfc2VnbWVudCA9IFNDQVRURVJMSVNUX01B WF9TRUdNRU5UOwogCXVuc2lnbmVkIGludCBjaHVua3MsIGN1cl9wYWdlLCBzZWdfbGVuLCBpOwog CWludCByZXQ7CiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOwogCisJaWYgKFdBUk5fT04oIW1heF9z ZWdtZW50IHx8IG9mZnNldF9pbl9wYWdlKG1heF9zZWdtZW50KSkpCisJCXJldHVybiAtRUlOVkFM OworCiAJLyogY29tcHV0ZSBudW1iZXIgb2YgY29udGlndW91cyBjaHVua3MgKi8KIAljaHVua3Mg PSAxOwogCXNlZ19sZW4gPSAwOwpAQCAtNDQwLDYgKzQ0MywzNSBAQCBpbnQgc2dfYWxsb2NfdGFi bGVfZnJvbV9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKnNndCwKIAogCXJldHVybiAwOwogfQorRVhQ T1JUX1NZTUJPTChfX3NnX2FsbG9jX3RhYmxlX2Zyb21fcGFnZXMpOworCisvKioKKyAqIHNnX2Fs bG9jX3RhYmxlX2Zyb21fcGFnZXMgLSBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBhbiBzZyB0YWJs ZSBmcm9tCisgKgkJCSAgICAgICBhbiBhcnJheSBvZiBwYWdlcworICogQHNndDoJIFRoZSBzZyB0 YWJsZSBoZWFkZXIgdG8gdXNlCisgKiBAcGFnZXM6CSBQb2ludGVyIHRvIGFuIGFycmF5IG9mIHBh Z2UgcG9pbnRlcnMKKyAqIEBuX3BhZ2VzOgkgTnVtYmVyIG9mIHBhZ2VzIGluIHRoZSBwYWdlcyBh cnJheQorICogQG9mZnNldDogICAgICBPZmZzZXQgZnJvbSBzdGFydCBvZiB0aGUgZmlyc3QgcGFn ZSB0byB0aGUgc3RhcnQgb2YgYSBidWZmZXIKKyAqIEBzaXplOiAgICAgICAgTnVtYmVyIG9mIHZh bGlkIGJ5dGVzIGluIHRoZSBidWZmZXIgKGFmdGVyIG9mZnNldCkKKyAqIEBnZnBfbWFzazoJIEdG UCBhbGxvY2F0aW9uIG1hc2sKKyAqCisgKiAgRGVzY3JpcHRpb246CisgKiAgICBBbGxvY2F0ZSBh bmQgaW5pdGlhbGl6ZSBhbiBzZyB0YWJsZSBmcm9tIGEgbGlzdCBvZiBwYWdlcy4gQ29udGlndW91 cworICogICAgcmFuZ2VzIG9mIHRoZSBwYWdlcyBhcmUgc3F1YXNoZWQgaW50byBhIHNpbmdsZSBz Y2F0dGVybGlzdCBub2RlLiBBIHVzZXIKKyAqICAgIG1heSBwcm92aWRlIGFuIG9mZnNldCBhdCBh IHN0YXJ0IGFuZCBhIHNpemUgb2YgdmFsaWQgZGF0YSBpbiBhIGJ1ZmZlcgorICogICAgc3BlY2lm aWVkIGJ5IHRoZSBwYWdlIGFycmF5LiBUaGUgcmV0dXJuZWQgc2cgdGFibGUgaXMgcmVsZWFzZWQg YnkKKyAqICAgIHNnX2ZyZWVfdGFibGUuCisgKgorICogUmV0dXJuczoKKyAqICAgMCBvbiBzdWNj ZXNzLCBuZWdhdGl2ZSBlcnJvciBvbiBmYWlsdXJlCisgKi8KK2ludCBzZ19hbGxvY190YWJsZV9m cm9tX3BhZ2VzKHN0cnVjdCBzZ190YWJsZSAqc2d0LCBzdHJ1Y3QgcGFnZSAqKnBhZ2VzLAorCQkJ ICAgICAgdW5zaWduZWQgaW50IG5fcGFnZXMsIHVuc2lnbmVkIGludCBvZmZzZXQsCisJCQkgICAg ICB1bnNpZ25lZCBsb25nIHNpemUsIGdmcF90IGdmcF9tYXNrKQoreworCXJldHVybiBfX3NnX2Fs bG9jX3RhYmxlX2Zyb21fcGFnZXMoc2d0LCBwYWdlcywgbl9wYWdlcywgb2Zmc2V0LCBzaXplLAor CQkJCQkgICBTQ0FUVEVSTElTVF9NQVhfU0VHTUVOVCwgZ2ZwX21hc2spOworfQogRVhQT1JUX1NZ TUJPTChzZ19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKTsKIAogdm9pZCBfX3NnX3BhZ2VfaXRlcl9z dGFydChzdHJ1Y3Qgc2dfcGFnZV9pdGVyICpwaXRlciwKLS0gCjIuOS40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK