From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 4/4] drm/i915: Use __sg_alloc_table_from_pages for userptr allocations Date: Wed, 11 Jan 2017 09:00:38 +0000 Message-ID: <1484125238-2539-4-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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB2366E825 for ; Wed, 11 Jan 2017 09:00:51 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id r144so26620675wme.0 for ; Wed, 11 Jan 2017 01:00:51 -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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldpdGggdGhl IGFkZGl0aW9uIG9mIF9fc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyB3ZSBjYW4gY29udHJvbAp0 aGUgbWF4aW11bSBjb2FsbGVzY2luZyBzaXplIGFuZCBlbGltaW5hdGUgYSBzZXBhcmF0ZSBwYXRo IGZvcgphbGxvY2F0aW5nIGJhY2tpbmcgc3RvcmUgaGVyZS4KClNpbWlsYXIgdG8gODcxZGZiZDY3 ZDRlICgiZHJtL2k5MTU6IEFsbG93IGNvbXBhY3Rpb24gdXB0bwpTV0lPVExCIG1heCBzZWdtZW50 IHNpemUiKSB0aGlzIGVuYWJsZXMgbW9yZSBjb21wYWN0IHNnIGxpc3RzIHRvCmJlIGNyZWF0ZWQg YW5kIHNvIGhhcyBhIGJlbmVmaWNpYWwgZWZmZWN0IG9uIHdvcmtsb2FkcyB3aXRoIG1hbnkKYW5k L29yIGxhcmdlIG9iamVjdHMgb2YgdGhpcyBjbGFzcy4KCnYyOgogKiBSZW5hbWUgaGVscGVyIHRv IGk5MTVfc2dfc2VnbWVudF9zaXplIGFuZCBmaXggc3dpb3RsYiBvdmVycmlkZS4KICogQ29tbWl0 IG1lc3NhZ2UgdXBkYXRlLgoKdjM6CiAqIEFjdHVhbGx5IGluY2x1ZGUgdGhlIHN3aW90bGIgb3Zl cnJpZGUgZml4LgoKdjQ6CiAqIFJlZ3JvdXAgcGFyYW1ldGVycyBhIGJpdC4gKENocmlzIFdpbHNv bikKCnY1OgogKiBSZWJhc2UgZm9yIHN3aW90bGJfbWF4X3NlZ21lbnQuCiAqIEFkZCBETUEgbWFw IGZhaWx1cmUgaGFuZGxpbmcgYXMgaW4gYWJiMGRlYWNiNWE2CiAgICgiZHJtL2k5MTU6IEZhbGxi YWNrIHRvIHNpbmdsZSBQQUdFX1NJWkUgc2VnbWVudHMgZm9yIERNQSByZW1hcHBpbmciKS4KClNp Z25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNj OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmcKUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPiAodjQpCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgIHwgMTAgKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICB8ICA2ICstLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIHwgNzkg KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQwIGlu c2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDJiMzI1MDMyZmVkYy4uYTk0NGZmMGM1YzY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAg LTI1OTQsNiArMjU5NCwxNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBzY2F0dGVybGlzdCAqX19z Z19uZXh0KHN0cnVjdCBzY2F0dGVybGlzdCAqc2cpCiAJICAgICAoKChfX2l0ZXIpLmN1cnIgKz0g UEFHRV9TSVpFKSA8IChfX2l0ZXIpLm1heCkgfHwJCVwKIAkgICAgICgoX19pdGVyKSA9IF9fc2d0 X2l0ZXIoX19zZ19uZXh0KChfX2l0ZXIpLnNncCksIGZhbHNlKSwgMCkpCiAKK3N0YXRpYyBpbmxp bmUgdW5zaWduZWQgaW50IGk5MTVfc2dfc2VnbWVudF9zaXplKHZvaWQpCit7CisJdW5zaWduZWQg aW50IHNpemUgPSBzd2lvdGxiX21heF9zZWdtZW50KCk7CisKKwlpZiAoc2l6ZSA9PSAwKQorCQlz aXplID0gVUlOVF9NQVg7CisKKwlyZXR1cm4gcm91bmRkb3duKHNpemUsIFBBR0VfU0laRSk7Cit9 CisKIHN0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvICoKIGludGVs X2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKaW5kZXggMTNjMDIwMTU3MDljLi40MjE4MjcwNjlhMmYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwpAQCAtMjI0OCw3ICsyMjQ4LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2dl dF9wYWdlc19ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlzdHJ1Y3Qgc2d0 X2l0ZXIgc2d0X2l0ZXI7CiAJc3RydWN0IHBhZ2UgKnBhZ2U7CiAJdW5zaWduZWQgbG9uZyBsYXN0 X3BmbiA9IDA7CS8qIHN1cHByZXNzIGdjYyB3YXJuaW5nICovCi0JdW5zaWduZWQgaW50IG1heF9z ZWdtZW50OworCXVuc2lnbmVkIGludCBtYXhfc2VnbWVudCA9IGk5MTVfc2dfc2VnbWVudF9zaXpl KCk7CiAJaW50IHJldDsKIAlnZnBfdCBnZnA7CiAKQEAgLTIyNTksMTAgKzIyNTksNiBAQCBpOTE1 X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2d0dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQogCUdFTV9CVUdfT04ob2JqLT5iYXNlLnJlYWRfZG9tYWlucyAmIEk5MTVfR0VNX0dQVV9ET01B SU5TKTsKIAlHRU1fQlVHX09OKG9iai0+YmFzZS53cml0ZV9kb21haW4gJiBJOTE1X0dFTV9HUFVf RE9NQUlOUyk7CiAKLQltYXhfc2VnbWVudCA9IHN3aW90bGJfbWF4X3NlZ21lbnQoKTsKLQlpZiAo IW1heF9zZWdtZW50KQotCQltYXhfc2VnbWVudCA9IHJvdW5kZG93bihVSU5UX01BWCwgUEFHRV9T SVpFKTsKLQogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHN0 ID09IE5VTEwpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4IDZhOGZhMDg1Yjc0ZS4uOTViNjJiOWM1Y2Q2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCkBAIC0zOTAsNjQgKzM5MCw0MiBA QCBzdHJ1Y3QgZ2V0X3BhZ2VzX3dvcmsgewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKIH07 CiAKLSNpZiBJU19FTkFCTEVEKENPTkZJR19TV0lPVExCKQotI2RlZmluZSBzd2lvdGxiX2FjdGl2 ZSgpIHN3aW90bGJfbnJfdGJsKCkKLSNlbHNlCi0jZGVmaW5lIHN3aW90bGJfYWN0aXZlKCkgMAot I2VuZGlmCi0KLXN0YXRpYyBpbnQKLXN0X3NldF9wYWdlcyhzdHJ1Y3Qgc2dfdGFibGUgKipzdCwg c3RydWN0IHBhZ2UgKipwdmVjLCBpbnQgbnVtX3BhZ2VzKQotewotCXN0cnVjdCBzY2F0dGVybGlz dCAqc2c7Ci0JaW50IHJldCwgbjsKLQotCSpzdCA9IGttYWxsb2Moc2l6ZW9mKCoqc3QpLCBHRlBf S0VSTkVMKTsKLQlpZiAoKnN0ID09IE5VTEwpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaWYgKHN3 aW90bGJfYWN0aXZlKCkpIHsKLQkJcmV0ID0gc2dfYWxsb2NfdGFibGUoKnN0LCBudW1fcGFnZXMs IEdGUF9LRVJORUwpOwotCQlpZiAocmV0KQotCQkJZ290byBlcnI7Ci0KLQkJZm9yX2VhY2hfc2co KCpzdCktPnNnbCwgc2csIG51bV9wYWdlcywgbikKLQkJCXNnX3NldF9wYWdlKHNnLCBwdmVjW25d LCBQQUdFX1NJWkUsIDApOwotCX0gZWxzZSB7Ci0JCXJldCA9IHNnX2FsbG9jX3RhYmxlX2Zyb21f cGFnZXMoKnN0LCBwdmVjLCBudW1fcGFnZXMsCi0JCQkJCQkwLCBudW1fcGFnZXMgPDwgUEFHRV9T SElGVCwKLQkJCQkJCUdGUF9LRVJORUwpOwotCQlpZiAocmV0KQotCQkJZ290byBlcnI7Ci0JfQot Ci0JcmV0dXJuIDA7Ci0KLWVycjoKLQlrZnJlZSgqc3QpOwotCSpzdCA9IE5VTEw7Ci0JcmV0dXJu IHJldDsKLX0KLQogc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqCi1fX2k5MTVfZ2VtX3VzZXJwdHJf c2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkgICAgIHN0cnVj dCBwYWdlICoqcHZlYywgaW50IG51bV9wYWdlcykKK19faTkxNV9nZW1fdXNlcnB0cl9hbGxvY19w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAorCQkJICAgICAgIHN0cnVjdCBw YWdlICoqcHZlYywgaW50IG51bV9wYWdlcykKIHsKLQlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwor CXVuc2lnbmVkIGludCBtYXhfc2VnbWVudCA9IGk5MTVfc2dfc2VnbWVudF9zaXplKCk7CisJc3Ry dWN0IHNnX3RhYmxlICpzdDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gc3Rfc2V0X3BhZ2VzKCZwYWdl cywgcHZlYywgbnVtX3BhZ2VzKTsKLQlpZiAocmV0KQorCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0 KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzdCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisK K2FsbG9jX3RhYmxlOgorCXJldCA9IF9fc2dfYWxsb2NfdGFibGVfZnJvbV9wYWdlcyhzdCwgcHZl YywgbnVtX3BhZ2VzLAorCQkJCQkgIDAsIG51bV9wYWdlcyA8PCBQQUdFX1NISUZULAorCQkJCQkg IG1heF9zZWdtZW50LAorCQkJCQkgIEdGUF9LRVJORUwpOworCWlmIChyZXQpIHsKKwkJa2ZyZWUo c3QpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOworCX0KIAotCXJldCA9IGk5MTVfZ2VtX2d0dF9w cmVwYXJlX3BhZ2VzKG9iaiwgcGFnZXMpOworCXJldCA9IGk5MTVfZ2VtX2d0dF9wcmVwYXJlX3Bh Z2VzKG9iaiwgc3QpOwogCWlmIChyZXQpIHsKLQkJc2dfZnJlZV90YWJsZShwYWdlcyk7Ci0JCWtm cmVlKHBhZ2VzKTsKKwkJc2dfZnJlZV90YWJsZShzdCk7CisKKwkJaWYgKG1heF9zZWdtZW50ID4g UEFHRV9TSVpFKSB7CisJCQltYXhfc2VnbWVudCA9IFBBR0VfU0laRTsKKwkJCWdvdG8gYWxsb2Nf dGFibGU7CisJCX0KKworCQlrZnJlZShzdCk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQog Ci0JcmV0dXJuIHBhZ2VzOworCXJldHVybiBzdDsKIH0KIAogc3RhdGljIGludApAQCAtNTMxLDcg KzUwOSw4IEBAIF9faTkxNV9nZW1fdXNlcnB0cl9nZXRfcGFnZXNfd29ya2VyKHN0cnVjdCB3b3Jr X3N0cnVjdCAqX3dvcmspCiAJCXN0cnVjdCBzZ190YWJsZSAqcGFnZXMgPSBFUlJfUFRSKHJldCk7 CiAKIAkJaWYgKHBpbm5lZCA9PSBucGFnZXMpIHsKLQkJCXBhZ2VzID0gX19pOTE1X2dlbV91c2Vy cHRyX3NldF9wYWdlcyhvYmosIHB2ZWMsIG5wYWdlcyk7CisJCQlwYWdlcyA9IF9faTkxNV9nZW1f dXNlcnB0cl9hbGxvY19wYWdlcyhvYmosIHB2ZWMsCisJCQkJCQkJICAgICAgIG5wYWdlcyk7CiAJ CQlpZiAoIUlTX0VSUihwYWdlcykpIHsKIAkJCQlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMo b2JqLCBwYWdlcyk7CiAJCQkJcGlubmVkID0gMDsKQEAgLTY1Myw3ICs2MzIsNyBAQCBpOTE1X2dl bV91c2VycHRyX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWVs c2UgaWYgKHBpbm5lZCA8IG51bV9wYWdlcykKIAkJcGFnZXMgPSBfX2k5MTVfZ2VtX3VzZXJwdHJf Z2V0X3BhZ2VzX3NjaGVkdWxlKG9iaiwgJmFjdGl2ZSk7CiAJZWxzZQotCQlwYWdlcyA9IF9faTkx NV9nZW1fdXNlcnB0cl9zZXRfcGFnZXMob2JqLCBwdmVjLCBudW1fcGFnZXMpOworCQlwYWdlcyA9 IF9faTkxNV9nZW1fdXNlcnB0cl9hbGxvY19wYWdlcyhvYmosIHB2ZWMsIG51bV9wYWdlcyk7CiAJ aWYgKElTX0VSUihwYWdlcykpIHsKIAkJX19pOTE1X2dlbV91c2VycHRyX3NldF9hY3RpdmUob2Jq LCBhY3RpdmUpOwogCQlyZWxlYXNlX3BhZ2VzKHB2ZWMsIHBpbm5lZCwgMCk7Ci0tIAoyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==